V2: add missing intrinsics (Spotted-by: Samuel Pitoiset) --- src/gallium/drivers/radeonsi/si_shader_nir.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c index 01c8554272f..362b7445cc5 100644 --- a/src/gallium/drivers/radeonsi/si_shader_nir.c +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c @@ -123,6 +123,13 @@ static void scan_instruction(struct tgsi_shader_info *info, case nir_intrinsic_load_tess_level_outer: info->reads_tess_factors = true; break; + case nir_intrinsic_image_var_load: + case nir_intrinsic_image_var_size: + case nir_intrinsic_image_var_samples: { + nir_variable *var = intr->variables[0]->var; + if (var->data.bindless) + info->uses_bindless_images = true; + } case nir_intrinsic_image_var_store: case nir_intrinsic_image_var_atomic_add: case nir_intrinsic_image_var_atomic_min: @@ -131,7 +138,11 @@ static void scan_instruction(struct tgsi_shader_info *info, case nir_intrinsic_image_var_atomic_or: case nir_intrinsic_image_var_atomic_xor: case nir_intrinsic_image_var_atomic_exchange: - case nir_intrinsic_image_var_atomic_comp_swap: + case nir_intrinsic_image_var_atomic_comp_swap: { + nir_variable *var = intr->variables[0]->var; + if (var->data.bindless) + info->uses_bindless_images = true; + } case nir_intrinsic_store_ssbo: case nir_intrinsic_ssbo_atomic_add: case nir_intrinsic_ssbo_atomic_imin: -- 2.14.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev