apple: Change ifdefs for DRI to be DRI && !APPLE
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
@@ -36,7 +36,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
/* THIS IS NOT AN X CONSORTIUM STANDARD */
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
|
||||
#define NEED_REPLIES
|
||||
#include <X11/Xlibint.h>
|
||||
|
@@ -68,10 +68,10 @@ SetRead(struct apple_xgl_saved_state *saved)
|
||||
|
||||
saved->swapped = true;
|
||||
|
||||
if (apple_glx_make_current_context(dpy, gc->apple, gc->apple,
|
||||
if (apple_glx_make_current_context(dpy, gc->driContext, gc->driContext,
|
||||
gc->currentReadable)) {
|
||||
/* An error occurred, so try to restore the old context state. */
|
||||
(void) apple_glx_make_current_context(dpy, gc->apple, gc->apple,
|
||||
(void) apple_glx_make_current_context(dpy, gc->driContext, gc->driContext,
|
||||
gc->currentDrawable);
|
||||
saved->swapped = false;
|
||||
}
|
||||
@@ -85,7 +85,7 @@ UnsetRead(struct apple_xgl_saved_state *saved)
|
||||
GLXContext gc = __glXGetCurrentContext();
|
||||
Display *dpy = glXGetCurrentDisplay();
|
||||
|
||||
if (apple_glx_make_current_context(dpy, gc->apple, gc->apple,
|
||||
if (apple_glx_make_current_context(dpy, gc->driContext, gc->driContext,
|
||||
gc->currentDrawable)) {
|
||||
/*
|
||||
* An error occurred restoring the drawable.
|
||||
|
@@ -42,7 +42,7 @@ glDrawBuffer(GLenum mode)
|
||||
{
|
||||
GLXContext gc = glXGetCurrentContext();
|
||||
|
||||
if (gc && apple_glx_context_uses_stereo(gc->apple)) {
|
||||
if (gc && apple_glx_context_uses_stereo(gc->driContext)) {
|
||||
GLenum buf[2];
|
||||
GLsizei n = 0;
|
||||
|
||||
@@ -77,7 +77,7 @@ glDrawBuffers(GLsizei n, const GLenum * bufs)
|
||||
{
|
||||
GLXContext gc = glXGetCurrentContext();
|
||||
|
||||
if (gc && apple_glx_context_uses_stereo(gc->apple)) {
|
||||
if (gc && apple_glx_context_uses_stereo(gc->driContext)) {
|
||||
GLenum newbuf[n + 2];
|
||||
GLsizei i, outi = 0;
|
||||
bool have_back = false;
|
||||
|
@@ -38,8 +38,8 @@ glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
|
||||
GLXContext gc = __glXGetCurrentContext();
|
||||
Display *dpy = glXGetCurrentDisplay();
|
||||
|
||||
if (gc && gc->apple)
|
||||
apple_glx_context_update(dpy, gc->apple);
|
||||
if (gc && gc->driContext)
|
||||
apple_glx_context_update(dpy, gc->driContext);
|
||||
|
||||
__gl_api.Viewport(x, y, width, height);
|
||||
}
|
||||
|
@@ -30,7 +30,7 @@
|
||||
* Kristian Høgsberg (krh@redhat.com)
|
||||
*/
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
|
@@ -33,7 +33,7 @@
|
||||
* Kristian Høgsberg (krh@redhat.com)
|
||||
*/
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
|
||||
#include <unistd.h>
|
||||
#include <dlfcn.h>
|
||||
|
@@ -32,7 +32,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
|
@@ -21,7 +21,7 @@
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include "glxclient.h"
|
||||
|
@@ -325,7 +325,7 @@ GetDrawableAttribute(Display * dpy, GLXDrawable drawable,
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
{
|
||||
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL);
|
||||
|
||||
@@ -391,7 +391,7 @@ CreateDrawable(Display * dpy, const __GLcontextModes * fbconfig,
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
do {
|
||||
/* FIXME: Maybe delay __DRIdrawable creation until the drawable
|
||||
* is actually bound to a context... */
|
||||
@@ -455,7 +455,7 @@ DestroyDrawable(Display * dpy, GLXDrawable drawable, CARD32 glxCode)
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
{
|
||||
int screen;
|
||||
__GLXdisplayPrivate *const priv = __glXInitialize(dpy);
|
||||
|
@@ -54,9 +54,7 @@
|
||||
#include "GL/glxint.h"
|
||||
#include "GL/glxproto.h"
|
||||
#include "GL/internal/glcore.h"
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
#include "glapi/glapitable.h"
|
||||
#endif
|
||||
#include "glxhash.h"
|
||||
#if defined( PTHREADS )
|
||||
# include <pthread.h>
|
||||
@@ -99,8 +97,13 @@ typedef struct _glapi_table __GLapi;
|
||||
#define containerOf(ptr, type, member) \
|
||||
(type *)( (char *)ptr - offsetof(type,member) )
|
||||
|
||||
#include <GL/internal/dri_interface.h>
|
||||
extern void DRI_glXUseXFont(Font font, int first, int count, int listbase);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
|
||||
#include <GL/internal/dri_interface.h>
|
||||
|
||||
/**
|
||||
* Display dependent methods. This structure is initialized during the
|
||||
@@ -187,8 +190,6 @@ extern __GLXDRIdisplay *dri2CreateDisplay(Display * dpy);
|
||||
extern void dri2InvalidateBuffers(Display *dpy, XID drawable);
|
||||
|
||||
|
||||
extern void DRI_glXUseXFont(Font font, int first, int count, int listbase);
|
||||
|
||||
/*
|
||||
** Functions to obtain driver configuration information from a direct
|
||||
** rendering client application
|
||||
@@ -199,10 +200,6 @@ extern const char *glXGetDriverConfig(const char *driverName);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
extern void DRI_glXUseXFont( Font font, int first, int count, int listbase );
|
||||
#endif
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
#define __GL_CLIENT_ATTRIB_STACK_DEPTH 16
|
||||
@@ -411,8 +408,13 @@ struct __GLXcontextRec
|
||||
const __GLcontextModes *mode;
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
void *driContext;
|
||||
Bool do_destroy;
|
||||
#else
|
||||
__GLXDRIcontext *driContext;
|
||||
__DRIcontext *__driContext;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -455,11 +457,6 @@ struct __GLXcontextRec
|
||||
unsigned long thread_id;
|
||||
|
||||
char gl_extension_bits[__GL_EXT_BYTES];
|
||||
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
void *apple;
|
||||
Bool do_destroy;
|
||||
#endif
|
||||
};
|
||||
|
||||
#define __glXSetError(gc,code) \
|
||||
@@ -514,7 +511,7 @@ struct __GLXscreenConfigsRec
|
||||
*/
|
||||
char *effectiveGLXexts;
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/**
|
||||
* Per screen direct rendering interface functions and data.
|
||||
*/
|
||||
@@ -625,7 +622,7 @@ struct __GLXdisplayPrivateRec
|
||||
*/
|
||||
__GLXscreenConfigs *screenConfigs;
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/**
|
||||
* Per display direct rendering interface functions and data.
|
||||
*/
|
||||
@@ -638,14 +635,12 @@ struct __GLXdisplayPrivateRec
|
||||
|
||||
extern GLubyte *__glXFlushRenderBuffer(__GLXcontext *, GLubyte *);
|
||||
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
extern void __glXSendLargeChunk(__GLXcontext * gc, GLint requestNumber,
|
||||
GLint totalRequests,
|
||||
const GLvoid * data, GLint dataLen);
|
||||
|
||||
extern void __glXSendLargeCommand(__GLXcontext *, const GLvoid *, GLint,
|
||||
const GLvoid *, GLint);
|
||||
#endif
|
||||
|
||||
/* Initialize the GLX extension for dpy */
|
||||
extern __GLXdisplayPrivate *__glXInitialize(Display *);
|
||||
@@ -805,7 +800,7 @@ extern GLboolean __glXGetMscRateOML(Display * dpy, GLXDrawable drawable,
|
||||
int32_t * numerator,
|
||||
int32_t * denominator);
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
GLboolean
|
||||
__driGetMscRateOML(__DRIdrawable * draw,
|
||||
int32_t * numerator, int32_t * denominator, void *private);
|
||||
|
@@ -34,21 +34,22 @@
|
||||
*/
|
||||
|
||||
#include "glxclient.h"
|
||||
#include "glapi.h"
|
||||
#include "glxextensions.h"
|
||||
#include "glcontextmodes.h"
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
#include "apple_glx_context.h"
|
||||
#include "apple_glx.h"
|
||||
#include "glx_error.h"
|
||||
#define GC_IS_DIRECT(gc) ((gc)->isDirect)
|
||||
#else
|
||||
#include "glapi.h"
|
||||
#endif
|
||||
#include "glxextensions.h"
|
||||
#include "glcontextmodes.h"
|
||||
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
#include <sys/time.h>
|
||||
#include <X11/extensions/xf86vmode.h>
|
||||
#include "xf86dri.h"
|
||||
#define GC_IS_DIRECT(gc) ((gc)->driContext != NULL)
|
||||
#endif
|
||||
#else
|
||||
#define GC_IS_DIRECT(gc) (0)
|
||||
#endif
|
||||
@@ -65,7 +66,7 @@ static const char __glXGLXClientVersion[] = "1.4";
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
|
||||
static Bool windowExistsFlag;
|
||||
static int
|
||||
@@ -352,7 +353,7 @@ AllocateGLXContext(Display * dpy)
|
||||
gc->maxSmallRenderCommandSize = bufSize;
|
||||
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
gc->apple = NULL;
|
||||
gc->driContext = NULL;
|
||||
gc->do_destroy = False;
|
||||
#endif
|
||||
|
||||
@@ -377,13 +378,13 @@ CreateContext(Display * dpy, int generic_id,
|
||||
unsigned code, int renderType, int screen)
|
||||
{
|
||||
GLXContext gc;
|
||||
#if defined(GLX_DIRECT_RENDERING) || defined(GLX_USE_APPLEGL)
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
__GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen);
|
||||
#endif
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
const __GLcontextModes *mode;
|
||||
int errorcode;
|
||||
bool x11error;
|
||||
const __GLcontextModes *mode;
|
||||
int errorcode;
|
||||
bool x11error;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (dpy == NULL)
|
||||
@@ -396,7 +397,7 @@ CreateContext(Display * dpy, int generic_id,
|
||||
if (!gc)
|
||||
return NULL;
|
||||
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
#ifndef GLX_USE_APPLEGL /* TODO: darwin indirect */
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
if (allowDirect && psc->driScreen) {
|
||||
gc->driContext = psc->driScreen->createContext(psc, fbconfig, gc,
|
||||
@@ -476,6 +477,9 @@ CreateContext(Display * dpy, int generic_id,
|
||||
#endif
|
||||
|
||||
gc->imported = GL_FALSE;
|
||||
gc->renderType = renderType;
|
||||
|
||||
/* TODO: darwin: Integrate with above to do indirect */
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
mode = _gl_context_modes_find_fbconfig(psc->configs,
|
||||
fbconfig->fbconfigID);
|
||||
@@ -487,8 +491,8 @@ CreateContext(Display * dpy, int generic_id,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if(apple_glx_create_context(&gc->apple, dpy, screen, mode,
|
||||
shareList ? shareList->apple : NULL,
|
||||
if(apple_glx_create_context(&gc->driContext, dpy, screen, mode,
|
||||
shareList ? shareList->driContext : NULL,
|
||||
&errorcode, &x11error)) {
|
||||
__glXSendError(dpy, errorcode, 0, X_GLXCreateContext, x11error);
|
||||
__glXFreeContext(gc);
|
||||
@@ -498,8 +502,6 @@ CreateContext(Display * dpy, int generic_id,
|
||||
gc->currentContextTag = -1;
|
||||
gc->mode = mode;
|
||||
gc->isDirect = allowDirect;
|
||||
#else
|
||||
gc->renderType = renderType;
|
||||
#endif
|
||||
|
||||
return gc;
|
||||
@@ -547,9 +549,7 @@ __glXFreeContext(__GLXcontext * gc)
|
||||
XFree((char *) gc->version);
|
||||
if (gc->extensions)
|
||||
XFree((char *) gc->extensions);
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
__glFreeAttributeState(gc);
|
||||
#endif
|
||||
XFree((char *) gc->buf);
|
||||
Xfree((char *) gc->client_state_private);
|
||||
XFree((char *) gc);
|
||||
@@ -562,7 +562,7 @@ __glXFreeContext(__GLXcontext * gc)
|
||||
static void
|
||||
DestroyContext(Display * dpy, GLXContext gc)
|
||||
{
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
#ifndef GLX_USE_APPLEGL /* TODO: darwin: indirect */
|
||||
xGLXDestroyContextReq *req;
|
||||
GLXContextID xid;
|
||||
CARD8 opcode;
|
||||
@@ -588,7 +588,7 @@ DestroyContext(Display * dpy, GLXContext gc)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/* Destroy the direct rendering context */
|
||||
if (gc->driContext) {
|
||||
(*gc->driContext->destroyContext) (gc->driContext, gc->psc, dpy);
|
||||
@@ -617,8 +617,8 @@ DestroyContext(Display * dpy, GLXContext gc)
|
||||
/* Destroy the handle if not current to anybody */
|
||||
__glXUnlock();
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
if(gc->apple)
|
||||
apple_glx_destroy_context(&gc->apple, dpy);
|
||||
if(gc->driContext)
|
||||
apple_glx_destroy_context(&gc->driContext, dpy);
|
||||
#endif
|
||||
__glXFreeContext(gc);
|
||||
}
|
||||
@@ -705,7 +705,7 @@ glXWaitGL(void)
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
glFinish();
|
||||
#else
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
int screen;
|
||||
__GLXDRIdrawable *pdraw =
|
||||
@@ -752,9 +752,9 @@ glXWaitX(void)
|
||||
__glXFlushRenderBuffer(gc, gc->pc);
|
||||
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
apple_glx_waitx(dpy, gc->apple);
|
||||
apple_glx_waitx(dpy, gc->driContext);
|
||||
#else
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
int screen;
|
||||
__GLXDRIdrawable *pdraw =
|
||||
@@ -801,7 +801,7 @@ glXUseXFont(Font font, int first, int count, int listBase)
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
DRI_glXUseXFont(font, first, count, listBase);
|
||||
#else
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
DRI_glXUseXFont(font, first, count, listBase);
|
||||
return;
|
||||
@@ -838,7 +838,7 @@ glXCopyContext(Display * dpy, GLXContext source,
|
||||
int errorcode;
|
||||
bool x11error;
|
||||
|
||||
if(apple_glx_copy_context(gc->apple, source->apple, dest->apple,
|
||||
if(apple_glx_copy_context(gc->driContext, source->driContext, dest->driContext,
|
||||
mask, &errorcode, &x11error)) {
|
||||
__glXSendError(dpy, errorcode, 0, X_GLXCopyContext, x11error);
|
||||
}
|
||||
@@ -854,7 +854,7 @@ glXCopyContext(Display * dpy, GLXContext source,
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
/* NOT_DONE: This does not work yet */
|
||||
}
|
||||
@@ -886,7 +886,6 @@ glXCopyContext(Display * dpy, GLXContext source,
|
||||
}
|
||||
|
||||
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
/**
|
||||
* Determine if a context uses direct rendering.
|
||||
*
|
||||
@@ -898,6 +897,9 @@ glXCopyContext(Display * dpy, GLXContext source,
|
||||
static Bool
|
||||
__glXIsDirect(Display * dpy, GLXContextID contextID)
|
||||
{
|
||||
#ifndef GLX_USE_APPLEGL /* TODO: apple indirect */
|
||||
return GC_IS_DIRECT(gc);
|
||||
#else
|
||||
#if !defined(USE_XCB)
|
||||
xGLXIsDirectReq *req;
|
||||
xGLXIsDirectReply reply;
|
||||
@@ -933,8 +935,8 @@ __glXIsDirect(Display * dpy, GLXContextID contextID)
|
||||
|
||||
return reply.isDirect;
|
||||
#endif /* USE_XCB */
|
||||
}
|
||||
#endif /* GLX_USE_APPLEGL */
|
||||
}
|
||||
|
||||
/**
|
||||
* \todo
|
||||
@@ -945,17 +947,6 @@ __glXIsDirect(Display * dpy, GLXContextID contextID)
|
||||
PUBLIC Bool
|
||||
glXIsDirect(Display * dpy, GLXContext gc)
|
||||
{
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
/*
|
||||
* This isn't an ideal test.
|
||||
* glXIsDirect should probably search a list of contexts.
|
||||
*/
|
||||
if(NULL == gc) {
|
||||
__glXSendError(dpy, GLXBadContext, 0, X_GLXIsDirect, false);
|
||||
return False;
|
||||
}
|
||||
return gc->isDirect;
|
||||
#else
|
||||
if (!gc) {
|
||||
return GL_FALSE;
|
||||
}
|
||||
@@ -963,7 +954,6 @@ glXIsDirect(Display * dpy, GLXContext gc)
|
||||
return GL_TRUE;
|
||||
}
|
||||
return __glXIsDirect(dpy, gc->xid);
|
||||
#endif /* GLX_USE_APPLEGL */
|
||||
}
|
||||
|
||||
PUBLIC GLXPixmap
|
||||
@@ -1002,7 +992,7 @@ glXCreateGLXPixmap(Display * dpy, XVisualInfo * vis, Pixmap pixmap)
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
do {
|
||||
/* FIXME: Maybe delay __DRIdrawable creation until the drawable
|
||||
* is actually bound to a context... */
|
||||
@@ -1060,7 +1050,7 @@ glXDestroyGLXPixmap(Display * dpy, GLXPixmap glxpixmap)
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
{
|
||||
int screen;
|
||||
__GLXdisplayPrivate *const priv = __glXInitialize(dpy);
|
||||
@@ -1081,8 +1071,8 @@ glXSwapBuffers(Display * dpy, GLXDrawable drawable)
|
||||
{
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
GLXContext gc = glXGetCurrentContext();
|
||||
if(gc && apple_glx_is_current_drawable(dpy, gc->apple, drawable)) {
|
||||
apple_glx_swap_buffers(gc->apple);
|
||||
if(gc && apple_glx_is_current_drawable(dpy, gc->driContext, drawable)) {
|
||||
apple_glx_swap_buffers(gc->driContext);
|
||||
} else {
|
||||
__glXSendError(dpy, GLXBadCurrentWindow, 0, X_GLXSwapBuffers, false);
|
||||
}
|
||||
@@ -1096,7 +1086,7 @@ glXSwapBuffers(Display * dpy, GLXDrawable drawable)
|
||||
xGLXSwapBuffersReq *req;
|
||||
#endif
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL);
|
||||
|
||||
if (pdraw != NULL) {
|
||||
@@ -1594,7 +1584,7 @@ glXQueryExtensionsString(Display * dpy, int screen)
|
||||
}
|
||||
|
||||
__glXCalculateUsableExtensions(psc,
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
(psc->driScreen != NULL),
|
||||
#else
|
||||
GL_FALSE,
|
||||
@@ -1826,7 +1816,7 @@ glXQueryContext(Display * dpy, GLXContext ctx, int attribute, int *value)
|
||||
int retVal;
|
||||
|
||||
/* get the information from the server if we don't have it already */
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (!ctx->driContext && (ctx->mode == NULL)) {
|
||||
#else
|
||||
if (ctx->mode == NULL) {
|
||||
@@ -2549,7 +2539,7 @@ __glXGetSyncValuesOML(Display * dpy, GLXDrawable drawable,
|
||||
return False;
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
_X_HIDDEN GLboolean
|
||||
__driGetMscRateOML(__DRIdrawable * draw,
|
||||
int32_t * numerator, int32_t * denominator, void *private)
|
||||
@@ -2989,7 +2979,7 @@ __glXBindTexImageEXT(Display * dpy,
|
||||
i++;
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL);
|
||||
|
||||
@@ -3245,7 +3235,7 @@ static const struct name_address_pair GLX_functions[] = {
|
||||
GLX_FUNCTION2(glXReleaseTexImageEXT, __glXReleaseTexImageEXT),
|
||||
#endif
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/*** DRI configuration ***/
|
||||
GLX_FUNCTION(glXGetScreenDriver),
|
||||
GLX_FUNCTION(glXGetDriverConfig),
|
||||
@@ -3322,7 +3312,7 @@ PUBLIC void (*glXGetProcAddress(const GLubyte * procName)) (void)
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/**
|
||||
* Get the unadjusted system time (UST). Currently, the UST is measured in
|
||||
* microseconds since Epoc. The actual resolution of the UST may vary from
|
||||
|
@@ -169,7 +169,7 @@ __glXSetCurrentContextNull(void)
|
||||
{
|
||||
__glXSetCurrentContext(&dummyContext);
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
_glapi_set_dispatch(NULL); /* no-op functions */
|
||||
_glapi_set_context(NULL);
|
||||
#endif
|
||||
@@ -284,7 +284,7 @@ SendMakeCurrentRequest(Display * dpy, CARD8 opcode,
|
||||
}
|
||||
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
static __GLXDRIdrawable *
|
||||
FetchDRIDrawable(Display * dpy, GLXDrawable glxDrawable, GLXContext gc)
|
||||
{
|
||||
@@ -342,8 +342,8 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
const GLXContext oldGC = __glXGetCurrentContext();
|
||||
#ifdef GLX_USE_APPLEGL
|
||||
bool error = apple_glx_make_current_context(dpy,
|
||||
(oldGC && oldGC != &dummyContext) ? oldGC->apple : NULL,
|
||||
gc ? gc->apple : NULL, draw);
|
||||
(oldGC && oldGC != &dummyContext) ? oldGC->driContext : NULL,
|
||||
gc ? gc->driContext : NULL, draw);
|
||||
|
||||
apple_glx_diagnostic("%s: error %s\n", __func__, error ? "YES" : "NO");
|
||||
if(error)
|
||||
@@ -386,7 +386,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
return False;
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/* Bind the direct rendering context to the drawable */
|
||||
if (gc && gc->driContext) {
|
||||
__GLXDRIdrawable *pdraw = FetchDRIDrawable(dpy, draw, gc);
|
||||
@@ -421,7 +421,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
return False;
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if ((dpy != oldGC->currentDpy || (gc && gc->driContext)) &&
|
||||
!oldGC->isDirect && oldGC != &dummyContext) {
|
||||
#else
|
||||
@@ -439,7 +439,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
oldGC->currentContextTag, None, None,
|
||||
&dummy_reply);
|
||||
}
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
else if (oldGC->driContext && oldGC != gc) {
|
||||
oldGC->driContext->unbindContext(oldGC->driContext);
|
||||
}
|
||||
@@ -485,7 +485,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
* previously destroyed, so we need to free the memory
|
||||
* for the old handle.
|
||||
*/
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/* Destroy the old direct rendering context */
|
||||
if (oldGC->driContext) {
|
||||
oldGC->driContext->destroyContext(oldGC->driContext,
|
||||
@@ -507,7 +507,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
#ifndef GLX_USE_APPLEGL
|
||||
gc->thread_id = _glthread_GetID();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (!gc->driContext) {
|
||||
#endif
|
||||
if (!IndirectAPI)
|
||||
@@ -522,7 +522,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
(void) glGetString(GL_VERSION);
|
||||
__glXInitVertexArrayState(gc);
|
||||
}
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
}
|
||||
else {
|
||||
gc->currentContextTag = -1;
|
||||
|
@@ -259,7 +259,7 @@ FreeScreenConfigs(__GLXdisplayPrivate * priv)
|
||||
}
|
||||
Xfree((char *) psc->serverGLXexts);
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (psc->driver_configs) {
|
||||
unsigned int j;
|
||||
for (j = 0; psc->driver_configs[j]; j++)
|
||||
@@ -299,7 +299,7 @@ __glXFreeDisplayPrivate(XExtData * extension)
|
||||
priv->serverGLXversion = 0x0; /* to protect against double free's */
|
||||
}
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
/* Free the direct rendering per display data */
|
||||
if (priv->driswDisplay)
|
||||
(*priv->driswDisplay->destroyDisplay) (priv->driswDisplay);
|
||||
@@ -773,7 +773,7 @@ AllocAndFetchScreenConfigs(Display * dpy, __GLXdisplayPrivate * priv)
|
||||
getVisualConfigs(dpy, priv, i);
|
||||
getFBConfigs(dpy, priv, i);
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
psc->scr = i;
|
||||
psc->dpy = dpy;
|
||||
psc->drawHash = __glxHashCreate();
|
||||
@@ -813,7 +813,7 @@ __glXInitialize(Display * dpy)
|
||||
__GLXdisplayPrivate *dpyPriv;
|
||||
XEDataObject dataObj;
|
||||
int major, minor;
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
Bool glx_direct, glx_accel;
|
||||
#endif
|
||||
|
||||
@@ -870,7 +870,7 @@ __glXInitialize(Display * dpy)
|
||||
dpyPriv->serverGLXvendor = 0x0;
|
||||
dpyPriv->serverGLXversion = 0x0;
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
glx_direct = (getenv("LIBGL_ALWAYS_INDIRECT") == NULL);
|
||||
glx_accel = (getenv("LIBGL_ALWAYS_SOFTWARE") == NULL);
|
||||
|
||||
|
@@ -5198,7 +5198,7 @@ glDeleteTexturesEXT(GLsizei n, const GLuint * textures)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_DeleteTextures(GET_DISPATCH(), (n, textures));
|
||||
} else
|
||||
@@ -5269,7 +5269,7 @@ glGenTexturesEXT(GLsizei n, GLuint * textures)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GenTextures(GET_DISPATCH(), (n, textures));
|
||||
} else
|
||||
@@ -5334,7 +5334,7 @@ glIsTextureEXT(GLuint texture)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
return CALL_IsTexture(GET_DISPATCH(), (texture));
|
||||
} else
|
||||
@@ -5650,7 +5650,7 @@ glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid * table)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetColorTable(GET_DISPATCH(), (target, format, type, table));
|
||||
} else
|
||||
@@ -5726,7 +5726,7 @@ glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetColorTableParameterfv(GET_DISPATCH(),
|
||||
(target, pname, params));
|
||||
@@ -5799,7 +5799,7 @@ glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetColorTableParameteriv(GET_DISPATCH(),
|
||||
(target, pname, params));
|
||||
@@ -6125,7 +6125,7 @@ gl_dispatch_stub_356(GLenum target, GLenum format, GLenum type,
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetConvolutionFilter(GET_DISPATCH(),
|
||||
(target, format, type, image));
|
||||
@@ -6203,7 +6203,7 @@ gl_dispatch_stub_357(GLenum target, GLenum pname, GLfloat * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetConvolutionParameterfv(GET_DISPATCH(),
|
||||
(target, pname, params));
|
||||
@@ -6276,7 +6276,7 @@ gl_dispatch_stub_358(GLenum target, GLenum pname, GLint * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetConvolutionParameteriv(GET_DISPATCH(),
|
||||
(target, pname, params));
|
||||
@@ -6356,7 +6356,7 @@ gl_dispatch_stub_361(GLenum target, GLboolean reset, GLenum format,
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetHistogram(GET_DISPATCH(),
|
||||
(target, reset, format, type, values));
|
||||
@@ -6433,7 +6433,7 @@ gl_dispatch_stub_362(GLenum target, GLenum pname, GLfloat * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetHistogramParameterfv(GET_DISPATCH(), (target, pname, params));
|
||||
} else
|
||||
@@ -6504,7 +6504,7 @@ gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetHistogramParameteriv(GET_DISPATCH(), (target, pname, params));
|
||||
} else
|
||||
@@ -6579,7 +6579,7 @@ gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format,
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetMinmax(GET_DISPATCH(), (target, reset, format, type, values));
|
||||
} else
|
||||
@@ -6653,7 +6653,7 @@ gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetMinmaxParameterfv(GET_DISPATCH(), (target, pname, params));
|
||||
} else
|
||||
@@ -6721,7 +6721,7 @@ gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params)
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetMinmaxParameteriv(GET_DISPATCH(), (target, pname, params));
|
||||
} else
|
||||
|
@@ -119,7 +119,7 @@ void NAME(_gloffset_GetSeparableFilter) (GLenum target, GLenum format,
|
||||
{
|
||||
__GLXcontext *const gc = __glXGetCurrentContext();
|
||||
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (gc->driContext) {
|
||||
CALL_GetSeparableFilter(GET_DISPATCH(),
|
||||
(target, format, type, row, column, span));
|
||||
|
@@ -33,7 +33,7 @@
|
||||
called by that routine when direct rendering is enabled.
|
||||
*/
|
||||
|
||||
#if defined(GLX_DIRECT_RENDERING) || defined(GLX_USE_APPLEGL)
|
||||
#ifdef GLX_DIRECT_RENDERING
|
||||
|
||||
#include "glxclient.h"
|
||||
|
||||
|
Reference in New Issue
Block a user