Mesa (turnip-indirect-call): nir: fix gl_nir_lower_images for bindless images
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Feb 25 06:20:37 UTC 2020
Module: Mesa
Branch: turnip-indirect-call
Commit: 5ab94df0f6a9b2fdf8c053a68486d8be4d254d01
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ab94df0f6a9b2fdf8c053a68486d8be4d254d01
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Feb 24 19:10:21 2020 -0500
nir: fix gl_nir_lower_images for bindless images
Fixes: 7342b859afb5a7e7f9fb1813e7ab3a55a1c8a704
Reviewed-by: Eric Anholt <eric at anholt.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3938>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3938>
---
src/compiler/glsl/gl_nir_lower_images.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/compiler/glsl/gl_nir_lower_images.c b/src/compiler/glsl/gl_nir_lower_images.c
index a02e2509368..7dbefc36d0f 100644
--- a/src/compiler/glsl/gl_nir_lower_images.c
+++ b/src/compiler/glsl/gl_nir_lower_images.c
@@ -78,22 +78,21 @@ lower_impl(nir_builder *b, nir_instr *instr, bool bindless_only)
return false;
}
- if (bindless_only) {
- if (deref->mode == nir_var_uniform && !var->data.bindless)
- return false;
- }
+ bool bindless = deref->mode != nir_var_uniform || var->data.bindless;
+ if (bindless_only && !bindless)
+ return false;
b->cursor = nir_before_instr(instr);
nir_ssa_def *src;
- if (var->data.bindless) {
+ if (bindless) {
src = nir_load_deref(b, deref);
} else {
src = nir_iadd_imm(b,
nir_build_deref_offset(b, deref, type_size_align_1),
var->data.driver_location);
}
- nir_rewrite_image_intrinsic(intrinsic, src, var->data.bindless);
+ nir_rewrite_image_intrinsic(intrinsic, src, bindless);
return true;
}
More information about the mesa-commit
mailing list