diff options
author | Jonathan Marek <[email protected]> | 2020-06-27 21:50:17 -0400 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-06-28 16:32:08 +0000 |
commit | 7d31bc9a34ccc4b8570c4145379177c007922504 (patch) | |
tree | 08cb67c623f04d1be9124764d167b65650ae061d /src/freedreno/ir3/ir3_a6xx.c | |
parent | b1c16e52514fd9e66d3ac118f1ec32a83cbc5f2a (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.c | 4 |
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); |