Pushed, thanks! Marek
On Fri, Dec 7, 2012 at 5:38 PM, Stefan Dösinger <[email protected]> wrote: > 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. > --- > src/gallium/drivers/r300/r300_state.c | 12 ++++++++++-- > 1 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/drivers/r300/r300_state.c > b/src/gallium/drivers/r300/r300_state.c > index fba2d35..050c8f4 100644 > --- a/src/gallium/drivers/r300/r300_state.c > +++ b/src/gallium/drivers/r300/r300_state.c > @@ -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; > } > } > -- > 1.7.8.6 > > _______________________________________________ > mesa-dev mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
