From ed1db8e8cad1fc5f14683f86a3bbb9c890fda9a0 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 18 Oct 2021 16:47:53 +0200 Subject: [PATCH] radv: fix OpImageQuerySamples with non-zero descriptor set The descriptor set was always 0 because it wasn't gathered by the shader info pass. This fixes CPU crashes with arb_shader_texture_image_samples-builtin-image and Zink. Cc: 21.3 mesa-stable Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: (cherry picked from commit 5b797bd48555ea70a4313d68e34a0899e568b30b) --- .pick_status.json | 2 +- src/amd/vulkan/radv_shader_info.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index e6d168285d5..66506b39b75 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -697,7 +697,7 @@ "description": "radv: fix OpImageQuerySamples with non-zero descriptor set", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index 40042e3b4fe..6fe4083839f 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -247,7 +247,8 @@ gather_intrinsic_info(const nir_shader *nir, const nir_intrinsic_instr *instr, case nir_intrinsic_image_deref_atomic_comp_swap: case nir_intrinsic_image_deref_atomic_fmin: case nir_intrinsic_image_deref_atomic_fmax: - case nir_intrinsic_image_deref_size: { + case nir_intrinsic_image_deref_size: + case nir_intrinsic_image_deref_samples: { nir_variable *var = nir_deref_instr_get_variable(nir_instr_as_deref(instr->src[0].ssa->parent_instr)); mark_sampler_desc(var, info);