Add CreatePixmap allocation hints.
These hints allow an acceleration architecture to optimize allocation of certain types of pixmaps, such as pixmaps that will serve as backing pixmaps for redirected windows.
This commit is contained in:
parent
3f1b6765aa
commit
f2e310132f
|
@ -1252,7 +1252,7 @@ DoCreatePbuffer(ClientPtr client, int screenNum, XID fbconfigId,
|
|||
|
||||
__glXenterServer(GL_FALSE);
|
||||
pPixmap = (*pGlxScreen->pScreen->CreatePixmap) (pGlxScreen->pScreen,
|
||||
width, height, config->rgbBits);
|
||||
width, height, config->rgbBits, 0);
|
||||
__glXleaveServer(GL_FALSE);
|
||||
|
||||
return DoCreateGLXDrawable(client, pGlxScreen, config, &pPixmap->drawable,
|
||||
|
|
|
@ -403,7 +403,7 @@ CreateImageBuffers (pWin, nbuf, ids, action, hint)
|
|||
pMultibuffer->pMultibuffers = pMultibuffers;
|
||||
if (!AddResource (ids[i], MultibufferResType, (pointer) pMultibuffer))
|
||||
break;
|
||||
pMultibuffer->pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, depth);
|
||||
pMultibuffer->pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, depth, 0);
|
||||
if (!pMultibuffer->pPixmap)
|
||||
break;
|
||||
if (!AddResource (ids[i], MultibufferDrawableResType, (pointer) pMultibuffer->pPixmap))
|
||||
|
@ -1576,7 +1576,8 @@ MultibufferPositionWindow (pWin, x, y)
|
|||
{
|
||||
pMultibuffer = &pMultibuffers->buffers[i];
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
|
||||
pWin->drawable.depth);
|
||||
pWin->drawable.depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
{
|
||||
DestroyImageBuffers (pWin);
|
||||
|
|
|
@ -155,7 +155,7 @@ pixCreateImageBuffers (pWin, nbuf, ids, action, hint)
|
|||
{
|
||||
pMBBuffer = &pMBWindow->buffers[i];
|
||||
pMBBuffer->pDrawable = (DrawablePtr)
|
||||
(*pScreen->CreatePixmap) (pScreen, width, height, depth);
|
||||
(*pScreen->CreatePixmap) (pScreen, width, height, depth, 0);
|
||||
if (!pMBBuffer->pDrawable)
|
||||
break;
|
||||
|
||||
|
@ -542,7 +542,8 @@ pixPositionWindow (pWin, x, y)
|
|||
for (i = 0; i < pMBWindow->numMultibuffer; i++)
|
||||
{
|
||||
pMBBuffer = &pMBWindow->buffers[i];
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, pWin->drawable.depth);
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, pWin->drawable.depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
{
|
||||
(* MB_SCREEN_PRIV(pScreen)->DestroyImageBuffers)(pWin);
|
||||
|
|
|
@ -543,7 +543,8 @@ miShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
|
|||
putGC = GetScratchGC(depth, dst->pScreen);
|
||||
if (!putGC)
|
||||
return;
|
||||
pmap = (*dst->pScreen->CreatePixmap)(dst->pScreen, sw, sh, depth);
|
||||
pmap = (*dst->pScreen->CreatePixmap)(dst->pScreen, sw, sh, depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pmap)
|
||||
{
|
||||
FreeScratchGC(putGC);
|
||||
|
@ -1070,7 +1071,7 @@ fbShmCreatePixmap (pScreen, width, height, depth, addr)
|
|||
{
|
||||
register PixmapPtr pPixmap;
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth);
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth, 0);
|
||||
if (!pPixmap)
|
||||
return NullPixmap;
|
||||
|
||||
|
|
|
@ -483,7 +483,8 @@ extern PixmapPtr afbCreatePixmap(
|
|||
ScreenPtr /*pScreen*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*depth*/
|
||||
int /*depth*/,
|
||||
unsigned /*usage_hint*/
|
||||
);
|
||||
|
||||
extern Bool afbDestroyPixmap(
|
||||
|
|
|
@ -72,7 +72,8 @@ afbPutImage(pDraw, pGC, depth, x, y, width, height, leftPad, format, pImage)
|
|||
int depthDst;
|
||||
|
||||
/* Create a tmp pixmap */
|
||||
pPixmap = (pScreen->CreatePixmap)(pScreen, width, height, depth);
|
||||
pPixmap = (pScreen->CreatePixmap)(pScreen, width, height, depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
return;
|
||||
|
||||
|
|
|
@ -70,11 +70,12 @@ SOFTWARE.
|
|||
#include "mfb.h"
|
||||
|
||||
PixmapPtr
|
||||
afbCreatePixmap(pScreen, width, height, depth)
|
||||
afbCreatePixmap(pScreen, width, height, depth, usage_hint)
|
||||
ScreenPtr pScreen;
|
||||
int width;
|
||||
int height;
|
||||
int depth;
|
||||
unsigned usage_hint;
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
size_t datasize;
|
||||
|
@ -127,8 +128,10 @@ afbCopyPixmap(PixmapPtr pSrc)
|
|||
|
||||
size = pSrc->drawable.height * pSrc->devKind * pSrc->drawable.depth;
|
||||
pScreen = pSrc->drawable.pScreen;
|
||||
pDst = (*pScreen->CreatePixmap)(pScreen, pSrc->drawable.width,
|
||||
pSrc->drawable.height, pSrc->drawable.depth);
|
||||
pDst = (*pScreen->CreatePixmap)(pScreen,
|
||||
pSrc->drawable.width,
|
||||
pSrc->drawable.height,
|
||||
pSrc->drawable.depth, 0);
|
||||
if (!pDst)
|
||||
return(NullPixmap);
|
||||
memmove((char *)pDst->devPrivate.ptr, (char *)pSrc->devPrivate.ptr, size);
|
||||
|
|
|
@ -739,7 +739,8 @@ extern PixmapPtr cfbCreatePixmap(
|
|||
ScreenPtr /*pScreen*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*depth*/
|
||||
int /*depth*/,
|
||||
unsigned /*usage_hint*/
|
||||
);
|
||||
|
||||
extern Bool cfbDestroyPixmap(
|
||||
|
|
|
@ -1407,7 +1407,8 @@ RegionPtr cfbCopyPlane(pSrcDrawable, pDstDrawable,
|
|||
ScreenPtr pScreen = pSrcDrawable->pScreen;
|
||||
GCPtr pGC1;
|
||||
|
||||
pBitmap = (*pScreen->CreatePixmap) (pScreen, width, height, 1);
|
||||
pBitmap = (*pScreen->CreatePixmap) (pScreen, width, height, 1,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pBitmap)
|
||||
return NULL;
|
||||
pGC1 = GetScratchGC (1, pScreen);
|
||||
|
|
|
@ -65,11 +65,12 @@ SOFTWARE.
|
|||
#include "cfbmskbits.h"
|
||||
|
||||
PixmapPtr
|
||||
cfbCreatePixmap (pScreen, width, height, depth)
|
||||
cfbCreatePixmap (pScreen, width, height, depth, usage_hint)
|
||||
ScreenPtr pScreen;
|
||||
int width;
|
||||
int height;
|
||||
int depth;
|
||||
unsigned usage_hint;
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
size_t datasize;
|
||||
|
@ -122,7 +123,7 @@ cfbCopyPixmap(pSrc)
|
|||
size = pSrc->drawable.height * pSrc->devKind;
|
||||
pScreen = pSrc->drawable.pScreen;
|
||||
pDst = (*pScreen->CreatePixmap) (pScreen, pSrc->drawable.width,
|
||||
pSrc->drawable.height, pSrc->drawable.depth);
|
||||
pSrc->drawable.height, pSrc->drawable.depth, 0);
|
||||
if (!pDst)
|
||||
return NullPixmap;
|
||||
memmove((char *)pDst->devPrivate.ptr, (char *)pSrc->devPrivate.ptr, size);
|
||||
|
|
|
@ -462,7 +462,8 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
|
|||
WindowPtr pParent = pWin->parent;
|
||||
PixmapPtr pPixmap;
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, w, h, pWin->drawable.depth);
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, w, h, pWin->drawable.depth,
|
||||
CREATE_PIXMAP_USAGE_BACKING_PIXMAP);
|
||||
|
||||
if (!pPixmap)
|
||||
return 0;
|
||||
|
|
|
@ -177,7 +177,7 @@ miDbeAllocBackBufferName(WindowPtr pWin, XID bufId, int swapAction)
|
|||
if (!(pDbeWindowPrivPriv->pFrontBuffer =
|
||||
(*pScreen->CreatePixmap)(pScreen, pDbeWindowPriv->width,
|
||||
pDbeWindowPriv->height,
|
||||
pWin->drawable.depth)))
|
||||
pWin->drawable.depth, 0)))
|
||||
{
|
||||
return(BadAlloc);
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ miDbeAllocBackBufferName(WindowPtr pWin, XID bufId, int swapAction)
|
|||
if (!(pDbeWindowPrivPriv->pBackBuffer =
|
||||
(*pScreen->CreatePixmap)(pScreen, pDbeWindowPriv->width,
|
||||
pDbeWindowPriv->height,
|
||||
pWin->drawable.depth)))
|
||||
pWin->drawable.depth, 0)))
|
||||
{
|
||||
(*pScreen->DestroyPixmap)(pDbeWindowPrivPriv->pFrontBuffer);
|
||||
return(BadAlloc);
|
||||
|
@ -648,10 +648,10 @@ miDbePositionWindow(WindowPtr pWin, int x, int y)
|
|||
|
||||
/* Create DBE buffer pixmaps equal to size of resized window. */
|
||||
pFrontBuffer = (*pScreen->CreatePixmap)(pScreen, width, height,
|
||||
pWin->drawable.depth);
|
||||
pWin->drawable.depth, 0);
|
||||
|
||||
pBackBuffer = (*pScreen->CreatePixmap)(pScreen, width, height,
|
||||
pWin->drawable.depth);
|
||||
pWin->drawable.depth, 0);
|
||||
|
||||
if (!pFrontBuffer || !pBackBuffer)
|
||||
{
|
||||
|
|
|
@ -1554,7 +1554,7 @@ ProcCreatePixmap(ClientPtr client)
|
|||
CreatePmap:
|
||||
pMap = (PixmapPtr)(*pDraw->pScreen->CreatePixmap)
|
||||
(pDraw->pScreen, stuff->width,
|
||||
stuff->height, stuff->depth);
|
||||
stuff->height, stuff->depth, 0);
|
||||
if (pMap)
|
||||
{
|
||||
pMap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
|
||||
|
|
4
dix/gc.c
4
dix/gc.c
|
@ -694,7 +694,7 @@ CreateDefaultTile (GCPtr pGC)
|
|||
(*pGC->pScreen->QueryBestSize)(TileShape, &w, &h, pGC->pScreen);
|
||||
pTile = (PixmapPtr)
|
||||
(*pGC->pScreen->CreatePixmap)(pGC->pScreen,
|
||||
w, h, pGC->depth);
|
||||
w, h, pGC->depth, 0);
|
||||
pgcScratch = GetScratchGC(pGC->depth, pGC->pScreen);
|
||||
if (!pTile || !pgcScratch)
|
||||
{
|
||||
|
@ -1036,7 +1036,7 @@ CreateDefaultStipple(int screenNum)
|
|||
h = 16;
|
||||
(* pScreen->QueryBestSize)(StippleShape, &w, &h, pScreen);
|
||||
if (!(pScreen->PixmapPerDepth[0] =
|
||||
(*pScreen->CreatePixmap)(pScreen, w, h, 1)))
|
||||
(*pScreen->CreatePixmap)(pScreen, w, h, 1, 0)))
|
||||
return FALSE;
|
||||
/* fill stipple with 1 */
|
||||
tmpval[0] = GXcopy; tmpval[1] = 1; tmpval[2] = FillSolid;
|
||||
|
|
|
@ -98,7 +98,8 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, CursorMetricPtr cm, unsigned cha
|
|||
bzero(pbits, nby);
|
||||
|
||||
ppix = (PixmapPtr)(*pScreen->CreatePixmap)(pScreen, cm->width,
|
||||
cm->height, 1);
|
||||
cm->height, 1,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
pGC = GetScratchGC(1, pScreen);
|
||||
if (!ppix || !pGC)
|
||||
{
|
||||
|
|
|
@ -59,7 +59,7 @@ GetScratchPixmapHeader(ScreenPtr pScreen, int width, int height, int depth,
|
|||
pScreen->pScratchPixmap = NULL;
|
||||
else
|
||||
/* width and height of 0 means don't allocate any pixmap data */
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, depth);
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, depth, 0);
|
||||
|
||||
if (pPixmap) {
|
||||
if ((*pScreen->ModifyPixmapHeader)(pPixmap, width, height, depth,
|
||||
|
|
|
@ -312,7 +312,7 @@ MakeRootTile(WindowPtr pWin)
|
|||
int i, j;
|
||||
|
||||
pWin->background.pixmap = (*pScreen->CreatePixmap)(pScreen, 4, 4,
|
||||
pScreen->rootDepth);
|
||||
pScreen->rootDepth, 0);
|
||||
|
||||
pWin->backgroundState = BackgroundPixmap;
|
||||
pGC = GetScratchGC(pScreen->rootDepth, pScreen);
|
||||
|
|
|
@ -234,7 +234,8 @@ exaLog2(int val)
|
|||
* for scratch pixmaps, or to represent the visible screen.
|
||||
*/
|
||||
static PixmapPtr
|
||||
exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
||||
exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
|
||||
unsigned usage_hint)
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
ExaPixmapPrivPtr pExaPixmap;
|
||||
|
@ -246,10 +247,10 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
|||
return NullPixmap;
|
||||
|
||||
if (!pExaScr->info->CreatePixmap) {
|
||||
pPixmap = fbCreatePixmap (pScreen, w, h, depth);
|
||||
pPixmap = fbCreatePixmap (pScreen, w, h, depth, usage_hint);
|
||||
} else {
|
||||
driver_alloc = 1;
|
||||
pPixmap = fbCreatePixmap(pScreen, 0, 0, depth);
|
||||
pPixmap = fbCreatePixmap(pScreen, 0, 0, depth, usage_hint);
|
||||
}
|
||||
|
||||
if (!pPixmap)
|
||||
|
|
|
@ -774,7 +774,7 @@ exaCreateAlphaPicture (ScreenPtr pScreen,
|
|||
}
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
|
||||
pPictFormat->depth);
|
||||
pPictFormat->depth, 0);
|
||||
if (!pPixmap)
|
||||
return 0;
|
||||
pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
|
||||
|
|
3
fb/fb.h
3
fb/fb.h
|
@ -1624,7 +1624,8 @@ PixmapPtr
|
|||
fbCreatePixmapBpp (ScreenPtr pScreen, int width, int height, int depth, int bpp);
|
||||
|
||||
PixmapPtr
|
||||
fbCreatePixmap (ScreenPtr pScreen, int width, int height, int depth);
|
||||
fbCreatePixmap (ScreenPtr pScreen, int width, int height, int depth,
|
||||
unsigned usage_hint);
|
||||
|
||||
Bool
|
||||
fbDestroyPixmap (PixmapPtr pPixmap);
|
||||
|
|
|
@ -137,7 +137,7 @@ fbOverlayCreateScreenResources(ScreenPtr pScreen)
|
|||
pbits = pScrPriv->layer[i].u.init.pbits;
|
||||
width = pScrPriv->layer[i].u.init.width;
|
||||
depth = pScrPriv->layer[i].u.init.depth;
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, depth);
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, depth, 0);
|
||||
if (!pPixmap)
|
||||
return FALSE;
|
||||
if (!(*pScreen->ModifyPixmapHeader)(pPixmap, pScreen->width,
|
||||
|
|
|
@ -80,7 +80,8 @@ fbCreatePixmapBpp (ScreenPtr pScreen, int width, int height, int depth, int bpp)
|
|||
}
|
||||
|
||||
PixmapPtr
|
||||
fbCreatePixmap (ScreenPtr pScreen, int width, int height, int depth)
|
||||
fbCreatePixmap (ScreenPtr pScreen, int width, int height, int depth,
|
||||
unsigned usage_hint)
|
||||
{
|
||||
int bpp;
|
||||
bpp = BitsPerPixel (depth);
|
||||
|
|
|
@ -275,7 +275,7 @@ xxCreateScreenResources(ScreenPtr pScreen)
|
|||
* (BitsPerPixel(depth) >> 3));
|
||||
if (!pBits) return FALSE;
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, depth);
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, depth, 0);
|
||||
if (!pPixmap) {
|
||||
xfree(pBits);
|
||||
return FALSE;
|
||||
|
|
|
@ -81,7 +81,8 @@ void dmxBECreatePixmap(PixmapPtr pPixmap)
|
|||
|
||||
/** Create a pixmap for \a pScreen with the specified \a width, \a
|
||||
* height, and \a depth. */
|
||||
PixmapPtr dmxCreatePixmap(ScreenPtr pScreen, int width, int height, int depth)
|
||||
PixmapPtr dmxCreatePixmap(ScreenPtr pScreen, int width, int height, int depth,
|
||||
unsigned usage_hint)
|
||||
{
|
||||
DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];
|
||||
PixmapPtr pPixmap;
|
||||
|
|
|
@ -49,7 +49,8 @@ typedef struct _dmxPixPriv {
|
|||
extern Bool dmxInitPixmap(ScreenPtr pScreen);
|
||||
|
||||
extern PixmapPtr dmxCreatePixmap(ScreenPtr pScreen,
|
||||
int width, int height, int depth);
|
||||
int width, int height, int depth,
|
||||
unsigned usage_hint);
|
||||
extern Bool dmxDestroyPixmap(PixmapPtr pPixmap);
|
||||
extern RegionPtr dmxBitmapToRegion(PixmapPtr pPixmap);
|
||||
|
||||
|
|
|
@ -294,7 +294,7 @@ kaaDestroyPixmap (PixmapPtr pPixmap)
|
|||
}
|
||||
|
||||
static PixmapPtr
|
||||
kaaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
||||
kaaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, unsigned usage_hint)
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
KaaPixmapPrivPtr pKaaPixmap;
|
||||
|
|
|
@ -432,7 +432,7 @@ xf86SetDGAMode(
|
|||
}
|
||||
|
||||
if(pMode->flags & DGA_PIXMAP_AVAILABLE) {
|
||||
if((pPix = (*pScreen->CreatePixmap)(pScreen, 0, 0, pMode->depth))) {
|
||||
if((pPix = (*pScreen->CreatePixmap)(pScreen, 0, 0, pMode->depth, 0))) {
|
||||
(*pScreen->ModifyPixmapHeader)(pPix,
|
||||
pMode->pixmapWidth, pMode->pixmapHeight,
|
||||
pMode->depth, pMode->bitsPerPixel,
|
||||
|
|
|
@ -141,7 +141,8 @@ static void RACCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
|
|||
RegionPtr prgnSrc );
|
||||
static void RACClearToBackground (WindowPtr pWin, int x, int y,
|
||||
int w, int h, Bool generateExposures );
|
||||
static PixmapPtr RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth);
|
||||
static PixmapPtr RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
|
||||
unsigned usage_hint);
|
||||
static Bool RACCreateGC(GCPtr pGC);
|
||||
static Bool RACSaveScreen(ScreenPtr pScreen, Bool unblank);
|
||||
static void RACStoreColors (ColormapPtr pmap, int ndef, xColorItem *pdefs);
|
||||
|
@ -450,14 +451,14 @@ RACClearToBackground (
|
|||
}
|
||||
|
||||
static PixmapPtr
|
||||
RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
||||
RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, unsigned usage_hint)
|
||||
{
|
||||
PixmapPtr pPix;
|
||||
|
||||
DPRINT_S("RACCreatePixmap",pScreen->myNum);
|
||||
SCREEN_PROLOG ( CreatePixmap);
|
||||
ENABLE;
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth, usage_hint);
|
||||
SCREEN_EPILOG (CreatePixmap, RACCreatePixmap);
|
||||
|
||||
return pPix;
|
||||
|
|
|
@ -30,7 +30,8 @@ static void XAAGetImage(DrawablePtr pDrawable, int sx, int sy, int w, int h,
|
|||
char *pdstLine);
|
||||
static void XAAGetSpans(DrawablePtr pDrawable, int wMax, DDXPointPtr ppt,
|
||||
int *pwidth, int nspans, char *pdstStart);
|
||||
static PixmapPtr XAACreatePixmap(ScreenPtr pScreen, int w, int h, int depth);
|
||||
static PixmapPtr XAACreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
|
||||
unsigned usage_hint);
|
||||
static Bool XAADestroyPixmap(PixmapPtr pPixmap);
|
||||
static Bool XAAEnterVT (int index, int flags);
|
||||
static void XAALeaveVT (int index, int flags);
|
||||
|
@ -306,7 +307,8 @@ XAAPixmapBPP (ScreenPtr pScreen, int depth)
|
|||
DestroyPixmapProcPtr destroyPixmap;
|
||||
|
||||
XAA_SCREEN_PROLOGUE (pScreen, CreatePixmap);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, 1, 1, depth);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, 1, 1, depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
XAA_SCREEN_EPILOGUE (pScreen, CreatePixmap, XAACreatePixmap);
|
||||
if (!pPix)
|
||||
return 0;
|
||||
|
@ -337,7 +339,7 @@ XAAInitializeOffscreenDepths (ScreenPtr pScreen)
|
|||
}
|
||||
|
||||
static PixmapPtr
|
||||
XAACreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
||||
XAACreatePixmap(ScreenPtr pScreen, int w, int h, int depth, unsigned usage_hint)
|
||||
{
|
||||
XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
|
||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
|
@ -383,7 +385,7 @@ XAACreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
|||
}
|
||||
|
||||
XAA_SCREEN_PROLOGUE (pScreen, CreatePixmap);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, 0, 0, depth);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, 0, 0, depth, usage_hint);
|
||||
XAA_SCREEN_EPILOGUE (pScreen, CreatePixmap, XAACreatePixmap);
|
||||
|
||||
if (!pPix) {
|
||||
|
@ -415,7 +417,7 @@ XAACreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
|||
}
|
||||
BAILOUT:
|
||||
XAA_SCREEN_PROLOGUE (pScreen, CreatePixmap);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth, usage_hint);
|
||||
XAA_SCREEN_EPILOGUE (pScreen, CreatePixmap, XAACreatePixmap);
|
||||
|
||||
if(pPix) {
|
||||
|
|
|
@ -146,7 +146,7 @@ v16CreateScreenResources
|
|||
/* create a pixmap with no data, then redirect it to point to
|
||||
* the screen
|
||||
*/
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth);
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth, 0);
|
||||
if (!pPixmap)
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -79,7 +79,8 @@ xf4bppGetImage( pDraw, sx, sy, w, h, format, planeMask, pdstLine )
|
|||
!= (unsigned)( 1 << pDraw->depth ) - 1 ) {
|
||||
pGC = GetScratchGC( depth, pDraw->pScreen ) ;
|
||||
pPixmap = (PixmapPtr)
|
||||
(* pDraw->pScreen->CreatePixmap)( pDraw->pScreen, w, h, depth ) ;
|
||||
(* pDraw->pScreen->CreatePixmap)( pDraw->pScreen, w, h, depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH) ;
|
||||
gcv[0] = GXcopy ;
|
||||
gcv[1] = planeMask ;
|
||||
DoChangeGC( pGC, GCPlaneMask | GCFunction, gcv, 0 ) ;
|
||||
|
|
|
@ -82,16 +82,17 @@ SOFTWARE.
|
|||
#include "scrnintstr.h"
|
||||
|
||||
PixmapPtr
|
||||
xf4bppCreatePixmap( pScreen, width, height, depth )
|
||||
xf4bppCreatePixmap( pScreen, width, height, depth, usage_hint )
|
||||
ScreenPtr pScreen ;
|
||||
int width ;
|
||||
int height ;
|
||||
int depth ;
|
||||
unsigned usage_hint ;
|
||||
{
|
||||
register PixmapPtr pPixmap = (PixmapPtr)NULL;
|
||||
size_t size ;
|
||||
|
||||
TRACE(("xf4bppCreatePixmap(pScreen=0x%x, width=%d, height=%d, depth=%d)\n", pScreen, width, height, depth)) ;
|
||||
TRACE(("xf4bppCreatePixmap(pScreen=0x%x, width=%d, height=%d, depth=%d, usage_hint=%d)\n", pScreen, width, height, depth, usage_hint)) ;
|
||||
|
||||
if ( depth > 8 )
|
||||
return (PixmapPtr) NULL ;
|
||||
|
|
|
@ -183,7 +183,8 @@ PixmapPtr xf4bppCreatePixmap(
|
|||
ScreenPtr,
|
||||
int,
|
||||
int,
|
||||
int
|
||||
int,
|
||||
unsigned
|
||||
);
|
||||
PixmapPtr xf4bppCopyPixmap(
|
||||
PixmapPtr
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
static Bool OverlayCloseScreen (int, ScreenPtr);
|
||||
static Bool OverlayCreateGC(GCPtr pGC);
|
||||
static Bool OverlayDestroyPixmap(PixmapPtr);
|
||||
static PixmapPtr OverlayCreatePixmap(ScreenPtr, int, int, int);
|
||||
static PixmapPtr OverlayCreatePixmap(ScreenPtr, int, int, int, unsigned);
|
||||
static Bool OverlayChangeWindowAttributes(WindowPtr, unsigned long);
|
||||
|
||||
/** Funcs **/
|
||||
|
@ -339,13 +339,14 @@ OverlayCreateGC(GCPtr pGC)
|
|||
}
|
||||
|
||||
static PixmapPtr
|
||||
OverlayCreatePixmap(ScreenPtr pScreen, int w, int h, int depth)
|
||||
OverlayCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
|
||||
unsigned usage_hint)
|
||||
{
|
||||
OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pScreen);
|
||||
PixmapPtr pPix;
|
||||
|
||||
pScreen->CreatePixmap = pScreenPriv->CreatePixmap;
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth);
|
||||
pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth, usage_hint);
|
||||
pScreen->CreatePixmap = OverlayCreatePixmap;
|
||||
|
||||
/* We initialize all the privates */
|
||||
|
@ -439,7 +440,7 @@ OverlayRefreshPixmap(PixmapPtr pix8)
|
|||
PixmapPtr newPix;
|
||||
|
||||
newPix = (*pScreen->CreatePixmap)(pScreen, pix8->drawable.width,
|
||||
pix8->drawable.height, 24);
|
||||
pix8->drawable.height, 24, 0);
|
||||
newPix->drawable.depth = 8; /* Bad Mark! Bad Mark! */
|
||||
pixPriv->pix32 = newPix;
|
||||
}
|
||||
|
|
|
@ -870,7 +870,8 @@ PixmapPtr
|
|||
xglCreatePixmap (ScreenPtr pScreen,
|
||||
int width,
|
||||
int height,
|
||||
int depth);
|
||||
int depth,
|
||||
unsigned usage_hint);
|
||||
|
||||
void
|
||||
xglFiniPixmap (PixmapPtr pPixmap);
|
||||
|
|
|
@ -1075,7 +1075,8 @@ xglGlyphs (CARD8 op,
|
|||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen,
|
||||
rect.width, rect.height,
|
||||
maskFormat->depth);
|
||||
maskFormat->depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
return;
|
||||
|
||||
|
|
|
@ -494,7 +494,7 @@ xglSyncPicture (ScreenPtr pScreen,
|
|||
return FALSE;
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
|
||||
pFormat->depth);
|
||||
pFormat->depth, 0);
|
||||
if (!pPixmap)
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -222,7 +222,8 @@ PixmapPtr
|
|||
xglCreatePixmap (ScreenPtr pScreen,
|
||||
int width,
|
||||
int height,
|
||||
int depth)
|
||||
int depth,
|
||||
unsigned usage_hint)
|
||||
{
|
||||
xglPixmapPtr pPixmapPriv;
|
||||
PixmapPtr pPixmap;
|
||||
|
|
|
@ -447,7 +447,7 @@ xglCreateSolidAlphaPicture (ScreenPtr pScreen)
|
|||
if (!pGC)
|
||||
return;
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, 1, 1, pFormat->depth);
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, 1, 1, pFormat->depth, 0);
|
||||
if (!pPixmap)
|
||||
return;
|
||||
|
||||
|
|
|
@ -64,7 +64,8 @@ xglShmPutImage (DrawablePtr pDrawable,
|
|||
}
|
||||
else
|
||||
{
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, sw, sh, depth);
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, sw, sh, depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (pPixmap)
|
||||
{
|
||||
GCPtr pScratchGC;
|
||||
|
|
|
@ -194,7 +194,8 @@ xglTrapezoids (CARD8 op,
|
|||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen,
|
||||
rect.width, rect.height,
|
||||
maskFormat->depth);
|
||||
maskFormat->depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
return;
|
||||
|
||||
|
|
|
@ -290,7 +290,7 @@ xglXvPutImage (ClientPtr client,
|
|||
|
||||
if (!pPortPriv->pPixmap)
|
||||
{
|
||||
pPortPriv->pPixmap = (*pScreen->CreatePixmap) (pScreen, 0, 0, depth);
|
||||
pPortPriv->pPixmap = (*pScreen->CreatePixmap) (pScreen, 0, 0, depth, 0);
|
||||
if (!pPortPriv->pPixmap)
|
||||
return BadAlloc;
|
||||
}
|
||||
|
|
|
@ -35,7 +35,8 @@ is" without express or implied warranty.
|
|||
int xnestPixmapPrivateIndex;
|
||||
|
||||
PixmapPtr
|
||||
xnestCreatePixmap(ScreenPtr pScreen, int width, int height, int depth)
|
||||
xnestCreatePixmap(ScreenPtr pScreen, int width, int height, int depth,
|
||||
unsigned usage_hint)
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ typedef struct {
|
|||
#define xnestSharePixmap(pPixmap) ((pPixmap)->refcnt++)
|
||||
|
||||
PixmapPtr xnestCreatePixmap(ScreenPtr pScreen, int width, int height,
|
||||
int depth);
|
||||
int depth, unsigned usage_hint);
|
||||
Bool xnestDestroyPixmap(PixmapPtr pPixmap);
|
||||
RegionPtr xnestPixmapToRegion(PixmapPtr pPixmap);
|
||||
|
||||
|
|
|
@ -415,7 +415,8 @@ PclCopyPlane(DrawablePtr pSrc,
|
|||
* know how to do a CopyArea.
|
||||
*/
|
||||
scratchPix = (*pDst->pScreen->CreatePixmap)( pDst->pScreen, width,
|
||||
height, pDst->depth );
|
||||
height, pDst->depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH );
|
||||
|
||||
scratchGC = GetScratchGC( pDst->depth, pDst->pScreen );
|
||||
CopyGC( pGC, scratchGC, ~0L );
|
||||
|
|
|
@ -709,7 +709,8 @@ PclUpdateDrawableGC(
|
|||
|
||||
scratchPix =
|
||||
(*pGC->pScreen->CreatePixmap)( pGC->pScreen,
|
||||
w, h, pGC->depth );
|
||||
w, h, pGC->depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH );
|
||||
scratchGC = GetScratchGC( pGC->depth, pGC->pScreen );
|
||||
CopyGC( pGC, scratchGC, ~0L );
|
||||
|
||||
|
|
|
@ -574,7 +574,7 @@ extern void PsSetFillColor(DrawablePtr pDrawable, GCPtr pGC, PsOutPtr psOut,
|
|||
*/
|
||||
|
||||
extern PixmapPtr PsCreatePixmap(ScreenPtr pScreen, int width, int height,
|
||||
int depth);
|
||||
int depth, unsigned usage_hint);
|
||||
extern void PsScrubPixmap(PixmapPtr pPixmap);
|
||||
extern Bool PsDestroyPixmap(PixmapPtr pPixmap);
|
||||
extern DisplayListPtr PsGetFreeDisplayBlock(PsPixmapPrivPtr priv);
|
||||
|
|
|
@ -91,7 +91,8 @@ PsCreatePixmap(
|
|||
ScreenPtr pScreen,
|
||||
int width,
|
||||
int height,
|
||||
int depth)
|
||||
int depth,
|
||||
unsigned usage_hint)
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
|
||||
|
|
|
@ -1036,7 +1036,8 @@ winSetEngineFunctionsPrimaryDD (ScreenPtr pScreen);
|
|||
*/
|
||||
|
||||
PixmapPtr
|
||||
winCreatePixmapNativeGDI (ScreenPtr pScreen, int width, int height, int depth);
|
||||
winCreatePixmapNativeGDI (ScreenPtr pScreen, int width, int height, int depth,
|
||||
unsigned usage_hint);
|
||||
|
||||
Bool
|
||||
winDestroyPixmapNativeGDI (PixmapPtr pPixmap);
|
||||
|
|
|
@ -64,7 +64,7 @@ winCopyRotatePixmapNativeGDI (PixmapPtr psrcPix, PixmapPtr *ppdstPix,
|
|||
PixmapPtr
|
||||
winCreatePixmapNativeGDI (ScreenPtr pScreen,
|
||||
int iWidth, int iHeight,
|
||||
int iDepth)
|
||||
int iDepth, unsigned usage_hint)
|
||||
{
|
||||
winPrivPixmapPtr pPixmapPriv = NULL;
|
||||
PixmapPtr pPixmap = NULL;
|
||||
|
@ -78,8 +78,8 @@ winCreatePixmapNativeGDI (ScreenPtr pScreen,
|
|||
}
|
||||
|
||||
#if CYGDEBUG
|
||||
winDebug ("winCreatePixmap () - w %d h %d d %d bw %d\n",
|
||||
iWidth, iHeight, iDepth,
|
||||
winDebug ("winCreatePixmap () - w %d h %d d %d uh %d bw %d\n",
|
||||
iWidth, iHeight, iDepth, usage_hint,
|
||||
PixmapBytePad (iWidth, iDepth));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -197,11 +197,19 @@ typedef void (* ClipNotifyProcPtr)(
|
|||
int /*dx*/,
|
||||
int /*dy*/);
|
||||
|
||||
/* pixmap will exist only for the duration of the current rendering operation */
|
||||
#define CREATE_PIXMAP_USAGE_SCRATCH 1
|
||||
/* pixmap will be the backing pixmap for a redirected window */
|
||||
#define CREATE_PIXMAP_USAGE_BACKING_PIXMAP 2
|
||||
/* pixmap will contain a glyph */
|
||||
#define CREATE_PIMXAP_USAGE_GLYPH_PICTURE 3
|
||||
|
||||
typedef PixmapPtr (* CreatePixmapProcPtr)(
|
||||
ScreenPtr /*pScreen*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*depth*/);
|
||||
int /*depth*/,
|
||||
unsigned /*usage_hint*/);
|
||||
|
||||
typedef Bool (* DestroyPixmapProcPtr)(
|
||||
PixmapPtr /*pPixmap*/);
|
||||
|
|
|
@ -587,7 +587,8 @@ extern PixmapPtr mfbCreatePixmap(
|
|||
ScreenPtr /*pScreen*/,
|
||||
int /*width*/,
|
||||
int /*height*/,
|
||||
int /*depth*/
|
||||
int /*depth*/,
|
||||
unsigned /*usage_hint*/
|
||||
);
|
||||
|
||||
extern Bool mfbDestroyPixmap(
|
||||
|
|
|
@ -69,11 +69,12 @@ SOFTWARE.
|
|||
|
||||
|
||||
PixmapPtr
|
||||
mfbCreatePixmap (pScreen, width, height, depth)
|
||||
mfbCreatePixmap (pScreen, width, height, depth, usage_hint)
|
||||
ScreenPtr pScreen;
|
||||
int width;
|
||||
int height;
|
||||
int depth;
|
||||
unsigned usage_hint;
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
size_t datasize;
|
||||
|
@ -129,7 +130,7 @@ mfbCopyPixmap(pSrc)
|
|||
size = pSrc->drawable.height * pSrc->devKind;
|
||||
pScreen = pSrc->drawable.pScreen;
|
||||
pDst = (*pScreen->CreatePixmap) (pScreen, pSrc->drawable.width,
|
||||
pSrc->drawable.height, pSrc->drawable.depth);
|
||||
pSrc->drawable.height, pSrc->drawable.depth, 0);
|
||||
if (!pDst)
|
||||
return NullPixmap;
|
||||
memmove((char *)pDst->devPrivate.ptr, (char *)pSrc->devPrivate.ptr, size);
|
||||
|
|
|
@ -1155,7 +1155,8 @@ miPolyArc(pDraw, pGC, narcs, parcs)
|
|||
/* allocate a 1 bit deep pixmap of the appropriate size, and
|
||||
* validate it */
|
||||
pDrawTo = (DrawablePtr)(*pDraw->pScreen->CreatePixmap)
|
||||
(pDraw->pScreen, pixmapWidth, pixmapHeight, 1);
|
||||
(pDraw->pScreen, pixmapWidth, pixmapHeight, 1,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pDrawTo)
|
||||
{
|
||||
FreeScratchGC(pGCTo);
|
||||
|
|
|
@ -1605,7 +1605,7 @@ miBankCreateScreenResources(
|
|||
|
||||
/* Get shadow pixmap; width & height of 0 means no pixmap data */
|
||||
pScreenPriv->pBankPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0,
|
||||
pScreenPriv->pScreenPixmap->drawable.depth);
|
||||
pScreenPriv->pScreenPixmap->drawable.depth, 0);
|
||||
if (!pScreenPriv->pBankPixmap)
|
||||
retval = FALSE;
|
||||
}
|
||||
|
|
|
@ -416,7 +416,8 @@ miOpqStipDrawable(DrawablePtr pDraw, GCPtr pGC, RegionPtr prgnSrc,
|
|||
RegionPtr prgnSrcClip;
|
||||
|
||||
pPixmap = (*pDraw->pScreen->CreatePixmap)
|
||||
(pDraw->pScreen, w + srcx, h, 1);
|
||||
(pDraw->pScreen, w + srcx, h, 1,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
return;
|
||||
|
||||
|
@ -667,7 +668,8 @@ miGetImage(pDraw, sx, sy, w, h, format, planeMask, pDst)
|
|||
if (!pGC)
|
||||
return;
|
||||
pPixmap = (*pDraw->pScreen->CreatePixmap)
|
||||
(pDraw->pScreen, w, 1, depth);
|
||||
(pDraw->pScreen, w, 1, depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
{
|
||||
FreeScratchGC(pGC);
|
||||
|
|
|
@ -270,7 +270,8 @@ miDCRealize (
|
|||
pPriv->sourceBits = 0;
|
||||
pPriv->maskBits = 0;
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, pCursor->bits->width,
|
||||
pCursor->bits->height, 32);
|
||||
pCursor->bits->height, 32,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
{
|
||||
xfree ((pointer) pPriv);
|
||||
|
@ -302,13 +303,13 @@ miDCRealize (
|
|||
}
|
||||
pPriv->pPicture = 0;
|
||||
#endif
|
||||
pPriv->sourceBits = (*pScreen->CreatePixmap) (pScreen, pCursor->bits->width, pCursor->bits->height, 1);
|
||||
pPriv->sourceBits = (*pScreen->CreatePixmap) (pScreen, pCursor->bits->width, pCursor->bits->height, 1, 0);
|
||||
if (!pPriv->sourceBits)
|
||||
{
|
||||
xfree ((pointer) pPriv);
|
||||
return (miDCCursorPtr)NULL;
|
||||
}
|
||||
pPriv->maskBits = (*pScreen->CreatePixmap) (pScreen, pCursor->bits->width, pCursor->bits->height, 1);
|
||||
pPriv->maskBits = (*pScreen->CreatePixmap) (pScreen, pCursor->bits->width, pCursor->bits->height, 1, 0);
|
||||
if (!pPriv->maskBits)
|
||||
{
|
||||
(*pScreen->DestroyPixmap) (pPriv->sourceBits);
|
||||
|
@ -527,7 +528,7 @@ miDCSaveUnderCursor (pScreen, x, y, w, h)
|
|||
if (pSave)
|
||||
(*pScreen->DestroyPixmap) (pSave);
|
||||
pScreenPriv->pSave = pSave =
|
||||
(*pScreen->CreatePixmap) (pScreen, w, h, pScreen->rootDepth);
|
||||
(*pScreen->CreatePixmap) (pScreen, w, h, pScreen->rootDepth, 0);
|
||||
if (!pSave)
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -737,7 +738,7 @@ miDCMoveCursor (pScreen, pCursor, x, y, w, h, dx, dy, source, mask)
|
|||
}
|
||||
#endif
|
||||
pScreenPriv->pTemp = pTemp = (*pScreen->CreatePixmap)
|
||||
(pScreen, w, h, pScreenPriv->pSave->drawable.depth);
|
||||
(pScreen, w, h, pScreenPriv->pSave->drawable.depth, 0);
|
||||
if (!pTemp)
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -120,7 +120,8 @@ miPolyGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase)
|
|||
FONTMAXBOUNDS(pfont,descent);
|
||||
|
||||
pPixmap = (*pDrawable->pScreen->CreatePixmap)(pDrawable->pScreen,
|
||||
width, height, 1);
|
||||
width, height, 1,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
return;
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ miCreateScreenResources(pScreen)
|
|||
/* create a pixmap with no data, then redirect it to point to
|
||||
* the screen
|
||||
*/
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth);
|
||||
pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth, 0);
|
||||
if (!pPixmap)
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ RootlessUpdateScreenPixmap(ScreenPtr pScreen)
|
|||
|
||||
pPix = (*pScreen->GetScreenPixmap)(pScreen);
|
||||
if (pPix == NULL) {
|
||||
pPix = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth);
|
||||
pPix = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth, 0);
|
||||
(*pScreen->SetScreenPixmap)(pPix);
|
||||
}
|
||||
|
||||
|
|
|
@ -240,7 +240,7 @@ shadowInit(ScreenPtr pScreen, ShadowUpdateProc update, ShadowWindowProc window)
|
|||
PixmapPtr pPixmap;
|
||||
|
||||
pPixmap = pScreen->CreatePixmap(pScreen, pScreen->width, pScreen->height,
|
||||
pScreen->rootDepth);
|
||||
pScreen->rootDepth, 0);
|
||||
if (!pPixmap)
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -969,7 +969,8 @@ miGlyphs (CARD8 op,
|
|||
width = extents.x2 - extents.x1;
|
||||
height = extents.y2 - extents.y1;
|
||||
pMaskPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
|
||||
maskFormat->depth);
|
||||
maskFormat->depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pMaskPixmap)
|
||||
return;
|
||||
component_alpha = NeedsComponent(maskFormat->format);
|
||||
|
|
|
@ -135,8 +135,8 @@ miCompositeRects (CARD8 op,
|
|||
if (!rgbaFormat)
|
||||
goto bail1;
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, 1, 1,
|
||||
rgbaFormat->depth);
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, 1, 1, rgbaFormat->depth,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
goto bail2;
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ miCreateAlphaPicture (ScreenPtr pScreen,
|
|||
}
|
||||
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
|
||||
pPictFormat->depth);
|
||||
pPictFormat->depth, 0);
|
||||
if (!pPixmap)
|
||||
return 0;
|
||||
pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
|
||||
|
|
|
@ -1202,7 +1202,8 @@ ProcRenderAddGlyphs (ClientPtr client)
|
|||
}
|
||||
|
||||
pDstPix = (pScreen->CreatePixmap) (pScreen,
|
||||
width, height, depth);
|
||||
width, height, depth,
|
||||
CREATE_PIMXAP_USAGE_GLYPH_PICTURE);
|
||||
|
||||
GlyphPicture (glyph)[screen] = pDst =
|
||||
CreatePicture (0, &pDstPix->drawable,
|
||||
|
@ -1636,7 +1637,8 @@ ProcRenderCreateCursor (ClientPtr client)
|
|||
xfree (mskbits);
|
||||
return (BadImplementation);
|
||||
}
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 32);
|
||||
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 32,
|
||||
CREATE_PIXMAP_USAGE_SCRATCH);
|
||||
if (!pPixmap)
|
||||
{
|
||||
xfree (argbbits);
|
||||
|
|
Loading…
Reference in New Issue