From 6921b17107d1a55582b174e6937fae22cdc65ee4 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 11 Nov 2015 18:30:09 -0800 Subject: nir: Add a tex_instr_is_query helper Reviewed-by: Connor Abbott --- src/glsl/nir/nir.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/glsl/nir') diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 2bdfcb80faf..1baef19812b 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -1043,6 +1043,31 @@ nir_tex_instr_dest_size(nir_tex_instr *instr) } } +/* Returns true if this texture operation queries something about the texture + * rather than actually sampling it. + */ +static inline bool +nir_tex_instr_is_query(nir_tex_instr *instr) +{ + switch (instr->op) { + case nir_texop_txs: + case nir_texop_lod: + case nir_texop_texture_samples: + case nir_texop_query_levels: + return true; + case nir_texop_tex: + case nir_texop_txb: + case nir_texop_txl: + case nir_texop_txd: + case nir_texop_txf: + case nir_texop_txf_ms: + case nir_texop_tg4: + return false; + default: + unreachable("Invalid texture opcode"); + } +} + static inline unsigned nir_tex_instr_src_size(nir_tex_instr *instr, unsigned src) { -- cgit v1.2.3