summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2015-06-10 19:51:32 -0400
committerRob Clark <[email protected]>2015-06-21 07:52:02 -0400
commitf481af110e6ab42b2d184f225bfe7eb1e66df393 (patch)
tree898057d3dc5104a87398b8607ef1c5f46c17418c /src/gallium/auxiliary/tgsi
parentb13135e06671468d296a33abf4150060f2b2a061 (diff)
tgsi/transform: add support for SVIEW decls
TODO single return_type (use enum) v2: single return_type arg, and use enum Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/tgsi')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_transform.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_transform.h b/src/gallium/auxiliary/tgsi/tgsi_transform.h
index 921aa906527..39d7688ab3b 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_transform.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_transform.h
@@ -143,6 +143,27 @@ 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,
+ enum tgsi_return_type type)
+{
+ 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 = type;
+ decl.SamplerView.ReturnTypeY = type;
+ decl.SamplerView.ReturnTypeZ = type;
+ decl.SamplerView.ReturnTypeW = type;
+
+ ctx->emit_declaration(ctx, &decl);
+}
static INLINE void
tgsi_transform_immediate_decl(struct tgsi_transform_context *ctx,