Mesa (main): radeonsi: set uses_vmem_load_other for nir_intrinsic_load_buffer_amd
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jun 27 03:16:29 UTC 2022
Module: Mesa
Branch: main
Commit: 6b6aeeecbbd8ef7e603444a634bb2470ca64395d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b6aeeecbbd8ef7e603444a634bb2470ca64395d
Author: Qiang Yu <yuq825 at gmail.com>
Date: Sat May 28 22:20:08 2022 +0800
radeonsi: set uses_vmem_load_other for nir_intrinsic_load_buffer_amd
Before lower TES load input to load buffer, mark this flag for this
intrinsic, otherwise we get corruption with GFX10 after the lowering.
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Reviewed-by: Timur Kristóf <timur.kristof at gmail.com>
Signed-off-by: Qiang Yu <yuq825 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705>
---
src/gallium/drivers/radeonsi/si_shader_info.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_info.c b/src/gallium/drivers/radeonsi/si_shader_info.c
index f4d94f07ddd..68dc0f8205d 100644
--- a/src/gallium/drivers/radeonsi/si_shader_info.c
+++ b/src/gallium/drivers/radeonsi/si_shader_info.c
@@ -435,13 +435,6 @@ static void scan_instruction(const struct nir_shader *nir, struct si_shader_info
if (!nir_src_is_const(intr->src[1]))
info->uses_vmem_load_other = true;
break;
- case nir_intrinsic_load_constant:
- info->uses_vmem_load_other = true;
- break;
-
- case nir_intrinsic_load_barycentric_at_sample: /* This loads sample positions. */
- info->uses_vmem_load_other = true;
- break;
case nir_intrinsic_load_input:
case nir_intrinsic_load_input_vertex:
@@ -451,6 +444,12 @@ static void scan_instruction(const struct nir_shader *nir, struct si_shader_info
info->uses_vmem_load_other = true;
break;
+ case nir_intrinsic_load_constant:
+ case nir_intrinsic_load_barycentric_at_sample: /* This loads sample positions. */
+ case nir_intrinsic_load_buffer_amd:
+ info->uses_vmem_load_other = true;
+ break;
+
default:
if (is_image ||
is_bindless_image ||
More information about the mesa-commit
mailing list