summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2018-02-23 16:08:10 -0500
committerAdam Jackson <ajax@redhat.com>2018-02-26 16:46:34 -0500
commit8171d4c2d67b2990a278dc018ac32534c3afe606 (patch)
treef83e0536b3a40b0ed3eb32679e8c897891016736 /render
parent92272378064a878ce7a62852b877d674bcad89cd (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.c1
-rw-r--r--render/picturestr.h1
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 {