glamor: Add new GLAMOR_CREATE_PIXMAP_NO_TEXTURE pixmap create flag
This flag lets a DDX allocate a glamor pixmap without allocating the texture that backs it. The DDX can then allocate the texture itself and then set it later. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
fe204185bc
commit
d148034375
|
@ -182,7 +182,15 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth,
|
|||
pitch = (((w * pixmap->drawable.bitsPerPixel + 7) / 8) + 3) & ~3;
|
||||
screen->ModifyPixmapHeader(pixmap, w, h, 0, 0, pitch, NULL);
|
||||
|
||||
if (type == GLAMOR_MEMORY_MAP || usage == GLAMOR_CREATE_NO_LARGE ||
|
||||
if (usage == GLAMOR_CREATE_PIXMAP_NO_TEXTURE) {
|
||||
pixmap_priv->type = GLAMOR_TEXTURE_ONLY;
|
||||
pixmap_priv->base.box.x1 = 0;
|
||||
pixmap_priv->base.box.y1 = 0;
|
||||
pixmap_priv->base.box.x2 = w;
|
||||
pixmap_priv->base.box.y2 = h;
|
||||
return pixmap;
|
||||
}
|
||||
else if (type == GLAMOR_MEMORY_MAP || usage == GLAMOR_CREATE_NO_LARGE ||
|
||||
glamor_check_fbo_size(glamor_priv, w, h))
|
||||
{
|
||||
pixmap_priv->type = type;
|
||||
|
|
|
@ -149,6 +149,7 @@ extern _X_EXPORT PixmapPtr glamor_create_pixmap(ScreenPtr screen, int w, int h,
|
|||
#define GLAMOR_CREATE_FBO_NO_FBO 0x103
|
||||
#define GLAMOR_CREATE_PIXMAP_MAP 0x104
|
||||
#define GLAMOR_CREATE_NO_LARGE 0x105
|
||||
#define GLAMOR_CREATE_PIXMAP_NO_TEXTURE 0x106
|
||||
|
||||
/* @glamor_egl_exchange_buffers: Exchange the underlying buffers(KHR image,fbo).
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue
Block a user