aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno/ir3/ir3_a6xx.c
diff options
context:
space:
mode:
authorJonathan Marek <[email protected]>2020-06-27 21:50:17 -0400
committerMarge Bot <[email protected]>2020-06-28 16:32:08 +0000
commit7d31bc9a34ccc4b8570c4145379177c007922504 (patch)
tree08cb67c623f04d1be9124764d167b65650ae061d /src/freedreno/ir3/ir3_a6xx.c
parentb1c16e52514fd9e66d3ac118f1ec32a83cbc5f2a (diff)
freedreno/ir3: fix resinfo wrmask
resinfo always writes 3 components, which was not being taken into account Fixes these tests: dEQP-VK.renderpass.suballocation.attachment_sparse_filling.input_attachment_3 dEQP-VK.renderpass.suballocation.attachment_sparse_filling.input_attachment_7 Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5674>
Diffstat (limited to 'src/freedreno/ir3/ir3_a6xx.c')
-rw-r--r--src/freedreno/ir3/ir3_a6xx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/freedreno/ir3/ir3_a6xx.c b/src/freedreno/ir3/ir3_a6xx.c
index a8c6553a518..b10e1b95027 100644
--- a/src/freedreno/ir3/ir3_a6xx.c
+++ b/src/freedreno/ir3/ir3_a6xx.c
@@ -351,7 +351,9 @@ emit_intrinsic_image_size(struct ir3_context *ctx, nir_intrinsic_instr *intr,
resinfo->cat6.d = intr->num_components;
resinfo->cat6.type = TYPE_U32;
resinfo->cat6.typed = false;
- resinfo->regs[0]->wrmask = MASK(intr->num_components);
+ /* resinfo has no writemask and always writes out 3 components: */
+ compile_assert(ctx, intr->num_components <= 3);
+ resinfo->regs[0]->wrmask = MASK(3);
ir3_handle_bindless_cat6(resinfo, intr->src[0]);
ir3_split_dest(b, dst, resinfo, 0, intr->num_components);