ilo: use tgsi_util_get_texture_coord_dim()
authorChia-I Wu <olvaffe@gmail.com>
Wed, 8 May 2013 03:07:27 +0000 (11:07 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Wed, 8 May 2013 03:07:46 +0000 (11:07 +0800)
And remove toy_tgsi_get_texture_coord_dim().

src/gallium/drivers/ilo/shader/ilo_shader_fs.c
src/gallium/drivers/ilo/shader/ilo_shader_vs.c
src/gallium/drivers/ilo/shader/toy_tgsi.h

index 68a4fffa096c852d26ba52b26c0c5b89523ffb41..0a7921b25ff2ec6fc3d64cc78dfcad518addc522 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #include "tgsi/tgsi_dump.h"
+#include "tgsi/tgsi_util.h"
 #include "toy_compiler.h"
 #include "toy_tgsi.h"
 #include "toy_legalize.h"
@@ -605,7 +606,7 @@ fs_prepare_tgsi_sampling(struct toy_compiler *tc, const struct toy_inst *inst,
       break;
    }
 
-   num_coords = toy_tgsi_get_texture_coord_dim(inst->tex.target, &ref_pos);
+   num_coords = tgsi_util_get_texture_coord_dim(inst->tex.target, &ref_pos);
    tsrc_transpose(inst->src[0], coords);
    bias_or_lod = tsrc_null();
    ref_or_si = tsrc_null();
index f8c8d6e34fef4daa165e63b1bea814c6318fff02..45bc26e0a5d90c659ce1fa6f78ce58d7a4758940 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #include "tgsi/tgsi_dump.h"
+#include "tgsi/tgsi_util.h"
 #include "toy_compiler.h"
 #include "toy_tgsi.h"
 #include "toy_legalize.h"
@@ -377,7 +378,7 @@ vs_prepare_tgsi_sampling(struct toy_compiler *tc, const struct toy_inst *inst,
    num_derivs = 0;
    sampler_src = 1;
 
-   num_coords = toy_tgsi_get_texture_coord_dim(inst->tex.target, &ref_pos);
+   num_coords = tgsi_util_get_texture_coord_dim(inst->tex.target, &ref_pos);
 
    /* extract the parameters */
    switch (inst->opcode) {
index 1bfb57f6c7f881a2c2a5bb3b8b1725102b8963b2..95fc897b7e0fa0520ff203223835445fa9ff52cf 100644 (file)
@@ -145,96 +145,6 @@ toy_tgsi_get_imm(const struct toy_tgsi *tgsi, unsigned index,
    return imm;
 }
 
-/**
- * Return the dimension of the texture coordinates, as well as the location of
- * the shadow reference value or the sample index.
- */
-static inline int
-toy_tgsi_get_texture_coord_dim(int tgsi_tex, int *shadow_or_sample)
-{
-   int dim;
-
-   /*
-    * Depending on the texture target, (src0, src1.x) is interpreted
-    * differently:
-    *
-    *   (s, *, *, *, *),          for 1D
-    *   (s, t, *, *, *),          for 2D, RECT
-    *   (s, t, r, *, *),          for 3D, CUBE
-    *
-    *   (s, layer, *, *, *),      for 1D_ARRAY
-    *   (s, t, layer, *, *),      for 2D_ARRAY
-    *   (s, t, r, layer, *),      for CUBE_ARRAY
-    *
-    *   (s, *, shadow, *, *),     for SHADOW1D
-    *   (s, t, shadow, *, *),     for SHADOW2D, SHADOWRECT
-    *   (s, t, r, shadow, *),     for SHADOWCUBE
-    *
-    *   (s, layer, shadow, *, *), for SHADOW1D_ARRAY
-    *   (s, t, layer, shadow, *), for SHADOW2D_ARRAY
-    *   (s, t, r, layer, shadow), for SHADOWCUBE_ARRAY
-    *
-    *   (s, t, sample, *, *),     for 2D_MSAA
-    *   (s, t, layer, sample, *), for 2D_ARRAY_MSAA
-    */
-   switch (tgsi_tex) {
-   case TGSI_TEXTURE_1D:
-   case TGSI_TEXTURE_SHADOW1D:
-      dim = 1;
-      break;
-   case TGSI_TEXTURE_2D:
-   case TGSI_TEXTURE_RECT:
-   case TGSI_TEXTURE_1D_ARRAY:
-   case TGSI_TEXTURE_SHADOW2D:
-   case TGSI_TEXTURE_SHADOWRECT:
-   case TGSI_TEXTURE_SHADOW1D_ARRAY:
-   case TGSI_TEXTURE_2D_MSAA:
-      dim = 2;
-      break;
-   case TGSI_TEXTURE_3D:
-   case TGSI_TEXTURE_CUBE:
-   case TGSI_TEXTURE_2D_ARRAY:
-   case TGSI_TEXTURE_SHADOWCUBE:
-   case TGSI_TEXTURE_SHADOW2D_ARRAY:
-   case TGSI_TEXTURE_2D_ARRAY_MSAA:
-      dim = 3;
-      break;
-   case TGSI_TEXTURE_CUBE_ARRAY:
-   case TGSI_TEXTURE_SHADOWCUBE_ARRAY:
-      dim = 4;
-      break;
-   default:
-      assert(!"unknown texture target");
-      dim = 0;
-      break;
-   }
-
-   if (shadow_or_sample) {
-      switch (tgsi_tex) {
-      case TGSI_TEXTURE_SHADOW1D:
-         /* there is a gap */
-         *shadow_or_sample = 2;
-         break;
-      case TGSI_TEXTURE_SHADOW2D:
-      case TGSI_TEXTURE_SHADOWRECT:
-      case TGSI_TEXTURE_SHADOWCUBE:
-      case TGSI_TEXTURE_SHADOW1D_ARRAY:
-      case TGSI_TEXTURE_SHADOW2D_ARRAY:
-      case TGSI_TEXTURE_SHADOWCUBE_ARRAY:
-      case TGSI_TEXTURE_2D_MSAA:
-      case TGSI_TEXTURE_2D_ARRAY_MSAA:
-         *shadow_or_sample = dim;
-         break;
-      default:
-         /* no shadow nor sample */
-         *shadow_or_sample = -1;
-         break;
-      }
-   }
-
-   return dim;
-}
-
 void
 toy_compiler_translate_tgsi(struct toy_compiler *tc,
                             const struct tgsi_token *tokens, bool aos,