[Mesa-dev] [PATCH 2/6] radeonsi/nir: don't add bindless samplers/images to declared bitmasks

Timothy Arceri tarceri at itsqueeze.com
Thu Apr 5 05:34:44 UTC 2018


---
 src/gallium/drivers/radeonsi/si_shader_nir.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 7dd8314d4b5..01c8554272f 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -656,22 +656,22 @@ void si_nir_scan_shader(const struct nir_shader *nir,
 		 * eliminated struct dereferences.
 		 */
 		if (base_type == GLSL_TYPE_SAMPLER) {
-			info->samplers_declared |=
-				u_bit_consecutive(variable->data.binding, aoa_size);
-
 			if (variable->data.bindless) {
 				info->const_buffers_declared |= 1;
 				info->const_file_max[0] +=
 					glsl_count_attribute_slots(type, false);
+			} else {
+				info->samplers_declared |=
+					u_bit_consecutive(variable->data.binding, aoa_size);
 			}
 		} else if (base_type == GLSL_TYPE_IMAGE) {
-			info->images_declared |=
-				u_bit_consecutive(variable->data.binding, aoa_size);
-
 			if (variable->data.bindless) {
 				info->const_buffers_declared |= 1;
 				info->const_file_max[0] +=
 					glsl_count_attribute_slots(type, false);
+			} else {
+				info->images_declared |=
+					u_bit_consecutive(variable->data.binding, aoa_size);
 			}
 		} else if (base_type != GLSL_TYPE_ATOMIC_UINT) {
 			if (strncmp(variable->name, "state.", 6) == 0 ||
-- 
2.14.3



More information about the mesa-dev mailing list