sna/trapezoids: Presume that Precise mono rasterisation adheres to the spec

References: https://bugs.freedesktop.org/show_bug.cgi?id=46156
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-02-16 22:01:41 +00:00
parent 52b11f63d7
commit 95391b7312
1 changed files with 7 additions and 6 deletions

View File

@ -3007,7 +3007,7 @@ trapezoid_mask_converter(CARD8 op, PicturePtr src, PicturePtr dst,
if (NO_SCAN_CONVERTER)
return false;
if (dst->polyMode == PolyModePrecise) {
if (dst->polyMode == PolyModePrecise && !is_mono(dst, maskFormat)) {
DBG(("%s: fallback -- precise rasterisation requested\n",
__FUNCTION__));
return false;
@ -3351,7 +3351,7 @@ trapezoid_span_inplace(CARD8 op, PicturePtr src, PicturePtr dst,
if (NO_SCAN_CONVERTER)
return false;
if (dst->polyMode == PolyModePrecise) {
if (dst->polyMode == PolyModePrecise && !is_mono(dst, maskFormat)) {
DBG(("%s: fallback -- precise rasterisation requested\n",
__FUNCTION__));
return false;
@ -3519,7 +3519,7 @@ trapezoid_span_fallback(CARD8 op, PicturePtr src, PicturePtr dst,
if (NO_SCAN_CONVERTER)
return false;
if (dst->polyMode == PolyModePrecise) {
if (dst->polyMode == PolyModePrecise && !is_mono(dst, maskFormat)) {
DBG(("%s: fallback -- precise rasterisation requested\n",
__FUNCTION__));
return false;
@ -4008,7 +4008,8 @@ trap_mask_converter(PicturePtr picture,
return false;
/* XXX strict adherence to the Render specification */
if (picture->polyMode == PolyModePrecise) {
if (picture->polyMode == PolyModePrecise &&
picture->polyEdge != PolyEdgeSharp) {
DBG(("%s: fallback -- precise rasterisation requested\n",
__FUNCTION__));
return false;
@ -4515,7 +4516,7 @@ triangles_mask_converter(CARD8 op, PicturePtr src, PicturePtr dst,
if (NO_SCAN_CONVERTER)
return false;
if (dst->polyMode == PolyModePrecise) {
if (dst->polyMode == PolyModePrecise && !is_mono(dst, maskFormat)) {
DBG(("%s: fallback -- precise rasterisation requested\n",
__FUNCTION__));
return false;
@ -4748,7 +4749,7 @@ tristrip_span_converter(CARD8 op, PicturePtr src, PicturePtr dst,
return false;
/* XXX strict adherence to the Render specification */
if (dst->polyMode == PolyModePrecise) {
if (dst->polyMode == PolyModePrecise && !is_mono(dst, maskFormat)) {
DBG(("%s: fallback -- precise rasterisation requested\n",
__FUNCTION__));
return false;