diff options
author | Marek Olšák <[email protected]> | 2012-07-07 07:15:04 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-07-12 02:08:30 +0200 |
commit | 0ea76916e63f8fc556f5e8f5a46c196d317cd5ad (patch) | |
tree | 6601131d601467def4ef09a5db80fdb7678c6847 /src/gallium/drivers/r600/r600_pipe.h | |
parent | 5ba15d8d38d98cb7b625fa55e7d818ef9c6629ce (diff) |
r600g: move CB_TARGET_MASK setup into new cb_misc_state
to remove some overhead from draw_vbo. This is a derived state.
BTW, I've got no idea how compute interacts with 3D here, but it should
use cb_misc_state, so that 3D and compute don't conflict.
Reviewed-by: Alex Deucher <[email protected]>
Reviewed-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 1b3cef1de06..ef27742d872 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -82,6 +82,12 @@ struct r600_db_misc_state { bool flush_depthstencil_enabled; }; +struct r600_cb_misc_state { + struct r600_atom atom; + unsigned blend_colormask; /* 8*4 bits for 8 RGBA colorbuffers */ + unsigned nr_cbufs; +}; + enum r600_pipe_state_id { R600_PIPE_STATE_BLEND = 0, R600_PIPE_STATE_BLEND_COLOR, @@ -280,8 +286,8 @@ struct r600_context { struct r600_pipe_state *states[R600_PIPE_NSTATES]; struct r600_vertex_element *vertex_elements; struct pipe_framebuffer_state framebuffer; - unsigned cb_target_mask; unsigned fb_cb_shader_mask; + unsigned compute_cb_target_mask; unsigned sx_alpha_test_control; unsigned cb_shader_mask; unsigned db_shader_control; @@ -328,6 +334,7 @@ struct r600_context { struct r600_command_buffer start_compute_cs_cmd; struct r600_surface_sync_cmd surface_sync_cmd; struct r600_atom r6xx_flush_and_inv_cmd; + struct r600_cb_misc_state cb_misc_state; struct r600_db_misc_state db_misc_state; struct r600_atom vertex_buffer_state; struct r600_constbuf_state vs_constbuf_state; |