tgsi/ureg: give ureg_DECL_constant an explicit index parameter

Avoid the need to emit all constant declarations in order.  Makes
referring to a specific constant in the constant buffer much easier.
This commit is contained in:
Keith Whitwell
2009-09-12 14:16:00 -07:00
parent 09b566e161
commit ae4704eabc
3 changed files with 8 additions and 4 deletions
+4 -1
View File
@@ -308,8 +308,11 @@ out:
* value or manage any constant_buffer contents -- that's the
* resposibility of the calling code.
*/
struct ureg_src ureg_DECL_constant(struct ureg_program *ureg )
struct ureg_src ureg_DECL_constant(struct ureg_program *ureg,
unsigned index )
{
return ureg_src_register( TGSI_FILE_CONSTANT, ureg->nr_constants++ );
}
+2 -1
View File
@@ -129,7 +129,8 @@ ureg_DECL_immediate( struct ureg_program *,
unsigned nr );
struct ureg_src
ureg_DECL_constant( struct ureg_program * );
ureg_DECL_constant( struct ureg_program *,
unsigned index );
struct ureg_dst
ureg_DECL_temporary( struct ureg_program * );
@@ -247,8 +247,8 @@ create_vs(struct pipe_context *pipe,
if (ureg == NULL)
return 0;
const0 = ureg_DECL_constant(ureg);
const1 = ureg_DECL_constant(ureg);
const0 = ureg_DECL_constant(ureg, 0);
const1 = ureg_DECL_constant(ureg, 1);
/* it has to be either a fill or a composite op */
debug_assert(is_fill ^ is_composite);