Module: Mesa Branch: staging/22.0 Commit: 86d6875fe129698ca7a74cae180e1d92ef32d807 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=86d6875fe129698ca7a74cae180e1d92ef32d807
Author: Mike Blumenkrantz <[email protected]> Date: Fri Apr 22 09:05:26 2022 -0400 glsl/nir: set new_style_shadow for sparse tex ops as necessary this needs the sparse result type, which is not the ir type Fixes: f4a972b7483 ("glsl/nir: convert sparse ir_texture to nir") Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Qiang Yu <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16097> (cherry picked from commit a6a4bf0f1eae36cb68d5c67653ac013fe0fbde8a) --- .pick_status.json | 2 +- src/compiler/glsl/glsl_to_nir.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index dd785a30a74..f2898d624bf 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4,7 +4,7 @@ "description": "glsl/nir: set new_style_shadow for sparse tex ops as necessary", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "because_sha": "f4a972b74837a9f7992b93a808115541bf20589b" }, { diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index c011db2171b..95587b3a265 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -2486,12 +2486,12 @@ nir_visitor::visit(ir_texture *ir) (glsl_sampler_dim) ir->sampler->type->sampler_dimensionality; instr->is_array = ir->sampler->type->sampler_array; instr->is_shadow = ir->sampler->type->sampler_shadow; - if (instr->is_shadow) - instr->is_new_style_shadow = (ir->type->vector_elements == 1); const glsl_type *dest_type = ir->is_sparse ? ir->type->field_type("texel") : ir->type; assert(dest_type != glsl_type::error_type); + if (instr->is_shadow) + instr->is_new_style_shadow = (dest_type->vector_elements == 1); instr->dest_type = nir_get_nir_type_for_glsl_type(dest_type); instr->is_sparse = ir->is_sparse;
