Commit graph

781 commits

Author SHA1 Message Date
Kristian Høgsberg
3ea3f5e0a5 glx: Set an all NULL vtable for dummyContext
This reverts 6a6e6d7b0a and initializes
dummyContext with an all NULL vtable.  The context vtable pointer is
supposed to always be non-NULL, but the vtable entries can be NULL.
2010-09-07 14:32:28 -04:00
Kristian Høgsberg
57d3f71132 glx: Fix compilation with out xf86vidmode 2010-09-07 14:24:25 -04:00
Kristian Høgsberg
f84d8fab99 glx: Use GLX_BufferSwapComplete unconditionally, we require glproto 1.4.11 2010-09-07 14:24:25 -04:00
Michel Dänzer
6a6e6d7b0a Fix crashes when some GLX API entrypoints are called with no current context.
I was hitting this with gliv.

The GLX spec explicitly mentions that glXWaitX, glXWaitGL and glXUseXFont calls
are ignored when there's no current context. Not sure what if anything the
GLX_EXT_texture_from_pixmap spec says about this, but I think ignoring the
calls makes more sense than crashing there as well. :)
2010-09-07 19:54:16 +02:00
Jon TURNEY
2b9dac397b Make XF86VIDMODE extension optional
Code in glx/glxcmds.c which uses the XF86VIDMODE extension is already guarded.  Also use
that guard to control inclusion of the xf86vmode.h header, and only enable that guard if the
XF86VIDMODE extension is found by pkgconfig.

This changes the behaviour on platforms which XF86VIDMODE exists, in that XF86VIDMODE used to
be mandatory, but is now optional.

Presumably other build systems are already arranging for -DXF86VIDMODE to be supplied to the
complier when glxcmds.c is compiled, so are not affected by this change

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-09-07 13:30:19 -04:00
Kristian Høgsberg
dd2658d0ac glx: Drop unused dri2proto.h include 2010-09-07 13:30:12 -04:00
Kristian Høgsberg
60fce15447 glx: Move dpy and scr fields out of direct rendering conditional
Nothing direct rendering specific about these fields.  Moving them out
makes no-direct-rendering compilation work again.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-09-07 12:41:09 -04:00
Jon TURNEY
ae9487c299 Some fixes for GLX_INDIRECT_RENDERING only build
This fixes some of the build issues with GLX_INDIRECT_RENDERING but !GLX_DIRECT_RENDERING due to recent changes.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-09-07 12:33:11 -04:00
Jon TURNEY
23e2dec1a1 glx: Only clear the stored context tag when the context has been unbound
The calling order of ->bind and ->unbind changed and then ->unbind would
clear the currentContextTag of the old context before ->bind could reuse
it in the make current request, in the indirect case.

Instead, clear the old currentContextTag if and only if we send a request
to the server to actually unbind it or reassign it to another context.

https://bugs.freedesktop.org/show_bug.cgi?id=29977

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-09-07 09:07:23 -04:00
Brian Paul
ad58f0d9e0 make: Use C++ compiler to link stdc++ library.
glxinfo and glxgears run on swrast and softpipe without undefined symbol
errors.
2010-08-24 12:18:09 -07:00
Kristian Høgsberg
2542d8e0c2 glx: Move deref after NULL check 2010-08-04 12:51:26 -04:00
Kristian Høgsberg
e3a0e468bc glx: Fix use after free in drisw error path 2010-08-04 08:57:02 -04:00
Kristian Høgsberg
e71c44cedd glx: We no longer need screen extensions for drisw
https://bugs.freedesktop.org/show_bug.cgi?id=29177
2010-08-04 08:52:26 -04:00
Kristian Høgsberg
9da1c9da13 glx: dri2InvalidateBuffers() needs the X drawable XID not the GLX one
This never ceases to entertain.
2010-08-04 08:47:36 -04:00
Kristian Høgsberg
1f1928db00 glx: Drop _Xglobal_lock while we create and initialize glx display 2010-08-02 09:53:44 -04:00
Kristian Høgsberg
e3e25dee20 glx: Fix copy/paste bug in glXWaitX and glXWaitGL
https://bugs.freedesktop.org/show_bug.cgi?id=29304
2010-07-29 18:49:10 -04:00
Kristian Høgsberg
f485ee724d glx: Compare old ctx against dummyCtx, not NULL
https://bugs.freedesktop.org/show_bug.cgi?id=29302
2010-07-29 18:49:10 -04:00
Kristian Høgsberg
cd601513f5 glx: Fix linked list deletion in __glXCloseDisplay()
I hate single linked lists.
2010-07-29 16:03:44 -04:00
Kristian Høgsberg
6849916170 glx: Split indirect and applegl implementations into different files 2010-07-28 16:45:25 -04:00
Kristian Høgsberg
c491e585e4 glx: Move bind and unbind to context vtable 2010-07-28 16:45:25 -04:00
Kristian Høgsberg
c356f5867f glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04:00
Kristian Høgsberg
66fc35cde9 glx: Rename __GLXscreenConfigs to struct glx_screen
Because double underscores in private type names is painful.
2010-07-28 16:42:00 -04:00
Kristian Høgsberg
38c51a7653 glx: Use _X_EXPORT instead of our own PUBLIC macro
We're an X client library, so we can use Xfuncproto.h.
2010-07-28 16:42:00 -04:00
Kristian Høgsberg
65d98e2577 glx: Rename glcontextmodes.[ch] to glxconfig.[ch] 2010-07-28 16:42:00 -04:00
Kristian Høgsberg
6ddf66e923 glx: Rename __GLcontextModes to struct glx_config
With this rename, we use 'config' consitently to refer to GLX configurations
instead of the modes/configs/visual mess before.
2010-07-28 16:42:00 -04:00
Kristian Høgsberg
4f9f066485 glx: Delete unused glcontextmodes.c functions 2010-07-28 16:41:59 -04:00
Kristian Høgsberg
38765fe4c2 glx: Stop using glcore.h and glxint.h in glx
We'd like to get rid of these header files.
2010-07-28 16:41:59 -04:00
Carl Worth
db011c8141 Avoid a compiler warning about a potentially unused variable.
There is no assignment to the "ret" variable if X_DRI2SwapBuffers is
not defined. In this case, the earlier explicit "return 0" is likely
to be used, but the compiler can't be sure of that, (nor can I for
that matter).

