Commit 38db0efc authored by Alyssa Rosenzweig's avatar Alyssa Rosenzweig 💜

Identify work register field

parent a1b8700a
......@@ -71,8 +71,9 @@ struct mali_shader_meta {
u16 varying_count;
/* Format here is very weird and only partially understood, but in a 32-bit hex word:
* .XX..... is the known format, where X is the whole number of uniform
* registers used, times two. The other bits are unknown but nonzero.
* .XXY.... is the known format, where X is the whole number of uniform
* registers used, times two. Y is the number of work registers used
* (no scale). The other bits are unknown but nonzero.
*/
u32 uniform_registers;
......
......@@ -278,8 +278,9 @@ void panwrap_replay_vertex_or_tiler_job(const struct mali_job_descriptor_header
varying_count = s->varying_count;
uniform_count = (s->uniform_registers >> 20) & 0xFF;
/* Structure is still mostly unknown, unfortunately */
panwrap_prop("uniform_registers = (%d << 20) | 0x%" PRIx32, uniform_count, s->uniform_registers & ~0x0FF00000);
/* Structure is still somewhat unknown, unfortunately */
int work_register_count = (s->uniform_registers >> 16) & 0xF;
panwrap_prop("uniform_registers = (%d << 20) | (%d << 16) | 0x%" PRIx32, uniform_count, work_register_count, s->uniform_registers & ~0x0FFF0000);
/* WTF? */
panwrap_prop("unknown2_0 = 0x%" PRIx32, s->unknown2_0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment