mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 09:18:04 +02:00
r300: Don't disable destination read if the src blend factor needs it
The read can remain disabled if the src alpha factor needs it because the result would still be zero. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57984 NOTE: This is a candidate for stable release branches. Signed-off-by: Marek Olšák <maraeo@gmail.com>
This commit is contained in:
parent
ff574d653b
commit
ff5a9868c8
1 changed files with 10 additions and 2 deletions
|
|
@ -288,7 +288,11 @@ static void* r300_create_blend_state(struct pipe_context* pipe,
|
|||
dstRGB == PIPE_BLENDFACTOR_ZERO) &&
|
||||
(dstA == PIPE_BLENDFACTOR_SRC_COLOR ||
|
||||
dstA == PIPE_BLENDFACTOR_SRC_ALPHA ||
|
||||
dstA == PIPE_BLENDFACTOR_ZERO)) {
|
||||
dstA == PIPE_BLENDFACTOR_ZERO) &&
|
||||
(srcRGB != PIPE_BLENDFACTOR_DST_COLOR &&
|
||||
srcRGB != PIPE_BLENDFACTOR_DST_ALPHA &&
|
||||
srcRGB != PIPE_BLENDFACTOR_INV_DST_COLOR &&
|
||||
srcRGB != PIPE_BLENDFACTOR_INV_DST_ALPHA)) {
|
||||
blend_control |= R500_SRC_ALPHA_0_NO_READ;
|
||||
}
|
||||
|
||||
|
|
@ -297,7 +301,11 @@ static void* r300_create_blend_state(struct pipe_context* pipe,
|
|||
dstRGB == PIPE_BLENDFACTOR_ZERO) &&
|
||||
(dstA == PIPE_BLENDFACTOR_INV_SRC_COLOR ||
|
||||
dstA == PIPE_BLENDFACTOR_INV_SRC_ALPHA ||
|
||||
dstA == PIPE_BLENDFACTOR_ZERO)) {
|
||||
dstA == PIPE_BLENDFACTOR_ZERO) &&
|
||||
(srcRGB != PIPE_BLENDFACTOR_DST_COLOR &&
|
||||
srcRGB != PIPE_BLENDFACTOR_DST_ALPHA &&
|
||||
srcRGB != PIPE_BLENDFACTOR_INV_DST_COLOR &&
|
||||
srcRGB != PIPE_BLENDFACTOR_INV_DST_ALPHA)) {
|
||||
blend_control |= R500_SRC_ALPHA_1_NO_READ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue