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:
@@ -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++ );
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user