mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 01:50:10 +01:00
panfrost: decode: Use pan_{unpack,print}() when applicable
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6797>
This commit is contained in:
parent
aa2670c7fb
commit
706974ce17
1 changed files with 19 additions and 30 deletions
|
|
@ -1044,15 +1044,16 @@ pandecode_attributes(const struct pandecode_mapped_memory *mem,
|
|||
MAP_ADDR(ATTRIBUTE_BUFFER, addr, cl);
|
||||
|
||||
for (int i = 0; i < count; ++i) {
|
||||
struct MALI_ATTRIBUTE_BUFFER temp;
|
||||
MALI_ATTRIBUTE_BUFFER_unpack(cl + i * MALI_ATTRIBUTE_BUFFER_LENGTH, &temp);
|
||||
pan_unpack(cl + i * MALI_ATTRIBUTE_BUFFER_LENGTH, ATTRIBUTE_BUFFER, temp);
|
||||
DUMP_UNPACKED(ATTRIBUTE_BUFFER, temp, "%s:\n", prefix);
|
||||
|
||||
if (temp.type == MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR) {
|
||||
struct MALI_ATTRIBUTE_BUFFER_CONTINUATION_NPOT temp2;
|
||||
MALI_ATTRIBUTE_BUFFER_CONTINUATION_NPOT_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_LENGTH, &temp2);
|
||||
MALI_ATTRIBUTE_BUFFER_CONTINUATION_NPOT_print(pandecode_dump_stream, &temp2, 2);
|
||||
}
|
||||
if (temp.type != MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR)
|
||||
continue;
|
||||
|
||||
pan_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_LENGTH,
|
||||
ATTRIBUTE_BUFFER_CONTINUATION_NPOT, temp2);
|
||||
pan_print(pandecode_dump_stream, ATTRIBUTE_BUFFER_CONTINUATION_NPOT,
|
||||
temp2, (pandecode_indent + 1) * 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1224,9 +1225,8 @@ pandecode_vertex_tiler_prefix(struct mali_vertex_tiler_prefix *p, int job_no, bo
|
|||
/* Decode invocation_count. See the comment before the definition of
|
||||
* invocation_count for an explanation.
|
||||
*/
|
||||
struct MALI_INVOCATION invocation;
|
||||
struct mali_invocation_packed invocation_packed = p->invocation;
|
||||
MALI_INVOCATION_unpack((const uint8_t *) &invocation_packed, &invocation);
|
||||
pan_unpack(&invocation_packed, INVOCATION, invocation);
|
||||
|
||||
unsigned size_x = bits(invocation.invocations, 0, invocation.size_y_shift) + 1;
|
||||
unsigned size_y = bits(invocation.invocations, invocation.size_y_shift, invocation.size_z_shift) + 1;
|
||||
|
|
@ -1257,9 +1257,8 @@ pandecode_vertex_tiler_prefix(struct mali_vertex_tiler_prefix *p, int job_no, bo
|
|||
size_x, size_y, size_z,
|
||||
groups_x, groups_y, groups_z);
|
||||
|
||||
struct MALI_PRIMITIVE primitive;
|
||||
struct mali_primitive_packed prim_packed = p->primitive;
|
||||
MALI_PRIMITIVE_unpack((const uint8_t *) &prim_packed, &primitive);
|
||||
pan_unpack(&prim_packed, PRIMITIVE, primitive);
|
||||
DUMP_UNPACKED(PRIMITIVE, primitive, "Primitive:\n");
|
||||
|
||||
/* Validate an index buffer is present if we need one. TODO: verify
|
||||
|
|
@ -1447,8 +1446,7 @@ pandecode_texture(mali_ptr u,
|
|||
struct pandecode_mapped_memory *mapped_mem = pandecode_find_mapped_gpu_mem_containing(u);
|
||||
const uint8_t *cl = pandecode_fetch_gpu_mem(mapped_mem, u, MALI_MIDGARD_TEXTURE_LENGTH);
|
||||
|
||||
struct MALI_MIDGARD_TEXTURE temp;
|
||||
MALI_MIDGARD_TEXTURE_unpack(cl, &temp);
|
||||
pan_unpack(cl, MIDGARD_TEXTURE, temp);
|
||||
DUMP_UNPACKED(MIDGARD_TEXTURE, temp, "Texture:\n")
|
||||
|
||||
pandecode_indent++;
|
||||
|
|
@ -1464,8 +1462,7 @@ pandecode_bifrost_texture(
|
|||
unsigned job_no,
|
||||
unsigned tex)
|
||||
{
|
||||
struct MALI_BIFROST_TEXTURE temp;
|
||||
MALI_BIFROST_TEXTURE_unpack(cl, &temp);
|
||||
pan_unpack(cl, BIFROST_TEXTURE, temp);
|
||||
DUMP_UNPACKED(BIFROST_TEXTURE, temp, "Texture:\n")
|
||||
|
||||
struct pandecode_mapped_memory *tmem = pandecode_find_mapped_gpu_mem_containing(temp.surfaces);
|
||||
|
|
@ -1626,11 +1623,7 @@ pandecode_vertex_tiler_postfix_pre(
|
|||
.uniform_buffer_count = 0
|
||||
};
|
||||
|
||||
struct MALI_STATE state;
|
||||
struct MALI_MIDGARD_PROPERTIES midg_props;
|
||||
struct MALI_BIFROST_PROPERTIES bi_props;
|
||||
|
||||
MALI_STATE_unpack((const uint8_t *) cl, &state);
|
||||
pan_unpack(cl, STATE, state);
|
||||
|
||||
if (state.shader.shader & ~0xF)
|
||||
info = pandecode_shader_disassemble(state.shader.shader & ~0xF, job_no, job_type, is_bifrost, gpu_id);
|
||||
|
|
@ -1646,13 +1639,13 @@ pandecode_vertex_tiler_postfix_pre(
|
|||
|
||||
fprintf(pandecode_dump_stream, " Properties\n");
|
||||
if (is_bifrost) {
|
||||
MALI_BIFROST_PROPERTIES_unpack((const uint8_t *) &state.properties, &bi_props);
|
||||
pan_unpack(&state.properties, BIFROST_PROPERTIES, bi_props);
|
||||
DUMP_UNPACKED(BIFROST_PROPERTIES, bi_props, "Properties:\n");
|
||||
|
||||
uniform_count = state.preload.uniform_count;
|
||||
uniform_buffer_count = bi_props.uniform_buffer_count;
|
||||
} else {
|
||||
MALI_MIDGARD_PROPERTIES_unpack((const uint8_t *) &state.properties, &midg_props);
|
||||
pan_unpack(&state.properties, MIDGARD_PROPERTIES, midg_props);
|
||||
DUMP_UNPACKED(MIDGARD_PROPERTIES, midg_props, "Properties:\n")
|
||||
|
||||
uniform_count = midg_props.uniform_count;
|
||||
|
|
@ -1887,10 +1880,9 @@ pandecode_vertex_job_bfr(const struct mali_job_descriptor_header *h,
|
|||
{
|
||||
struct bifrost_payload_vertex *PANDECODE_PTR_VAR(v, mem, payload);
|
||||
|
||||
struct MALI_DRAW draw;
|
||||
struct mali_draw_packed draw_packed;
|
||||
memcpy(&draw_packed, &v->postfix, sizeof(draw_packed));
|
||||
MALI_DRAW_unpack((const uint8_t *) &draw_packed, &draw); \
|
||||
pan_unpack(&draw_packed, DRAW, draw);
|
||||
pandecode_vertex_tiler_postfix_pre(&draw, job_no, h->job_type, "", true, gpu_id);
|
||||
|
||||
pandecode_vertex_tiler_prefix(&v->prefix, job_no, false);
|
||||
|
|
@ -1906,10 +1898,9 @@ pandecode_tiler_job_bfr(const struct mali_job_descriptor_header *h,
|
|||
{
|
||||
struct bifrost_payload_tiler *PANDECODE_PTR_VAR(t, mem, payload);
|
||||
|
||||
struct MALI_DRAW draw;
|
||||
struct mali_draw_packed draw_packed;
|
||||
memcpy(&draw_packed, &t->postfix, sizeof(draw_packed));
|
||||
MALI_DRAW_unpack((const uint8_t *) &draw_packed, &draw); \
|
||||
pan_unpack(&draw_packed, DRAW, draw);
|
||||
pandecode_vertex_tiler_postfix_pre(&draw, job_no, h->job_type, "", true, gpu_id);
|
||||
pandecode_tiler_meta(t->tiler_meta, job_no);
|
||||
|
||||
|
|
@ -1942,18 +1933,16 @@ pandecode_vertex_or_tiler_job_mdg(const struct mali_job_descriptor_header *h,
|
|||
struct midgard_payload_vertex_tiler *PANDECODE_PTR_VAR(v, mem, payload);
|
||||
bool is_graphics = (h->job_type == MALI_JOB_TYPE_VERTEX) || (h->job_type == MALI_JOB_TYPE_TILER);
|
||||
|
||||
struct MALI_DRAW draw;
|
||||
struct mali_draw_packed draw_packed;
|
||||
memcpy(&draw_packed, &v->postfix, sizeof(draw_packed));
|
||||
MALI_DRAW_unpack((const uint8_t *) &draw_packed, &draw); \
|
||||
pan_unpack(&draw_packed, DRAW, draw);
|
||||
pandecode_vertex_tiler_postfix_pre(&draw, job_no, h->job_type, "", false, gpu_id);
|
||||
|
||||
pandecode_vertex_tiler_prefix(&v->prefix, job_no, is_graphics);
|
||||
DUMP_CL(DRAW, &draw_packed, "Draw:\n");
|
||||
|
||||
struct MALI_PRIMITIVE primitive;
|
||||
struct mali_primitive_packed prim_packed = v->prefix.primitive;
|
||||
MALI_PRIMITIVE_unpack((const uint8_t *) &prim_packed, &primitive);
|
||||
pan_unpack(&prim_packed, PRIMITIVE, primitive);
|
||||
|
||||
pandecode_primitive_size(v->primitive_size, primitive.point_size_array == 0);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue