summaryrefslogtreecommitdiff
path: root/src/glx/x11
AgeCommit message (Collapse)Author
2007-10-10Convert all DRI entrypoints to take pointers to __DRI* types.Kristian Høgsberg
The entrypoints take a mix of __DRIscreen * and void * (screen private) arguments (similarly for contexts and drawables). This patch does away with passing the private void pointer and always only passes the fully typed __DRIscreen pointer and always as the first argument. This makes the interface more consistent and increases type safety, and catches a bug where we would pass a screen private to DRIdrawable::getSBC.
2007-10-10Remove screenConfigs from __DRIscreen.Kristian Høgsberg
The screenConfigs field of __DRIscreen points back to the containing __GLXscreenConfigs struct. This is a serious abstraction violation; it assumes that the loader is libGL and that there *is* a __GLXscreenConfigs type in the loader. Using the containerOf macro, we can get from the __DRIscreen pointer to the containing __GLXscreenConfigs struct, at a place in the stack where the above is a valid assumption. Besides, the __DRI* structs shouldn't hold state other than the private pointer.
2007-10-10Drop mostly unused __DRIid typedef.Kristian Høgsberg
2007-10-10Avoid deadlock in GarbageCollectDRIDrawables.Kristian Høgsberg
__glXinitialize() can't be called with the GLX lock held. Just pass in the __GLXscreenConfigs pointer so we don't have to look it up in __GLXdisplayPrivate.
2007-10-10Drop createContext and destroyContext from DRIinterfaceMethods.Kristian Høgsberg
As for createDrawable and destroyDrawable, these functions immediately upon entry to driCreateNewContext and immediately before exit from driDestroyContext. Instead of passing function pointers back and forth just obtain the drm_context_t prior to calling DRIscreen::createNewContext and pass it as a parameter. This change also lets us keep the DRI context XID in the libGL loader only.
2007-10-10Drop createDrawable and destroyDrawable fron DRIinterfaceMethods.Kristian Høgsberg
All the DRI driver did was call the createDrawable callback immediately upon entry to DRIscreen::createNewDrawable to get the drm_drawable_t. We can just call that before calling into the DRI driver and pass the returned drm_drawable_t as an argument to the DRI entry point. Likewise for destroyDrawable. Also, DRIdrawablePrivate::draw isn't used anywhere, and since the driver no longer needs the XID of the drawable we can now drop that.
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-05Add macros to generate CreateNewScreen entrypoint.Kristian Høgsberg
2007-10-05Remove XIDs from DRI interface (see #5714).Kristian Høgsberg
2007-10-05Pull in the drm hash.Kristian Høgsberg
2007-09-28add support for LDFLAGS env varDan Nicholson
2007-08-27fixed problem with big glDrawArrays (see bug 12141)Colin McDonald
2007-08-16suppress warning about ncon visuals (bug #6689)Roland Scheidegger
2007-05-17get rid of needless static function declarations at top of fileBrian
2007-05-17In DestroyPbuffer(), use GetReq() intead of GetReqExtra(). See bug 10983.Brian
2007-05-14in __glXGetArrayType() return type, not enabled (bug 10938)Bruce Merry
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-04-08fix bug 9823: GL_CLIENT_ATTRIB_STACK_DEPTH query fails for indirect renderingWei Wang
2007-04-07fix etags command to find headersBrian
2007-04-05glx: minor cosmetic in glcontextmodes.cGeorge Sapountzis
move memory macros to separate block and unwrap malloc/free for miniglx towards cleaning Mesa core glitches in glx...
2007-04-05Move glcontextmodes.c to glx.George Sapountzis
It is no longer linked with DRI drivers, libGL passes function pointers through the DRI interface.
2007-03-27always print error messages, unless LIBGL_DEBUG=quietBernardo Innocenti
2007-02-05fix mem leaksPanagiotis Papadakos
2007-02-05break if we removed driver from Drivers list in driDestroyDisplayPanagiotis Papadakos
Else we read memory we just released, in for statement.
2007-02-01Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesaBrian
2007-02-01fix mem leak in __glXReportDamage (Panagiotis Papadakos)Brian
2007-02-01driDestroyDisplay: Fix comment, it is called now.Michel Dänzer
2007-02-01driDestroyDisplay: Remove Drivers list entry when dlclosing its handle.Michel Dänzer
This fixes a regression from commit f81b1dbe374fe446f6ef676e70a72952ffb47d4e: Since then, driDestroyDisplay gets called from __glXFreeDisplayPrivate. It dlcloses the handles associated with the display but fails to remove their references from the Drivers list, so subsequent calls to OpenDriver return a stale handle and an invalid createNewScreenFunc pointer. The attempt to call the latter results in a segfault when running amoeba, e.g.
2007-01-30regeneratedBrian
2007-01-30s/params/pointer/ for glGetVertexAttribPointerBrian
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).
2007-01-04s/unsigned/size_t/ (Matthias Hopf)Brian
2006-12-06Make git ignore files only generated at build time.Michel Dänzer
2006-11-21Don't define as const's to avoid compiler optimization & warning.Alan Hourihane
2006-11-08remove drm stuff from libGL, this is now in libdrm 2.3.0Dave Airlie
2006-11-02Update gl_API.xml with OpenGL 2.0 functions, regenerate derived files.Brian Paul
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-13Fix dumb build errors.Ian Romanick
I always build with -DGLX_USE_TLS, so I never hit these paths. glapi.h is required in some places because _glapi_Dispatch is declared there, but _glapi_tls_Dispatch is declared in glthread.h.
2006-10-13include glapi.h to fix broken buildBrian Paul
2006-10-11Fix bug #4681.Ian Romanick
glDeleteTextures and glDeleteTexturesEXT were erroneously listed as aliases of each other. For anything /except/ GLX protocol they are aliases. This set of changes allows functions that are functionally identical but have different GLX protocol to be listed as aliases. When building with GLX_INDIRECT_RENDERING set, different static functions are used. These functions determine whether the current context is direct rendering or not. If the context is direct rendering, the aliased function (e.g., glDeleteTextures in the case of glDeleteTexturesEXT) is called. If the context is not direct rendering, the correct GLX protocol is sent. For a deeper explanation of what is changed, please see: http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
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-04Changes to generated code caused by the previous commits.Ian Romanick
2006-10-04in MakeContextCurrent() use old display pointer for __glXSetupForCommand(), ↵Brian Paul
bug 8443