diff options
author | Ilia Mirkin <[email protected]> | 2015-08-27 23:05:03 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2015-09-10 17:38:33 -0400 |
commit | 1807a08e4f35b014f2a80d1e88dd74a9f096d7a5 (patch) | |
tree | 469f60dc891635720cc21c4f946bece136a44bf0 | |
parent | f9052914e979228d28502a7f7953f98ff4731f99 (diff) |
nir: add nir_texop_texture_samples and convert from glsl
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/glsl/nir/glsl_to_nir.cpp | 5 | ||||
-rw-r--r-- | src/glsl/nir/nir.h | 4 | ||||
-rw-r--r-- | src/glsl/nir/nir_print.c | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp index ad7d7dddeaf..bf78b4253d9 100644 --- a/src/glsl/nir/glsl_to_nir.cpp +++ b/src/glsl/nir/glsl_to_nir.cpp @@ -1718,6 +1718,11 @@ nir_visitor::visit(ir_texture *ir) num_srcs = 0; break; + case ir_texture_samples: + op = nir_texop_texture_samples; + num_srcs = 0; + break; + default: unreachable("not reached"); } diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 2ba7731c1ff..a93ff11f01b 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -944,7 +944,8 @@ typedef enum { nir_texop_txs, /**< Texture size */ nir_texop_lod, /**< Texture lod query */ nir_texop_tg4, /**< Texture gather */ - nir_texop_query_levels /**< Texture levels query */ + nir_texop_query_levels, /**< Texture levels query */ + nir_texop_texture_samples, /**< Texture samples query */ } nir_texop; typedef struct { @@ -1016,6 +1017,7 @@ nir_tex_instr_dest_size(nir_tex_instr *instr) case nir_texop_lod: return 2; + case nir_texop_texture_samples: case nir_texop_query_levels: return 1; diff --git a/src/glsl/nir/nir_print.c b/src/glsl/nir/nir_print.c index f591c4b5f8d..69cadbae2b6 100644 --- a/src/glsl/nir/nir_print.c +++ b/src/glsl/nir/nir_print.c @@ -417,6 +417,9 @@ print_tex_instr(nir_tex_instr *instr, print_var_state *state, FILE *fp) case nir_texop_query_levels: fprintf(fp, "query_levels "); break; + case nir_texop_texture_samples: + fprintf(fp, "texture_samples "); + break; default: unreachable("Invalid texture operation"); |