Summary: | an alternative approach for faster rendering using GL/GLES with None AA or default AA | ||
---|---|---|---|
Product: | cairo | Reporter: | Henry Song <hsong> |
Component: | gl backend | Assignee: | cairo-bugs mailing list <cairo-bugs> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | enhancement | ||
Priority: | medium | CC: | mrobinson |
Version: | 1.10.3 | ||
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
first patch of GL/GLES backend alternative approach for solid color fill
revised patch to replace previous patch |
Description
Henry Song
2011-10-05 09:00:41 UTC
Ok, the most important question is "how do I know when to use MSAA?" On the inferior Intel hardware, it neither supports MSAA nor does it render triangles well and spans is still generally faster than traps. ;-) I'd like to only enable the MSAA compositor if we have sufficient GL support for MSAA and to only use MSAA if antialias != CAIRO_ANTIALIAS_FAST. We can debate whether or not to enable it by default when we can judge it on its merits. Be careful not to call the compositor->delegate->*() functions directly, they may be NULL! Just return CAIRO_INT_STATUS_UNSUPPORTED and let the wrapper call then delegate. (At first I did the delegation directly as you did here, but then decided that a NULL delegate was indeed useful.) Perhaps the zeroth patch should be to introduce the MSAA compositor that does nothing but delegate, but is only installed if we decide we have adequate GL support. Created attachment 52243 [details] [review] revised patch to replace previous patch The first patch has no real implementation, but introduces a new fast path for capable GL that supports MSAA for cairo/gl/gles backend. We will have more patches that will complete the implementation The first patch revised according to Chris's comments Applied, thanks. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.