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

Thomas Hellstrom thellstrom at vmware.com
Wed Apr 9 10:59:10 PDT 2014


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.

/Thomas


-------------- next part --------------
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 testing of filling of 1x1R pictures
Beginning testing of filling of 10x10 pictures
Beginning dest coords test
Beginning src coords test
Beginning mask coords test
mask coords test error of 32.0000 at (1, 0) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (2, 0) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (3, 0) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (4, 0) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (0, 1) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 64.0000 at (1, 1) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 1.00 1.00 1.00
mask coords test error of 32.0000 at (2, 1) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 64.0000 at (3, 1) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 1.00 1.00 1.00
mask coords test error of 32.0000 at (4, 1) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (0, 2) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 64.0000 at (1, 2) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 1.00 1.00 1.00
mask coords test error of 32.0000 at (2, 2) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 64.0000 at (3, 2) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 1.00 1.00 1.00
mask coords test error of 32.0000 at (4, 2) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (0, 3) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 64.0000 at (1, 3) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 1.00 1.00 1.00
mask coords test error of 64.0000 at (2, 3) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 1.00 1.00 1.00
mask coords test error of 32.0000 at (3, 3) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (4, 3) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (0, 4) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (1, 4) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (2, 4) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (3, 4) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
mask coords test error of 32.0000 at (4, 4) --
           R    G    B    A
got:       0.00 0.00 0.00 1.00
expected:  1.00 0.00 0.00 1.00
expected vs tested:
11111 19999
10101 99999
10101 99999
10011 99999
11111 99999
Beginning transformed src coords test
Beginning transformed src coords test 2
-------------- next part --------------
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 testing of filling of 1x1R pictures
Beginning testing of filling of 10x10 pictures
Beginning dest coords test
Beginning src coords test
Beginning mask coords test
Beginning transformed src coords test
Beginning transformed src coords test 2
Beginning transformed mask coords test
mask transform coordinates test failed.
expected vs tested:
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7770077777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777000000007777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777777777777777777777777777 7777777777777777777777777777777777777777
7777777777777777


More information about the mesa-dev mailing list