From: Jason Ekstrand Date: Thu, 12 Nov 2015 02:30:09 +0000 (-0800) Subject: nir: Add a tex_instr_is_query helper X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6921b17107d1a55582b174e6937fae22cdc65ee4;p=mesa.git nir: Add a tex_instr_is_query helper Reviewed-by: Connor Abbott --- 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) {