assorted fixes for server-side direct rendering (bug 5199)

This commit is contained in:
Brian Paul
2005-11-29 23:01:43 +00:00
parent 2d8eb9eaf3
commit 96f216565e
4 changed files with 6 additions and 6 deletions

View File

@@ -39,7 +39,6 @@
#define DRI_INTERFACE_H #define DRI_INTERFACE_H
#include <GL/internal/glcore.h> #include <GL/internal/glcore.h>
#include <xf86drm.h>
#include <drm.h> #include <drm.h>
/** /**

View File

@@ -133,9 +133,8 @@ static void __driGarbageCollectDrawables(void *drawHash)
__DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)pdraw->private; __DRIdrawablePrivate *pdp = (__DRIdrawablePrivate *)pdraw->private;
dpy = pdp->driScreenPriv->display; dpy = pdp->driScreenPriv->display;
if (! (*dri_interface->windowExists)(dpy, draw)) { if (! (*dri_interface->windowExists)(dpy, draw)) {
/* Destroy the local drawable data in the hash table, if the /* Destroy the local drawable data, if the drawable no
drawable no longer exists in the Xserver */ longer exists in the Xserver */
drmHashDelete(drawHash, draw);
(*pdraw->destroyDrawable)(dpy, pdraw->private); (*pdraw->destroyDrawable)(dpy, pdraw->private);
_mesa_free(pdraw); _mesa_free(pdraw);
} }
@@ -667,6 +666,7 @@ driDestroyDrawable(__DRInativeDisplay *dpy, void *drawablePrivate)
(*psp->DriverAPI.DestroyBuffer)(pdp); (*psp->DriverAPI.DestroyBuffer)(pdp);
if ((*dri_interface->windowExists)(dpy, pdp->draw)) if ((*dri_interface->windowExists)(dpy, pdp->draw))
(void)(*dri_interface->destroyDrawable)(dpy, scrn, pdp->draw); (void)(*dri_interface->destroyDrawable)(dpy, scrn, pdp->draw);
drmHashDelete(psp->drawHash, pdp->draw);
if (pdp->pClipRects) { if (pdp->pClipRects) {
_mesa_free(pdp->pClipRects); _mesa_free(pdp->pClipRects);
pdp->pClipRects = NULL; pdp->pClipRects = NULL;

View File

@@ -54,6 +54,7 @@
#include <GL/gl.h> #include <GL/gl.h>
#include "drm.h" #include "drm.h"
#include "drm_sarea.h" #include "drm_sarea.h"
#include "xf86drm.h"
#include "GL/internal/glcore.h" #include "GL/internal/glcore.h"
#include "GL/internal/dri_interface.h" #include "GL/internal/dri_interface.h"

View File

@@ -157,8 +157,8 @@ _gl_copy_visual_to_context_mode( __GLcontextModes * mode,
mode->greenMask = config->greenMask; mode->greenMask = config->greenMask;
mode->blueMask = config->blueMask; mode->blueMask = config->blueMask;
mode->alphaMask = config->alphaMask; mode->alphaMask = config->alphaMask;
mode->rgbBits = config->bufferSize; mode->rgbBits = mode->rgbMode ? config->bufferSize : 0;
mode->indexBits = config->bufferSize; mode->indexBits = mode->colorIndexMode ? config->bufferSize : 0;
mode->accumRedBits = config->accumRedSize; mode->accumRedBits = config->accumRedSize;
mode->accumGreenBits = config->accumGreenSize; mode->accumGreenBits = config->accumGreenSize;