diff options
author | Vadim Girlin <[email protected]> | 2012-08-21 15:39:25 +0400 |
---|---|---|
committer | Vadim Girlin <[email protected]> | 2012-08-22 12:12:22 +0400 |
commit | 8d1a9a984f33d8e45f932a9f47cdd57da617a919 (patch) | |
tree | 7388bf485857208049374e4d0e6e5dcb42ba1fe1 /src/gallium/drivers/r600/r600_pipe.h | |
parent | c4610e9f927caa679f34f0d3135d7b1b8cb8bd29 (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.h | 8 |
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; |