We cover this case by explicitly initializing "ret" to 0.
2010-07-28 10:42:46 -07:00
Carl Worth
14a3d61ea3 Avoid compiler warning for unused glx_dpy variable.
My earlier attempt to eliminate this warning (c0ca2bfb2a) was
invalid as it removed the variable declaration. Jerome correctly
reverted that (600c85efdb) since the variable is used when
X_DRI2SwapBuffers is defined.

Here, instead of removing the declaration, we move it to inside the
correct #ifdef.
2010-07-28 10:33:27 -07:00
Kristian Høgsberg
5403ca79b2 glx: Remove function prototypes no longer necessary 2010-07-26 17:37:59 -04:00
Kristian Høgsberg
e4aa9440d9 glx: Drop debug fprintf that snug in with the previous commit 2010-07-26 16:06:05 -04:00
Kristian Høgsberg
2235b1c72d glx: Enable copy subbuffer patch when GLX_DIRECT_RENDERING is #defined
Depending on __DRI_COPY_SUB_BUFFER doesn't work when we no longer include
dri_interface.h.

https://bugs.freedesktop.org/show_bug.cgi?id=29264
2010-07-26 15:52:45 -04:00
Kristian Høgsberg
bc34aa6128 glx: Drop duplicate psc field in dri context struct
Same problem as fixed for drisw in 4d58b5b482.
2010-07-26 15:18:56 -04:00
Kristian Høgsberg
4d58b5b482 glx: Drop duplicate psc field in drisw context struct
Causing a crash in drisw MakeCurrent.
2010-07-24 21:43:25 -04:00
Eric Anholt
af6a2aede6 glx: Fix another case of confusing driContext and dri2_context * 2010-07-23 20:58:12 -07:00
Eric Anholt
566373967a glx: Correctly look up the dri2 context pointer for SetTexBuffer.
gc->driContext points at the second member of the dri2 context.  The
dri2 context is just a subclass of the GLX context.

Fixes piglit tfp testcase.
2010-07-23 20:58:12 -07:00
Kristian Høgsberg
d77bb8e059 glx: Don't destroy context with XID 0
We use XID 0 to indicate the context has already been destroyed, but it's
currently bound.
2010-07-23 22:05:53 -04:00
Kristian Høgsberg
6739d52fdc glx: Fix use after free case when destroying screens 2010-07-23 22:05:53 -04:00
Kristian Høgsberg
6393a33944 glx: zero out drawable structs after allocation 2010-07-23 22:05:53 -04:00
Kristian Høgsberg
6ec39db726 glx: Refactor and simplify context creation
This lets us better separate context creation between the different
backends.
2010-07-23 22:05:53 -04:00
Kristian Høgsberg
b5dedd7c3b glx: Fix indirect screen initialization
https://bugs.freedesktop.org/show_bug.cgi?id=29225
2010-07-23 22:05:53 -04:00
Kristian Høgsberg
c796bb0cc3 glx: Move context destroy to context vtable 2010-07-23 22:05:52 -04:00
Eric Anholt
9a12a3925a glx: Don't try to swap a front buffer if we don't have one.
Fixes glean glsl1 since 7b7845a076
2010-07-23 13:59:22 -07:00
Kristian Høgsberg
eeaab2047c glx: Drop screen argument to GetGLXDRIDrawable
We'll just get it from the returned drawable when we need it.
2010-07-22 22:36:37 -04:00
Kristian Høgsberg
7b7845a076 glx: Move WaitGL, WaitX, UseXFont to context vtable functions 2010-07-22 22:24:00 -04:00
Kristian Høgsberg
31819830b6 glx: Allocate the __GLXcontext in the DRI drivers 2010-07-22 22:16:32 -04:00
Kristian Høgsberg
ab434f6b76 glx: Use _Xglobal_lock for protecting extension display list
Avoids double locking glXLock in the X wire to event handlers.
2010-07-22 21:11:20 -04:00
Kristian Høgsberg
7a66e54958 glx: Move last few dri_interface.h types out of glxclient.h and drop include 2010-07-21 22:17:24 -04:00
Kristian Høgsberg
f679640868 glx: Move __driContext field out of __GLXcontextRec 2010-07-21 22:17:24 -04:00
Jerome Glisse
600c85efdb Revert "dri2: Remove an unused variable."
glx_info is used if X_DRI2SwapBuffers is defined
This reverts commit c0ca2bfb2a.
2010-07-21 17:40:37 -04:00