diff options
author | Christian König <[email protected]> | 2012-07-18 17:39:15 +0200 |
---|---|---|
committer | Christian König <[email protected]> | 2012-07-24 12:29:30 +0200 |
commit | 3c09f11e5cefd437bb8185539430786dc245c96f (patch) | |
tree | 2ef17dbda9e1e89ca17d9d07d77175759e077d96 /src/gallium/drivers/radeonsi/si_state.h | |
parent | bd2a5cf328c21f2d5b243442ee2eac73a996b15c (diff) |
radeonsi: move shaders to new handling
Signed-off-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h index d8f03392a4c..cd2b9626a92 100644 --- a/src/gallium/drivers/radeonsi/si_state.h +++ b/src/gallium/drivers/radeonsi/si_state.h @@ -61,6 +61,46 @@ struct si_state_dsa { uint8_t writemask[2]; }; +struct si_vertex_element +{ + unsigned count; + struct pipe_vertex_element elements[PIPE_MAX_ATTRIBS]; +}; + +struct si_shader_io { + unsigned name; + unsigned gpr; + unsigned done; + int sid; + unsigned param_offset; + unsigned interpolate; + bool centroid; +}; + +struct si_shader { + unsigned ninput; + unsigned noutput; + struct si_shader_io input[32]; + struct si_shader_io output[32]; + bool uses_kill; + bool fs_write_all; + unsigned nr_cbufs; +}; + +struct si_pipe_shader { + struct si_shader shader; + struct si_pm4_state *pm4; + struct r600_resource *bo; + struct si_vertex_element vertex_elements; + struct tgsi_token *tokens; + unsigned num_sgprs; + unsigned num_vgprs; + unsigned spi_ps_input_ena; + unsigned sprite_coord_enable; + struct pipe_stream_output_info so; + unsigned so_strides[4]; +}; + union si_state { struct { struct si_pm4_state *init; @@ -75,6 +115,8 @@ union si_state { struct si_pm4_state *fb_rs; struct si_pm4_state *fb_blend; struct si_pm4_state *dsa_stencil_ref; + struct si_pm4_state *vs; + struct si_pm4_state *ps; struct si_pm4_state *spi; struct si_pm4_state *draw_info; } named; |