Gather operations in both GLSL and SPIR-V require a sampler. Fixes gathers returning garbage when using separate texture/samplers (on AMD, was using an invalid sampler descriptor).
Signed-off-by: Alex Smith <asm...@feralinteractive.com> Cc: "17.2 17.3" <mesa-sta...@lists.freedesktop.org> --- src/compiler/nir/nir.h | 1 - src/compiler/spirv/spirv_to_nir.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 0174c30504..9c804c62bd 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -1214,7 +1214,6 @@ typedef struct { * - nir_texop_txf_ms * - nir_texop_txs * - nir_texop_lod - * - nir_texop_tg4 * - nir_texop_query_levels * - nir_texop_texture_samples * - nir_texop_samples_identical diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 93a515d731..027efab88d 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -1755,6 +1755,7 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, case nir_texop_txb: case nir_texop_txl: case nir_texop_txd: + case nir_texop_tg4: /* These operations require a sampler */ instr->sampler = nir_deref_var_clone(sampler, instr); break; @@ -1762,7 +1763,6 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, case nir_texop_txf_ms: case nir_texop_txs: case nir_texop_lod: - case nir_texop_tg4: case nir_texop_query_levels: case nir_texop_texture_samples: case nir_texop_samples_identical: -- 2.13.6 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev