Fixes crashes in: dEQP-VK.spirv_assembly.instruction.graphics.image_sampler.depth_property.* --- src/compiler/spirv/spirv_to_nir.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 7888e1b746..719e74c386 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -2029,12 +2029,15 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, break; } + bool is_image_sample_dref = false; unsigned gather_component = 0; switch (opcode) { case SpvOpImageSampleDrefImplicitLod: case SpvOpImageSampleDrefExplicitLod: case SpvOpImageSampleProjDrefImplicitLod: case SpvOpImageSampleProjDrefExplicitLod: + is_image_sample_dref = true; + /* Fallthrough */ case SpvOpImageDrefGather: /* These all have an explicit depth value as their next source */ (*p++) = vtn_tex_src(b, w[idx++], nir_tex_src_comparator); @@ -2107,6 +2110,7 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, instr->is_shadow = is_shadow; instr->is_new_style_shadow = is_shadow && glsl_get_components(ret_type->type) == 1; + instr->is_image_sample_dref = is_image_sample_dref; instr->component = gather_component; switch (glsl_get_sampler_result_type(image_type)) { -- 2.14.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev