[Mesa-dev] [PATCH v2 4/5] st/xa: handle solid-fill src/mask

Rob Clark robdclark at gmail.com
Wed Apr 9 14:23:19 PDT 2014


On Wed, Apr 9, 2014 at 5:12 PM, Rob Clark <robdclark at gmail.com> wrote:
> On Wed, Apr 9, 2014 at 1:59 PM, Thomas Hellstrom <thellstrom at vmware.com> wrote:
>> Hi, Rob!
>>
>> On 04/08/2014 10:48 PM, Rob Clark wrote:
>>> From: Rob Clark <robclark at freedesktop.org>
>>>
>>> Add support to property handle solid-fill src and/or mask.  Without this
>>> we fallback to sw a lot for common things like text rendering.
>>>
>>> Signed-off-by: Rob Clark <robclark at freedesktop.org>
>>> ---
>>>  src/gallium/state_trackers/xa/xa_composite.c | 115 +++++------
>>>  src/gallium/state_trackers/xa/xa_priv.h      |  13 +-
>>>  src/gallium/state_trackers/xa/xa_renderer.c  | 298 ++++++++++++++++-----------
>>>  src/gallium/state_trackers/xa/xa_tgsi.c      |  36 +++-
>>>  4 files changed, 263 insertions(+), 199 deletions(-)
>>>
>>> diff --git a/src/gallium/state_trackers/xa/xa_composite.c b/src/gallium/state_trackers/xa/xa_composite.c
>>> index 7ae35a1..b70fd47 100644
>>> --- a/src/gallium/state_trackers/xa/xa_composite.c
>>> +++ b/src/gallium/state_trackers/xa/xa_composite.c
>>> @@ -111,12 +111,6 @@ blend_for_op(struct xa_composite_blend *blend,
>>>      boolean supported = FALSE;
>>>
>>>      /*
>>> -     * Temporarily disable component alpha since it appears buggy.
>>> -     */
>>> -    if (mask_pic && mask_pic->component_alpha)
>>> -     return FALSE;
>>> -
>>> -    /*
>>>
>>
>> I'll attach the rendercheck logs of two early regression. The first one
>> (log1.txt) happens because we enable component_alpha here.
>> The second one is with component alpha disabled again.
>
> hmm, so for the second test, it works for me with --sync:

oh, and if I bring back disabling of mask pic w/ component alpha, then
it passes for me both with and without --sync..

BR,
-R

> ------------
> [robclark at reptile:~]$ rendercheck --sync -v -t mcoords
> rendercheck 1.4
> Render extension version 0.11
> Window format: r8g8b8
> Found server-supported format: a8
> Found server-supported format: a8r8g8b8
> Found server-supported format: x8r8g8b8
> Found server-supported format: b8g8r8a8
> Found server-supported format: b8g8r8x8
> Found server-supported format: r8g8b8
> Found server-supported format: b8g8r8
> Found server-supported format: r5g5b5
> Found server-supported format: b5g5r5
> Found server-supported format: x1r5g5b5
> Found server-supported format: x1b5g5r5
> Found server-supported format: r5g6b5
> Found server-supported format: b5g6r5
> Found server-supported format: x8b8g8r8
> Found server-supported format: x2r10g10b10
> Found server-supported format: x2b10g10r10
> Beginning mask coords test
> 1 tests passed of 1 total
> Successful Groups:
>     mcoords
> [robclark at reptile:~]$
> ------------
>
>
> but not without (although the error I get is a bit different..
> although maybe different rendercheck args?)
>
> ------------
> [robclark at reptile:~]$ rendercheck -v -t mcoords
> rendercheck 1.4
> Render extension version 0.11
> Window format: r8g8b8
> Found server-supported format: a8
> Found server-supported format: a8r8g8b8
> Found server-supported format: x8r8g8b8
> Found server-supported format: b8g8r8a8
> Found server-supported format: b8g8r8x8
> Found server-supported format: r8g8b8
> Found server-supported format: b8g8r8
> Found server-supported format: r5g5b5
> Found server-supported format: b5g5r5
> Found server-supported format: x1r5g5b5
> Found server-supported format: x1b5g5r5
> Found server-supported format: r5g6b5
> Found server-supported format: b5g6r5
> Found server-supported format: x8b8g8r8
> Found server-supported format: x2r10g10b10
> Found server-supported format: x2b10g10r10
> Beginning mask coords test
> mask coords test error of 255.0000 at (0, 0) --
>            R     G     B     A
> got:       1.000 1.000 1.000 1.000
> expected:  1.000 0.000 0.000 1.000
> mask coords test error of 255.0000 at (1, 1) --
>            R     G     B     A
> got:       1.000 0.000 0.000 1.000
> expected:  1.000 1.000 1.000 1.000
> mask coords test error of 255.0000 at (2, 1) --
>            R     G     B     A
> got:       1.000 1.000 1.000 1.000
> expected:  1.000 0.000 0.000 1.000
> mask coords test error of 255.0000 at (3, 1) --
>            R     G     B     A
> got:       1.000 0.000 0.000 1.000
> expected:  1.000 1.000 1.000 1.000
> mask coords test error of 255.0000 at (4, 1) --
>            R     G     B     A
> got:       1.000 1.000 1.000 1.000
> expected:  1.000 0.000 0.000 1.000
> mask coords test error of 255.0000 at (1, 2) --
>            R     G     B     A
> got:       1.000 0.000 0.000 1.000
> expected:  1.000 1.000 1.000 1.000
> mask coords test error of 255.0000 at (2, 2) --
>            R     G     B     A
> got:       1.000 1.000 1.000 1.000
> expected:  1.000 0.000 0.000 1.000
> mask coords test error of 255.0000 at (3, 2) --
>            R     G     B     A
> got:       1.000 0.000 0.000 1.000
> expected:  1.000 1.000 1.000 1.000
> mask coords test error of 255.0000 at (4, 2) --
>            R     G     B     A
> got:       1.000 1.000 1.000 1.000
> expected:  1.000 0.000 0.000 1.000
> mask coords test error of 255.0000 at (1, 3) --
>            R     G     B     A
> got:       1.000 0.000 0.000 1.000
> expected:  1.000 1.000 1.000 1.000
> mask coords test error of 255.0000 at (3, 3) --
>            R     G     B     A
> got:       1.000 1.000 1.000 1.000
> expected:  1.000 0.000 0.000 1.000
> expected vs tested:
> 11111 01111
> 10101 11010
> 10101 11010
> 10011 11001
> 11111 11111
> 0 tests passed of 1 total
> Successful Groups:
> [robclark at reptile:~]$
> ------------
>
> BR,
> -R


More information about the mesa-dev mailing list