nir: move tex_instr_remove_src
authorRob Clark <robdclark@gmail.com>
Thu, 8 Sep 2016 18:07:06 +0000 (14:07 -0400)
committerRob Clark <robdclark@gmail.com>
Wed, 14 Sep 2016 17:45:32 +0000 (13:45 -0400)
I want to re-use this in a different pass, so move to nir.h

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/nir/nir.c
src/compiler/nir/nir.h
src/compiler/nir/nir_lower_tex.c

index 6bebb7392f508176a3721180797b8d2283b2f42a..13ba989af4bb32d18ca33c45709c170c147b3966 100644 (file)
@@ -536,6 +536,22 @@ nir_tex_instr_create(nir_shader *shader, unsigned num_srcs)
    return instr;
 }
 
+void
+nir_tex_instr_remove_src(nir_tex_instr *tex, unsigned src_idx)
+{
+   assert(src_idx < tex->num_srcs);
+
+   /* First rewrite the source to NIR_SRC_INIT */
+   nir_instr_rewrite_src(&tex->instr, &tex->src[src_idx].src, NIR_SRC_INIT);
+
+   /* Now, move all of the other sources down */
+   for (unsigned i = src_idx + 1; i < tex->num_srcs; i++) {
+      tex->src[i-1].src_type = tex->src[i].src_type;
+      nir_instr_move_src(&tex->instr, &tex->src[i-1].src, &tex->src[i].src);
+   }
+   tex->num_srcs--;
+}
+
 nir_phi_instr *
 nir_phi_instr_create(nir_shader *shader)
 {
index ff7c422a6ea087ab8db57a58acd2fedf6b2315f5..6f85bdb6bb69c219814d1e875f23c8baabb214dd 100644 (file)
@@ -1329,6 +1329,8 @@ nir_tex_instr_src_index(nir_tex_instr *instr, nir_tex_src_type type)
    return -1;
 }
 
+void nir_tex_instr_remove_src(nir_tex_instr *tex, unsigned src_idx);
+
 typedef union {
    float f32[4];
    double f64[4];
index b5705985f82e6ada2fbcc2fdb641911fcf08f6cb..a40575806cbf6272b5c805ad08e15ff2cff7a7b3 100644 (file)
 #include "nir.h"
 #include "nir_builder.h"
 
-static void
-tex_instr_remove_src(nir_tex_instr *tex, unsigned src_idx)
-{
-   assert(src_idx < tex->num_srcs);
-
-   /* First rewrite the source to NIR_SRC_INIT */
-   nir_instr_rewrite_src(&tex->instr, &tex->src[src_idx].src, NIR_SRC_INIT);
-
-   /* Now, move all of the other sources down */
-   for (unsigned i = src_idx + 1; i < tex->num_srcs; i++) {
-      tex->src[i-1].src_type = tex->src[i].src_type;
-      nir_instr_move_src(&tex->instr, &tex->src[i-1].src, &tex->src[i].src);
-   }
-   tex->num_srcs--;
-}
-
 static void
 project_src(nir_builder *b, nir_tex_instr *tex)
 {
@@ -114,7 +98,7 @@ project_src(nir_builder *b, nir_tex_instr *tex)
                             nir_src_for_ssa(projected));
    }
 
-   tex_instr_remove_src(tex, proj_index);
+   nir_tex_instr_remove_src(tex, proj_index);
 }
 
 static bool
@@ -159,7 +143,7 @@ lower_offset(nir_builder *b, nir_tex_instr *tex)
    nir_instr_rewrite_src(&tex->instr, &tex->src[coord_index].src,
                          nir_src_for_ssa(offset_coord));
 
-   tex_instr_remove_src(tex, offset_index);
+   nir_tex_instr_remove_src(tex, offset_index);
 
    return true;
 }