summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe
diff options
context:
space:
mode:
authorChristian König <[email protected]>2013-03-13 14:58:15 +0100
committerChristian König <[email protected]>2013-03-19 13:38:32 +0100
commit16caeff2a5cc1237d30de9487b48b1cd775d9ae1 (patch)
treed4e7d56d7ff611afaa754a6fb7958816c3a0674b /src/gallium/include/pipe
parentd3e07bed90d6b94ac37a7f48417bf8962408fa47 (diff)
tgsi: add ArrayID to declarations
Remember which declarations are declared as "arrays" and so can be indirectly addressed. ArrayIDs start at 1, cause for compatibility reasons zero is treaded as no array present. Signed-off-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/include/pipe')
-rw-r--r--src/gallium/include/pipe/p_shader_tokens.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h
index 81e4a6b52ce..eac75e69e5d 100644
--- a/src/gallium/include/pipe/p_shader_tokens.h
+++ b/src/gallium/include/pipe/p_shader_tokens.h
@@ -119,7 +119,8 @@ struct tgsi_declaration
unsigned Interpolate : 1; /**< any interpolation info? */
unsigned Invariant : 1; /**< invariant optimization? */
unsigned Local : 1; /**< optimize as subroutine local variable? */
- unsigned Padding : 7;
+ unsigned Array : 1; /**< extra array info? */
+ unsigned Padding : 6;
};
struct tgsi_declaration_range
@@ -185,6 +186,11 @@ struct tgsi_declaration_sampler_view {
unsigned ReturnTypeW : 6; /**< one of enum pipe_type */
};
+struct tgsi_declaration_array {
+ unsigned ArrayID : 10;
+ unsigned Padding : 22;
+};
+
/*
* Special resources that don't need to be declared. They map to the
* GLOBAL/LOCAL/PRIVATE/INPUT compute memory spaces.