summaryrefslogtreecommitdiff
path: root/src/glx/x11/glxext.c
AgeCommit message (Collapse)Author
2007-10-10Drop __DRInativeDisplay and pass in __DRIscreen pointers instead.Kristian Høgsberg
Many DRI entry points took a __DRInativeDisplay pointer and a screen index as arguments. The only use for the native display pointer was to pass it back to the loader when looking up the __DRIscreen for the given screen index. Instead, let's just pass in the __DRIscreen pointer directly, which let's drop the __DRInativeDisplay type and the getScreen function. The assumption is now that the loader will be able to retrieve context from the __DRIscreen pointer when necessary.
2007-10-05Remove XIDs from DRI interface (see #5714).Kristian Høgsberg
2007-08-16suppress warning about ncon visuals (bug #6689)Roland Scheidegger
2007-04-09remove unneeded initialization code (see bug 10569)Brian
2007-04-09allocate __GLXdisplayPrivate w/ Xcalloc instead of Xmalloc (bug 10569)Brian
2007-04-08Make sure GLX entrypoints are marked PUBLIC.Adam Jackson
Fedora bug #229808.
2007-02-05fix mem leaksPanagiotis Papadakos
2007-02-01fix mem leak in __glXReportDamage (Panagiotis Papadakos)Brian
2007-01-09Track rename of DamagePost -> DamageAdd.Eric Anholt
2007-01-05Add reporting of damage by DRI drivers when the extension support is available.Eric Anholt
With this, tools like ximagesrc in gstreamer correctly see updates from GL rendering. Support requires that the Xdamage library be current (but will be disabled if not present) plus a new X Server with support for the new XDamagePost request. libGL now has a new interface version, and also links against libXdamage and libXfixes to support it, but backwards compatibility is retained. Currently, all drivers report damage at SwapBuffers time through common code -- front buffer rendering doesn't result in damage being reported. Also, the damage is against the root window, as our drivers don't yet render to backing store when they should (composited environments).
2006-11-08remove drm stuff from libGL, this is now in libdrm 2.3.0Dave Airlie
2006-11-01disable debug printfBrian Paul
2006-11-01merge the (rest of) texmem branchKeith Whitwell
2006-10-16Fix bug #8563.Ian Romanick
Fixes a GLX protocol problem when binding an indirect rendering context after a direct rendering context. In this case, the oldContetTag sent to the server should be None, but the currectContextTag stored in the direct rendering context (i.e., -1) was sent instead.
2006-10-09added a SyncHandle() call, remove UnlockDisplay() call. (bug 8521)Brian Paul
2006-10-09Updates for XCB. Bug 8560.Brian Paul
2006-10-07Major clean up of MakeContextCurrentIan Romanick
Rearrange most of the internals of MakeContextCurrent. Put all of the code to bind the new context up front. If that is successful, unbind the old context. This saves a lot of code and removes some locking crazyiness. This patch has been tested for indirect rendering with glxinfo, glxgears, manywin, and wincopy.
2006-10-04in MakeContextCurrent() use old display pointer for __glXSetupForCommand(), ↵Brian Paul
bug 8443
2006-09-26Update to use the new XCB naming convention.Jeremy Kolb
2006-08-29Clean up GLX function exports.Ian Romanick
Make functions for the following extensions only accessable via glXGetProcAddress: - GLX_EXT_texture_from_pixmap - GLX_MESA_copy_sub_buffer - GLX_MESA_release_buffers - GLX_MESA_swap_control - GLX_MESA_swap_frame_usage - GLX_OML_sync_control - GLX_SGI_make_current_read - GLX_SGI_swap_control - GLX_SGI_video_sync - GLX_SGIX_swap_barrier - GLX_SGIX_swap_group Removed all remnants of the following extensions: - GLX_MESA_set_3dfx_mode - GLX_SGI_cushion - GLX_SGIX_dmbuffer - GLX_SGIX_video_resize - GLX_SGIX_video_source - GLX_SUN_get_transparent_index -
2006-07-15fix a memleak (that code block has been commented out for years for unknown ↵Tilman Sauerbeck
reasons)
2006-07-12fix a memleakTilman Sauerbeck
2006-04-11FBConfig support for EXT_tfpDavid Reveman
2006-04-03Coverity #468: Fill in the rest of the error_list to match the error codesAdam Jackson
defined in glxproto.h. Avoids reading semi-random memory (and probably crashing) when calling __glXErrorString().
2005-08-11fix X #includes so they're relative to X11/ directory (bug 4047)Brian Paul
2005-08-10Remove _glapi_check_multithread from the interface exported by the loader toIan Romanick
the driver. The loader now takes care of this for the driver. Remove _glapi_DispatchTSD and give _glapi_Dispatch its semantic (i.e., having a NULL value means that the application is multithreaded and _glapi_get_dispatch must be called). Gut all of the dispatch override code. This removes _glapi_RealDispatch, _glapi_tls_RealDispatch, _glapi_begin_dispatch_override, _glapi_end_dispatch_override, and _glapi_get_override_dispatch. Remove _glapi_get_proc_address, _glapi_get_proc_name, _glapi_get_version, and _glapi_check_table from the loader / driver interface. Reviewed by: Brian Paul
2005-08-05Fixes bugzilla #1730.Ian Romanick
Make sure that all the values used in the clean-up code are initialized at some point. It is still unclear to me as to why GCC does not complain. I suspect the problem may be due to the depth of if-statement nesting.
2005-08-03Convert all instances of XTHREADS to USE_XTHREADS. This fixes one ofIan Romanick
serveral things that are broken when building on a system with X.org 7.0rc0 installed.
2005-08-01Fix build problems related to finding Xthreads.h.Ian Romanick
2005-07-26Remove the last remnants of GLX_BUILT_IN_XMESA. This allows the removal ofIan Romanick
the evil, ugly GLX_PREFIX macro as well.
2005-07-26No, really, get rid of all the remaining references to DRI_USE_NEW_INTERFACE.Ian Romanick
A couple other remnants of the old interfaces hit the dust too. Thanks Jon. :)
2005-07-26Fixes the glXGetProcAddress portion of the interface. Most of the functionsIan Romanick
that are currently obtained via glXGetProcAddress and all of the XF86DRI functions are replaced with a funciton table. This table will be passed to __driCreateNewScreen. One of the functions in the table is getProcAddress. This allows some loaders to expose functionality not in all loaders. This will be immediatly used for glxEnableExtension (formerly known to drivers as __glXScrEnableExtension). libGL (and in the future libglx) expose this function so that drivers can enable GLX extensions. libEGL should exposed eglEnableExtension to enable EGL extensions. The same function cannot be used for both because the extensions have different names and (possibly) different semantics. Drivers can optionally use one, both, or neither. The key parts are in the __DRIinterfaceMethodsRec structure in dri_interface.h. A pointer to one of these structures is passed into __driCreateNewScreen. Because of this, the version of the API is bumped to 20050725. Since the previous version(s) were never in a release, their existance is erased. I was actually a little surprised by how much code this cuts from the drivers. A lot of glXGetProcAddress calls disappear, and a lot of version checks go with them. Nice. The one thing I'm not sure of is removing __glXInitialize. For some reason that function was in the glXGetProcAddress table, but *nothing* in the Mesa tree used it. Did something with DRI conf. use this function? It seems odd...
2005-07-24Gut a few more dead bits. Replace uses of the CreateNewScreenFunc typedefIan Romanick
(from glxclient.h) with PFNCREATENEWSCREEN (from dri_interface.h). Remove the prototype for __driCreateScreen and fix the prototype for __driCreateNewScreen (append the API version) in dri_interface.h.
2005-07-24All elements of pre-DRI_NEW_INTERFACE_ONLY are removed. This allowsIan Romanick
1,402 lines of code to be removed from Mesa (drivers and libGL). The big winner is dri_util.c. Primary changes are: 1. Remove all "deprecated" entry-points from the various structures in dri_interface.h. 2. Rename the remaining fields to removed "version numbers." So, bindContext3 becomes bindContext. Functions with "New" in the name (e.g., CreateNewContext) were *not* changed, but that is an option. Having "New" in the name is less annoying to me than having "3" in the name. 3. Remove all compatibility code that handles cases where the driver or the loader is too old to support the latest interfaces. 4. Append the API version to the __driCreateNewScreen function name. This is currently done by hand. In the future (i.e., the next time we make an incompatible change to the interface) we'll want to come up with a better way to do this. This prevents old loaders from being able to load new (incompatible) drivers. 5. Bump the API version to 20050722. All drivers (by way of dri_util.c) require this version. 6. All drivers are *required* to expose GLX_SGIX_fbconfig and GLX_OML_swap_method (or the moral equivalents). Support for these functions in implicit in the use of the "new" interface. 7. Some cases still exist that need to be compiled differently in a loader or core Mesa versus in a driver. These are identified by the define IN_DRI_DRIVER.
2005-05-07Patches for XCB (Jeremy Kolb)Brian Paul
2005-04-18Add support for pthreads and TLS to libGL for __glXLock / __glXUnlock andIan Romanick
for tracking the current GLX context. This fixes bug #3024.
2005-03-17Minor vertex array support tweaks. Most of these are in preparation for theIan Romanick
(eventual) addition of support for ARB_vertex_buffer_object. Move all the private vertex array data structures out of indirect_vertex_array.c and into indirect_va_private.h. Rename array_state_vector::enabled_array_count to array_state_vector::enabled_client_array_count. Make sure that both the GL extension string and the server GL version are available when __glXInitVertexState is called. Make sure that array_state::normalized is set correctly in the array's gl*Pointer function.
2005-02-23Missed the commit of glxext.c yesterday.Ian Romanick
Fixed a flow control problem in glGet*v that could result in the display not being unlocked. This also resulted in refactoring a lot more code out of the glGet*v routines into get_array_data, which was renamed to get_client_data.
2005-01-08Enable libGL to be built with DRI_NEW_INTERFACE_ONLY (but don't do it yet).Adam Jackson
2004-12-21Used GCC's __builtin_expect when available. Change the way code isIan Romanick
generated for commands that can use RenderLarge packets. Tweak the code for __glXFlushRenderBuffer slightly.
2004-12-20Use GLX protocol code generated by glX_proto_send.py.Ian Romanick
2004-12-15Fix up glx/x11 to work when built with -fvisibility=hidden.Adam Jackson
2004-10-25Import the GLX client side library, formerly from xc/lib/GL/glx. Build itAdam Jackson
by adding 'glx/x11' to SRC_DIRS in your build config.