diff options
author | Adam Jackson <ajax@redhat.com> | 2018-02-23 16:08:10 -0500 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2018-02-26 16:46:34 -0500 |
commit | 8171d4c2d67b2990a278dc018ac32534c3afe606 (patch) | |
tree | f83e0536b3a40b0ed3eb32679e8c897891016736 /render | |
parent | 92272378064a878ce7a62852b877d674bcad89cd (diff) |
render: Store and use all 16bpc of precision for solid pixels (v2.1)
This plumbs the full width color for solid pictures through to fb, exa,
and glamor. External drivers and acceleration code may wish to make a
similar change for sufficiently new servers.
v2: Don't break ABI (Michel Dänzer)
v2.1: Use the (correct) full color in fb too (Michel Dänzer)
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'render')
-rw-r--r-- | render/picture.c | 1 | ||||
-rw-r--r-- | render/picturestr.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/render/picture.c b/render/picture.c index f0638a39f..a53f3b560 100644 --- a/render/picture.c +++ b/render/picture.c @@ -875,6 +875,7 @@ CreateSolidPicture(Picture pid, xRenderColor * color, int *error) } pPicture->pSourcePict->type = SourcePictTypeSolidFill; pPicture->pSourcePict->solidFill.color = xRenderColorToCard32(*color); + memcpy(&pPicture->pSourcePict->solidFill.fullcolor, color, sizeof(*color)); return pPicture; } diff --git a/render/picturestr.h b/render/picturestr.h index 33baef9bf..dd25a272d 100644 --- a/render/picturestr.h +++ b/render/picturestr.h @@ -68,6 +68,7 @@ typedef struct pixman_transform PictTransform, *PictTransformPtr; typedef struct _PictSolidFill { unsigned int type; CARD32 color; + xRenderColor fullcolor; } PictSolidFill, *PictSolidFillPtr; typedef struct _PictGradientStop { |