Mesa (master): nir: add nir_texop_texture_samples and convert from glsl

Ilia Mirkin imirkin at kemper.freedesktop.org
Thu Sep 10 21:46:08 UTC 2015


Module: Mesa
Branch: master
Commit: 1807a08e4f35b014f2a80d1e88dd74a9f096d7a5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1807a08e4f35b014f2a80d1e88dd74a9f096d7a5

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Thu Aug 27 23:05:03 2015 -0400

nir: add nir_texop_texture_samples and convert from glsl

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/glsl/nir/glsl_to_nir.cpp |    5 +++++
 src/glsl/nir/nir.h           |    4 +++-
 src/glsl/nir/nir_print.c     |    3 +++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index ad7d7dd..bf78b42 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 2ba7731..a93ff11 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 f591c4b..69cadba 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");




More information about the mesa-commit mailing list