unsigned semantic,
unsigned invariant,
unsigned local,
+ unsigned array,
struct tgsi_header *header )
{
struct tgsi_declaration declaration;
declaration.Semantic = semantic;
declaration.Invariant = invariant;
declaration.Local = local;
-
+ declaration.Array = array;
header_bodysize_grow( header );
return declaration;
return a;
}
+static struct tgsi_declaration_array
+tgsi_build_declaration_array(unsigned arrayid,
+ struct tgsi_declaration *declaration,
+ struct tgsi_header *header)
+{
+ struct tgsi_declaration_array da;
+
+ da = tgsi_default_declaration_array();
+ da.ArrayID = arrayid;
+
+ declaration_grow(declaration, header);
+
+ return da;
+}
+
struct tgsi_full_declaration
tgsi_default_full_declaration( void )
{
full_decl->Declaration.Semantic,
full_decl->Declaration.Invariant,
full_decl->Declaration.Local,
+ full_decl->Declaration.Array,
header );
if (maxsize <= size)
header);
}
+ if (full_decl->Declaration.Array) {
+ struct tgsi_declaration_array *da;
+
+ if (maxsize <= size) {
+ return 0;
+ }
+ da = (struct tgsi_declaration_array *)&tokens[size];
+ size++;
+ *da = tgsi_build_declaration_array(
+ full_decl->Array.ArrayID,
+ declaration,
+ header);
+ }
return size;
}