From 470d00c0e270c6079232d0d5ab10bf3219768faf Mon Sep 17 00:00:00 2001 From: Vadim Girlin Date: Tue, 26 Jun 2012 12:23:31 -0400 Subject: 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 --- src/gallium/drivers/r600/r600_pipe.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gallium/drivers/r600/r600_pipe.h') 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); -- cgit v1.2.3