summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_pipe.h
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2012-06-26 12:23:31 -0400
committerVadim Girlin <[email protected]>2012-06-27 02:06:55 +0400
commit470d00c0e270c6079232d0d5ab10bf3219768faf (patch)
tree4fe9acabc66c3bd7e6e672e315d3bdb9fbe1f980 /src/gallium/drivers/r600/r600_pipe.h
parent0c47d9dcab80923c61b3f5375128e9b511b842fb (diff)
r600g: enable DUAL_EXPORT mode when possible
It seems DUAL_EXPORT on evergreen may be enabled when all CBs use 16-bit export mode (EXPORT_4C_16BPC), also there should be at least one CB, and the PS shouldn't export depth/stencil. Signed-off-by: Vadim Girlin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index 380fd660c29..72db0096dc4 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -214,6 +214,8 @@ struct r600_pipe_shader {
unsigned pa_cl_vs_out_cntl;
unsigned ps_cb_shader_mask;
unsigned key;
+ unsigned db_shader_control;
+ unsigned ps_depth_export;
};
struct r600_pipe_sampler_state {
@@ -282,6 +284,7 @@ struct r600_context {
unsigned fb_cb_shader_mask;
unsigned sx_alpha_test_control;
unsigned cb_shader_mask;
+ unsigned db_shader_control;
unsigned cb_color_control;
unsigned pa_sc_line_stipple;
unsigned pa_cl_clip_cntl;
@@ -419,6 +422,8 @@ boolean evergreen_is_format_supported(struct pipe_screen *screen,
unsigned sample_count,
unsigned usage);
+void evergreen_update_dual_export_state(struct r600_context * rctx);
+
/* r600_blit.c */
void r600_init_blit_functions(struct r600_context *rctx);
void r600_blit_uncompress_depth(struct pipe_context *ctx, struct r600_resource_texture *texture);