summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_pipe.h
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2012-08-21 15:39:25 +0400
committerVadim Girlin <[email protected]>2012-08-22 12:12:22 +0400
commit8d1a9a984f33d8e45f932a9f47cdd57da617a919 (patch)
tree7388bf485857208049374e4d0e6e5dcb42ba1fe1 /src/gallium/drivers/r600/r600_pipe.h
parentc4610e9f927caa679f34f0d3135d7b1b8cb8bd29 (diff)
r600g: fix lockups with dual_src_blend v2
Disable blending when dual_src_blend is enabled and number of color exports in the current fragment shader is less than 2. Fixes lockups with ext_framebuffer_multisample- alpha-to-coverage-dual-src-blend piglit test. 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.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index 7046573ab0b..3686521862e 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -389,6 +389,14 @@ struct r600_context {
struct r600_cs_shader_state cs_shader_state;
struct r600_sample_mask sample_mask;
+ /* current external blend state (from state tracker) */
+ struct r600_pipe_blend *blend;
+ /* state with disabled blending - used internally with blend_override */
+ struct r600_pipe_blend *no_blend;
+
+ /* 1 - override current blend state with no_blend, 0 - use external state */
+ unsigned blend_override;
+
struct radeon_winsys_cs *cs;
struct r600_range *range;