diff options
author | Zhigang Gong <zhigang.gong@linux.intel.com> | 2011-12-13 21:46:14 +0800 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-12-14 11:29:29 +0000 |
commit | f8b9a2a5473efd0fefb3d2878e70c24c320245ca (patch) | |
tree | 103680a78dd430d50aea8435ac46406786740352 /uxa/uxa-priv.h | |
parent | d5456e40d9bebc9d6a121abdb124a90a2a8a6958 (diff) |
uxa/glamor: Enable the rest of the glamor rendering routines
This commit hooks up all the remaining rendering routines to call into
glamor; the takeover is nearly complete! When tested with the latest
glamor master branch, it passes rendercheck.
One thing need to be pointed out is the picture's handling.
Pictures support many different color formats, but glamor's
texture only support a few color formats. And the most common
scenario is that we create a pixmap with a color depth and
then attach it to a picture which has a specific color format
with the same color depth. But there is no way to change a
texture's internal format after the texture was allocated.
If you do that, the OpenGL will allocate a new texture. And
then the glamor side and UXA side will be inconsitent. So
for all the picture related operations, we can't fallback to
UXA path directly, even it is rather a straight forward
operation. So for the get_image, Addtraps.., we have to add
wrappers function for them to jump into glamor firstly.
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
[ickle: prefer access; ok = glamor(); finish; if (!ok) goto fallback; return; ]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'uxa/uxa-priv.h')
-rw-r--r-- | uxa/uxa-priv.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h index a455f25d..d6d857f1 100644 --- a/uxa/uxa-priv.h +++ b/uxa/uxa-priv.h @@ -292,6 +292,14 @@ void uxa_get_image(DrawablePtr pDrawable, int x, int y, int w, int h, unsigned int format, unsigned long planeMask, char *d); +void +uxa_get_spans(DrawablePtr pDrawable, int wMax, DDXPointPtr ppt, + int *pwidth, int nspans, char *pdstStart); + +void +uxa_add_traps(PicturePtr pPicture, + INT16 x_off, INT16 y_off, int ntrap, xTrap * traps); + extern const GCOps uxa_ops; #ifdef RENDER |