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

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


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:

------------
[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