diff options
author | Józef Kucia <[email protected]> | 2017-12-31 10:19:15 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2018-01-04 01:58:33 +0100 |
commit | f222cf3c6d6fc5d9dee3742d20aa77cfff9c39f8 (patch) | |
tree | 9c9e6b91b2131ba4aa7b1ae8b1a130fb5f8a092c | |
parent | 79724c89f848ce606126bf2b8c669d9738c2b8ce (diff) |
radeonsi: fix alpha-to-coverage if color writes are disabled
If alpha-to-coverage is enabled, we have to compute alpha
even if color writes are disabled.
Signed-off-by: Józef Kucia <[email protected]>
Signed-off-by: Marek Olšák <[email protected]>
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state_shaders.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index 9143f61fcdf..6fe6855ecc8 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -1168,10 +1168,13 @@ static void si_shader_selector_key_hw_vs(struct si_context *sctx, /* Find out if PS is disabled. */ bool ps_disabled = true; if (ps) { + const struct si_state_blend *blend = sctx->queued.named.blend; + bool alpha_to_coverage = blend && blend->alpha_to_coverage; bool ps_modifies_zs = ps->info.uses_kill || ps->info.writes_z || ps->info.writes_stencil || ps->info.writes_samplemask || + alpha_to_coverage || si_get_alpha_test_func(sctx) != PIPE_FUNC_ALWAYS; unsigned ps_colormask = sctx->framebuffer.colorbuf_enabled_4bit & |