From 4122d008466cef47eaa3f958924618060f4e4330 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Tue, 7 Nov 2017 10:52:48 +0000 Subject: [PATCH] nir/spirv: tg4 requires a sampler 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 Cc: "17.2 17.3" Reviewed-by: Jason Ekstrand --- 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 c055d300b66..f46f6147110 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -1222,7 +1222,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 93a515d731e..027efab88d7 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.30.2