tgsi: accept a starting PC value for exec machine.
authorDave Airlie <airlied@redhat.com>
Tue, 26 Apr 2016 04:19:36 +0000 (14:19 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 26 Apr 2016 22:56:17 +0000 (08:56 +1000)
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>
src/gallium/auxiliary/draw/draw_gs.c
src/gallium/auxiliary/draw/draw_vs_exec.c
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/tgsi/tgsi_exec.h
src/gallium/drivers/softpipe/sp_fs_exec.c

index adba93165171db5c9e8d262d3a90b6f11a22044a..6cf8846627bdfe2e3cd497fce64d277c1606afe1 100644 (file)
@@ -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];
index fe6ad5b33d9b0f07409e4367ca2287ef1ebdd73e..483ee90f2a43511ff4d9913eaca1cf890bd817a8 100644 (file)
@@ -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.  
        */
index f6b08bc8ee849b3040ef2d51a241285f3ac0a408..99606ab029091657de0c16db80fa2865bbf1997f 100644 (file)
@@ -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;
index b12f7bed9b873c5f1016198880dc8574687623f7..0cdc1940c7c14a37499468152f6051c0d161a1ce 100644 (file)
@@ -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
index 155382af825bed30d445de74573bab460890e1b6..f1662bffdb51269e25a1a49f0dcd170f8373d278 100644 (file)
@@ -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;