tgsi: accept a starting PC value for exec machine.
This will be used later to restart barriered execution threads in compute, for now we just want to change the API. Acked-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -207,7 +207,7 @@ static unsigned tgsi_gs_run(struct draw_geometry_shader *shader,
|
||||
struct tgsi_exec_machine *machine = shader->machine;
|
||||
|
||||
/* run interpreter */
|
||||
tgsi_exec_machine_run(machine);
|
||||
tgsi_exec_machine_run(machine, 0);
|
||||
|
||||
return
|
||||
machine->Temps[TGSI_EXEC_TEMP_PRIMITIVE_I].xyzw[TGSI_EXEC_TEMP_PRIMITIVE_C].u[0];
|
||||
|
||||
@@ -163,7 +163,7 @@ vs_exec_run_linear( struct draw_vertex_shader *shader,
|
||||
|
||||
machine->NonHelperMask = (1 << max_vertices) - 1;
|
||||
/* run interpreter */
|
||||
tgsi_exec_machine_run( machine );
|
||||
tgsi_exec_machine_run( machine, 0 );
|
||||
|
||||
/* Unswizzle all output results.
|
||||
*/
|
||||
|
||||
@@ -5656,7 +5656,7 @@ exec_instruction(
|
||||
* \return bitmask of "alive" quad components
|
||||
*/
|
||||
uint
|
||||
tgsi_exec_machine_run( struct tgsi_exec_machine *mach )
|
||||
tgsi_exec_machine_run( struct tgsi_exec_machine *mach, int start_pc )
|
||||
{
|
||||
uint i;
|
||||
int pc = 0;
|
||||
|
||||
@@ -460,7 +460,7 @@ tgsi_exec_machine_bind_shader(
|
||||
|
||||
uint
|
||||
tgsi_exec_machine_run(
|
||||
struct tgsi_exec_machine *mach );
|
||||
struct tgsi_exec_machine *mach, int start_pc );
|
||||
|
||||
|
||||
void
|
||||
|
||||
@@ -130,7 +130,7 @@ exec_run( const struct sp_fragment_shader_variant *var,
|
||||
machine->Face = (float) (quad->input.facing * -2 + 1);
|
||||
|
||||
machine->NonHelperMask = quad->inout.mask;
|
||||
quad->inout.mask &= tgsi_exec_machine_run( machine );
|
||||
quad->inout.mask &= tgsi_exec_machine_run( machine, 0 );
|
||||
if (quad->inout.mask == 0)
|
||||
return FALSE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user