diff options
author | Alex Smith <[email protected]> | 2017-11-07 10:52:48 +0000 |
---|---|---|
committer | Alex Smith <[email protected]> | 2017-11-13 13:38:18 +0000 |
commit | 4122d008466cef47eaa3f958924618060f4e4330 (patch) | |
tree | e986e63781c79b7dc6136048ca71c2ce2e5de18b | |
parent | e9eb3c4753e4f56b03d16d8d6f71d49f1e7b97db (diff) |
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 <[email protected]>
Cc: "17.2 17.3" <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r-- | src/compiler/nir/nir.h | 1 | ||||
-rw-r--r-- | src/compiler/spirv/spirv_to_nir.c | 2 |
2 files changed, 1 insertions, 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: |