diff options
Diffstat (limited to 'glx/glxdriswrast.c')
-rw-r--r-- | glx/glxdriswrast.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c index a0054515b..e6cb1eeb1 100644 --- a/glx/glxdriswrast.c +++ b/glx/glxdriswrast.c @@ -292,14 +292,6 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen, return &context->base; } -static void -glxChangeGC(GCPtr gc, BITS32 mask, CARD32 val) -{ - CARD32 v[1]; - v[0] = val; - dixChangeGC(NullClient, gc, mask, v, NULL); -} - static __GLXdrawable * __glXDRIscreenCreateDrawable(ClientPtr client, __GLXscreen *screen, @@ -309,6 +301,7 @@ __glXDRIscreenCreateDrawable(ClientPtr client, XID glxDrawId, __GLXconfig *glxConfig) { + ChangeGCVal gcvals[2]; __GLXDRIscreen *driScreen = (__GLXDRIscreen *) screen; __GLXDRIconfig *config = (__GLXDRIconfig *) glxConfig; __GLXDRIdrawable *private; @@ -333,9 +326,10 @@ __glXDRIscreenCreateDrawable(ClientPtr client, private->gc = CreateScratchGC(pScreen, pDraw->depth); private->swapgc = CreateScratchGC(pScreen, pDraw->depth); - glxChangeGC(private->gc, GCFunction, GXcopy); - glxChangeGC(private->swapgc, GCFunction, GXcopy); - glxChangeGC(private->swapgc, GCGraphicsExposures, FALSE); + gcvals[0].val = GXcopy; + dixChangeGC(NullClient, private->gc, GCFunction, NULL, gcvals); + gcvals[1].val = FALSE; + dixChangeGC(NullClient, private->gc, GCFunction | GCGraphicsExposures, NULL, gcvals); private->driDrawable = (*driScreen->swrast->createNewDrawable)(driScreen->driScreen, |