Handle CELL_CMD_VS_EXECUTE *only* outside batch commands.

This commit is contained in:
Ian Romanick
2008-01-30 19:30:15 -08:00
parent fb348c2cb1
commit 193491cbd3
2 changed files with 5 additions and 6 deletions
+2 -1
View File
@@ -133,7 +133,6 @@ struct cell_array_info
struct cell_shader_info
{
unsigned processor;
unsigned num_outputs;
void *declarations;
@@ -147,6 +146,7 @@ struct cell_shader_info
#define SPU_VERTS_PER_BATCH 64
struct cell_command_vs
{
uint opcode; /**< CELL_CMD_VS_EXECUTE */
struct cell_shader_info shader;
unsigned num_elts;
unsigned elts[SPU_VERTS_PER_BATCH];
@@ -190,6 +190,7 @@ struct cell_command
struct cell_command_framebuffer fb;
struct cell_command_clear_surface clear;
struct cell_command_render render;
struct cell_command_vs vs;
} ALIGN16_ATTRIB;
+3 -5
View File
@@ -397,11 +397,6 @@ cmd_batch(uint opcode)
cmd_state_vs_array_info((struct cell_array_info *) &buffer[pos+1]);
pos += (1 + sizeof(struct cell_array_info) / 4);
break;
case CELL_CMD_VS_EXECUTE:
spu_execute_vertex_shader(&draw,
(struct cell_command_vs *) &buffer[pos+1]);
pos += (1 + sizeof(struct cell_command_vs) / 4);
break;
default:
printf("SPU %u: bad opcode: 0x%x\n", spu.init.id, buffer[pos]);
ASSERT(0);
@@ -470,6 +465,9 @@ main_loop(void)
assert(pos_incr == 0);
}
break;
case CELL_CMD_VS_EXECUTE:
spu_execute_vertex_shader(&draw, &cmd.vs);
break;
case CELL_CMD_BATCH:
cmd_batch(opcode);
break;