On 06/10/2015 06:14 PM, Rob Clark wrote:
From: Rob Clark <robcl...@freedesktop.org>

Signed-off-by: Rob Clark <robcl...@freedesktop.org>
---
  src/gallium/auxiliary/tgsi/tgsi_transform.h | 24 ++++++++++++++++++++++++
  1 file changed, 24 insertions(+)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_transform.h 
b/src/gallium/auxiliary/tgsi/tgsi_transform.h
index 921aa906..e7de49e 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_transform.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_transform.h
@@ -143,6 +143,30 @@ tgsi_transform_sampler_decl(struct tgsi_transform_context 
*ctx,
     ctx->emit_declaration(ctx, &decl);
  }

+static INLINE void
+tgsi_transform_sampler_view_decl(struct tgsi_transform_context *ctx,
+                                 unsigned index,
+                                 unsigned target,
+                                 unsigned return_type_x,
+                                 unsigned return_type_y,
+                                 unsigned return_type_z,
+                                 unsigned return_type_w)

I think you can get by with just one return_type parameter since all callers seem to pass the same value for x/y/z/w.

Also, the param type should be enum tgsi_return_type instead of unsigned.


+{
+   struct tgsi_full_declaration decl;
+
+   decl = tgsi_default_full_declaration();
+   decl.Declaration.File = TGSI_FILE_SAMPLER_VIEW;
+   decl.Declaration.UsageMask = 0xf;
+   decl.Range.First =
+   decl.Range.Last = index;
+   decl.SamplerView.Resource = target;
+   decl.SamplerView.ReturnTypeX = return_type_x;
+   decl.SamplerView.ReturnTypeY = return_type_y;
+   decl.SamplerView.ReturnTypeZ = return_type_z;
+   decl.SamplerView.ReturnTypeW = return_type_w;
+
+   ctx->emit_declaration(ctx, &decl);
+}

  static INLINE void
  tgsi_transform_immediate_decl(struct tgsi_transform_context *ctx,


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to