summaryrefslogtreecommitdiff
path: root/src/glx/glx_pbuffer.c
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@apple.com>2010-04-01 17:00:22 -0700
committerJeremy Huddleston <jeremyhu@apple.com>2010-04-01 17:01:51 -0700
commit115203281cf791221f586f03c14cfe4e0a44dd7a (patch)
tree767951e542d416243041b964dd252e030cfadf5e /src/glx/glx_pbuffer.c
parent9aadc793f3db64cefa0b08f18abad424a659dacc (diff)
Revert accidental commits from the xquartz tree
This reverts commit 9aadc793f3db64cefa0b08f18abad424a659dacc. This reverts commit 69ea4e7718efb60b6b0d795a355cebd6712ceac1. This reverts commit dbe8b013936d977ec63d6607bfd2fc6772d29787. This reverts commit 23215ef4d60a86d9f3b3fdc08e3fdadc59e98890. This reverts commit 9495e3703062d1ddaf3161f4efc23f0b51284d9b. This reverts commit 0594cf70883b64692ba617d85f4f9b4e636e5c2b. This reverts commit 86a7978d37393ee34f876569ac06ffdb8d7289ae. This reverts commit 437902ce978cde9a0e1aa260f12dc232a8501c42.
Diffstat (limited to 'src/glx/glx_pbuffer.c')
-rw-r--r--src/glx/glx_pbuffer.c202
1 files changed, 15 insertions, 187 deletions
diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c
index 6c34cda154..52e067165c 100644
--- a/src/glx/glx_pbuffer.c
+++ b/src/glx/glx_pbuffer.c
@@ -37,12 +37,6 @@
#include <string.h>
#include "glxextensions.h"
-#ifdef GLX_USE_APPLEGL
-#include <pthread.h>
-#include "apple_glx_drawable.h"
-#include "glx_error.h"
-#endif
-
#define WARN_ONCE_GLX_1_3(a, b) { \
static int warned=1; \
if(warned) { \
@@ -55,19 +49,19 @@
* Emit a warning when clients use GLX 1.3 functions on pre-1.3 systems.
*/
static void
-warn_GLX_1_3(Display * dpy, const char *function_name)
+warn_GLX_1_3(Display *dpy, const char *function_name)
{
__GLXdisplayPrivate *priv = __glXInitialize(dpy);
if (priv->minorVersion < 3) {
- fprintf(stderr,
- "WARNING: Application calling GLX 1.3 function \"%s\" "
- "when GLX 1.3 is not supported! This is an application bug!\n",
- function_name);
+ fprintf(stderr,
+ "WARNING: Application calling GLX 1.3 function \"%s\" "
+ "when GLX 1.3 is not supported! This is an application bug!\n",
+ function_name);
}
}
-#ifndef GLX_USE_APPLEGL
+
/**
* Change a drawable's attribute.
*
@@ -325,7 +319,7 @@ GetDrawableAttribute(Display * dpy, GLXDrawable drawable,
}
}
-#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
+#ifdef GLX_DIRECT_RENDERING
{
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL);
@@ -391,7 +385,7 @@ CreateDrawable(Display * dpy, const __GLcontextModes * fbconfig,
UnlockDisplay(dpy);
SyncHandle();
-#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
+#ifdef GLX_DIRECT_RENDERING
do {
/* FIXME: Maybe delay __DRIdrawable creation until the drawable
* is actually bound to a context... */
@@ -455,7 +449,7 @@ DestroyDrawable(Display * dpy, GLXDrawable drawable, CARD32 glxCode)
UnlockDisplay(dpy);
SyncHandle();
-#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
+#ifdef GLX_DIRECT_RENDERING
{
int screen;
__GLXdisplayPrivate *const priv = __glXInitialize(dpy);
@@ -558,6 +552,7 @@ CreatePbuffer(Display * dpy, const __GLcontextModes * fbconfig,
return id;
}
+
/**
* Create a new pbuffer.
*/
@@ -571,7 +566,6 @@ glXCreateGLXPbufferSGIX(Display * dpy, GLXFBConfigSGIX config,
attrib_list, GL_FALSE);
}
-#endif /* GLX_USE_APPLEGL */
/**
* Create a new pbuffer.
@@ -580,57 +574,12 @@ PUBLIC GLXPbuffer
glXCreatePbuffer(Display * dpy, GLXFBConfig config, const int *attrib_list)
{
int i, width, height;
-#ifdef GLX_USE_APPLEGL
- GLXPbuffer result;
- int errorcode;
-#endif
width = 0;
height = 0;
WARN_ONCE_GLX_1_3(dpy, __func__);
-#ifdef GLX_USE_APPLEGL
- for (i = 0; attrib_list[i]; ++i) {
- switch (attrib_list[i]) {
- case GLX_PBUFFER_WIDTH:
- width = attrib_list[i + 1];
- ++i;
- break;
-
- case GLX_PBUFFER_HEIGHT:
- height = attrib_list[i + 1];
- ++i;
- break;
-
- case GLX_LARGEST_PBUFFER:
- /* This is a hint we should probably handle, but how? */
- ++i;
- break;
-
- case GLX_PRESERVED_CONTENTS:
- /* The contents are always preserved with AppleSGLX with CGL. */
- ++i;
- break;
-
- default:
- return None;
- }
- }
-
- if (apple_glx_pbuffer_create(dpy, config, width, height, &errorcode,
- &result)) {
- /*
- * apple_glx_pbuffer_create only sets the errorcode to core X11
- * errors.
- */
- __glXSendError(dpy, errorcode, 0, X_GLXCreatePbuffer, true);
-
- return None;
- }
-
- return result;
-#else
for (i = 0; attrib_list[i * 2]; i++) {
switch (attrib_list[i * 2]) {
case GLX_PBUFFER_WIDTH:
@@ -644,7 +593,6 @@ glXCreatePbuffer(Display * dpy, GLXFBConfig config, const int *attrib_list)
return (GLXPbuffer) CreatePbuffer(dpy, (__GLcontextModes *) config,
width, height, attrib_list, GL_TRUE);
-#endif
}
@@ -654,13 +602,7 @@ glXCreatePbuffer(Display * dpy, GLXFBConfig config, const int *attrib_list)
PUBLIC void
glXDestroyPbuffer(Display * dpy, GLXPbuffer pbuf)
{
-#ifdef GLX_USE_APPLEGL
- if (apple_glx_pbuffer_destroy(dpy, pbuf)) {
- __glXSendError(dpy, GLXBadPbuffer, pbuf, X_GLXDestroyPbuffer, false);
- }
-#else
DestroyPbuffer(dpy, pbuf);
-#endif
}
@@ -672,47 +614,10 @@ glXQueryDrawable(Display * dpy, GLXDrawable drawable,
int attribute, unsigned int *value)
{
WARN_ONCE_GLX_1_3(dpy, __func__);
-#ifdef GLX_USE_APPLEGL
- Window root;
- int x, y;
- unsigned int width, height, bd, depth;
-
- if (apple_glx_pixmap_query(drawable, attribute, value))
- return; /*done */
-
- if (apple_glx_pbuffer_query(drawable, attribute, value))
- return; /*done */
-
- /*
- * The OpenGL spec states that we should report GLXBadDrawable if
- * the drawable is invalid, however doing so would require that we
- * use XSetErrorHandler(), which is known to not be thread safe.
- * If we use a round-trip call to validate the drawable, there could
- * be a race, so instead we just opt in favor of letting the
- * XGetGeometry request fail with a GetGeometry request X error
- * rather than GLXBadDrawable, in what is hoped to be a rare
- * case of an invalid drawable. In practice most and possibly all
- * X11 apps using GLX shouldn't notice a difference.
- */
- if (XGetGeometry
- (dpy, drawable, &root, &x, &y, &width, &height, &bd, &depth)) {
- switch (attribute) {
- case GLX_WIDTH:
- *value = width;
- break;
-
- case GLX_HEIGHT:
- *value = height;
- break;
- }
- }
-#else
GetDrawableAttribute(dpy, drawable, attribute, value);
-#endif
}
-#ifndef GLX_USE_APPLEGL
/**
* Query an attribute of a pbuffer.
*/
@@ -722,7 +627,7 @@ glXQueryGLXPbufferSGIX(Display * dpy, GLXPbufferSGIX drawable,
{
return GetDrawableAttribute(dpy, drawable, attribute, value);
}
-#endif
+
/**
* Select the event mask for a drawable.
@@ -730,30 +635,12 @@ glXQueryGLXPbufferSGIX(Display * dpy, GLXPbufferSGIX drawable,
PUBLIC void
glXSelectEvent(Display * dpy, GLXDrawable drawable, unsigned long mask)
{
-#ifdef GLX_USE_APPLEGL
- XWindowAttributes xwattr;
-
- if (apple_glx_pbuffer_set_event_mask(drawable, mask))
- return; /*done */
-
- /*
- * The spec allows a window, but currently there are no valid
- * events for a window, so do nothing.
- */
- if (XGetWindowAttributes(dpy, drawable, &xwattr))
- return; /*done */
- /* The drawable seems to be invalid. Report an error. */
-
- __glXSendError(dpy, GLXBadDrawable, drawable,
- X_GLXChangeDrawableAttributes, false);
-#else
CARD32 attribs[2];
attribs[0] = (CARD32) GLX_EVENT_MASK;
attribs[1] = (CARD32) mask;
ChangeDrawableAttribute(dpy, drawable, attribs, 1);
-#endif
}
@@ -763,26 +650,6 @@ glXSelectEvent(Display * dpy, GLXDrawable drawable, unsigned long mask)
PUBLIC void
glXGetSelectedEvent(Display * dpy, GLXDrawable drawable, unsigned long *mask)
{
-#ifdef GLX_USE_APPLEGL
- XWindowAttributes xwattr;
-
- if (apple_glx_pbuffer_get_event_mask(drawable, mask))
- return; /*done */
-
- /*
- * The spec allows a window, but currently there are no valid
- * events for a window, so do nothing, but set the mask to 0.
- */
- if (XGetWindowAttributes(dpy, drawable, &xwattr)) {
- /* The window is valid, so set the mask to 0. */
- *mask = 0;
- return; /*done */
- }
- /* The drawable seems to be invalid. Report an error. */
-
- __glXSendError(dpy, GLXBadDrawable, drawable, X_GLXGetDrawableAttributes,
- true);
-#else
unsigned int value;
@@ -793,7 +660,6 @@ glXGetSelectedEvent(Display * dpy, GLXDrawable drawable, unsigned long *mask)
GetDrawableAttribute(dpy, drawable, GLX_EVENT_MASK_SGIX, &value);
*mask = value;
-#endif
}
@@ -803,17 +669,8 @@ glXCreatePixmap(Display * dpy, GLXFBConfig config, Pixmap pixmap,
{
WARN_ONCE_GLX_1_3(dpy, __func__);
-#ifdef GLX_USE_APPLEGL
- const __GLcontextModes *modes = (const __GLcontextModes *) config;
-
- if (apple_glx_pixmap_create(dpy, modes->screen, pixmap, modes))
- return None;
-
- return pixmap;
-#else
return CreateDrawable(dpy, (__GLcontextModes *) config,
(Drawable) pixmap, attrib_list, X_GLXCreatePixmap);
-#endif
}
@@ -822,33 +679,9 @@ glXCreateWindow(Display * dpy, GLXFBConfig config, Window win,
const int *attrib_list)
{
WARN_ONCE_GLX_1_3(dpy, __func__);
-#ifdef GLX_USE_APPLEGL
- XWindowAttributes xwattr;
- XVisualInfo *visinfo;
-
- (void) attrib_list; /*unused according to GLX 1.4 */
- XGetWindowAttributes(dpy, win, &xwattr);
-
- visinfo = glXGetVisualFromFBConfig(dpy, config);
-
- if (NULL == visinfo) {
- __glXSendError(dpy, GLXBadFBConfig, 0, X_GLXCreateWindow, false);
- return None;
- }
-
- if (visinfo->visualid != XVisualIDFromVisual(xwattr.visual)) {
- __glXSendError(dpy, BadMatch, 0, X_GLXCreateWindow, true);
- return None;
- }
-
- XFree(visinfo);
-
- return win;
-#else
return CreateDrawable(dpy, (__GLcontextModes *) config,
(Drawable) win, attrib_list, X_GLXCreateWindow);
-#endif
}
@@ -856,12 +689,8 @@ PUBLIC void
glXDestroyPixmap(Display * dpy, GLXPixmap pixmap)
{
WARN_ONCE_GLX_1_3(dpy, __func__);
-#ifdef GLX_USE_APPLEGL
- if (apple_glx_pixmap_destroy(dpy, pixmap))
- __glXSendError(dpy, GLXBadPixmap, pixmap, X_GLXDestroyPixmap, false);
-#else
+
DestroyDrawable(dpy, (GLXDrawable) pixmap, X_GLXDestroyPixmap);
-#endif
}
@@ -869,12 +698,11 @@ PUBLIC void
glXDestroyWindow(Display * dpy, GLXWindow win)
{
WARN_ONCE_GLX_1_3(dpy, __func__);
-#ifndef GLX_USE_APPLEGL
+
DestroyDrawable(dpy, (GLXDrawable) win, X_GLXDestroyWindow);
-#endif
}
-#ifndef GLX_USE_APPLEGL
+
PUBLIC
GLX_ALIAS_VOID(glXDestroyGLXPbufferSGIX,
(Display * dpy, GLXPbufferSGIX pbuf),
@@ -890,4 +718,4 @@ GLX_ALIAS_VOID(glXGetSelectedEventSGIX,
(Display * dpy, GLXDrawable drawable,
unsigned long *mask), (dpy, drawable, mask),
glXGetSelectedEvent)
-#endif
+