Mesa (main): ir3/freedreno: handle non-uniform resinfo
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Oct 12 18:04:38 UTC 2021
Module: Mesa
Branch: main
Commit: f0d469e85fe1fe2f19a72114cdb4dd916732993b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0d469e85fe1fe2f19a72114cdb4dd916732993b
Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date: Tue Oct 12 16:37:07 2021 +0300
ir3/freedreno: handle non-uniform resinfo
We forgot to handle non-uniform resinfo case.
Fixes vkd3d test "test_bindless_bufinfo_sm51"
Signed-off-by: Danylo Piliaiev <dpiliaiev at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13311>
---
src/freedreno/ir3/ir3_a6xx.c | 1 +
src/freedreno/ir3/ir3_compiler_nir.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/freedreno/ir3/ir3_a6xx.c b/src/freedreno/ir3/ir3_a6xx.c
index 95625587b09..ae979232476 100644
--- a/src/freedreno/ir3/ir3_a6xx.c
+++ b/src/freedreno/ir3/ir3_a6xx.c
@@ -359,6 +359,7 @@ emit_intrinsic_image_size(struct ir3_context *ctx, nir_intrinsic_instr *intr,
compile_assert(ctx, intr->num_components <= 3);
resinfo->dsts[0]->wrmask = MASK(3);
ir3_handle_bindless_cat6(resinfo, intr->src[0]);
+ ir3_handle_nonuniform(resinfo, intr);
ir3_split_dest(b, dst, resinfo, 0, intr->num_components);
}
diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c
index bdff4c1bc45..d3fe7a69342 100644
--- a/src/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/freedreno/ir3/ir3_compiler_nir.c
@@ -865,6 +865,7 @@ emit_intrinsic_ssbo_size(struct ir3_context *ctx, nir_intrinsic_instr *intr,
/* resinfo has no writemask and always writes out 3 components */
resinfo->dsts[0]->wrmask = MASK(3);
ir3_handle_bindless_cat6(resinfo, intr->src[0]);
+ ir3_handle_nonuniform(resinfo, intr);
if (ctx->compiler->gen >= 6) {
ir3_split_dest(b, dst, resinfo, 0, 1);
More information about the mesa-commit
mailing list