summaryrefslogtreecommitdiffstats
path: root/src/glx/glxext.c
Commit message (Collapse)AuthorAgeFilesLines
* glx: conditionaly build dri3 and present loader (v3)Armin K2013-11-091-0/+4
| | | | | | | | | | | | | | | This patch makes it possible to disable DRI3 if desired. Tested with: ./configure --disable-dri3 --with-dri-drivers=i965 \ --with-gallium-drivers= --disable-vdpau --disable-egl \ --disable-gbm --disable-xvmc Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71397 Cc: 10.0 <[email protected]>
* Add DRI3+Present loaderKeith Packard2013-11-071-1/+5
| | | | | | | | | | | | Uses the __DRIimage loader interfaces. v2: Fix _XIOErrors when DRI3 isn't present (change by anholt). Apparently XCB just terminates your connection if you don't check for extensions before using them, instead of returning an error like you'd expect. Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glx: Changes to visual configs initialization.Tomasz Lis2013-07-181-4/+24
| | | | | | | | | | | | | | | | | | | | Correctly handle the value of renderType and drawableType in fbconfig. Modify glXInitializeVisualConfigFromTags to read the parameter value, or detect it if it's not there. v2 (idr): If there was no GLX_RENDER_TYPE property, set the type based purely on the rgbMode as the previous code did. It is impossible for floatMode to be set at this point, so we can't have a float config. The previous code regressed a large number of piglit GLX tests because those tests don't set GLX_RENDER_TYPE in the glXChooseConfig call. Restoring the old behavior for that case fixes those regressions. Also fix handling of GLX_DONT_CARE for GLX_RENDER_TYPE. Fixes a regression in glx-dont-care-mask. Signed-off-by: Tomasz Lis <[email protected]> Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glx: Set sRGBCapable to a default valueIan Romanick2012-10-291-0/+2
| | | | | | | | | | | | | Previously, if the server didn't send a GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT tag, it would still be set to GLX_DONT_CARE (which is -1). Set it to GL_FALSE instead. NOTE: This is a candidate for stable release branches. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: Maciej Wieczorek <[email protected]>
* glx: Add GLXBadProfileARB to the error string listAdam Jackson2012-10-171-0/+1
| | | | | | | Note: This is a candidate for the stable branches. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Adam Jackson <[email protected]>
* glx: Unifdef USE_XCB.Eric Anholt2012-10-091-73/+0
| | | | | | | It's been required for building glx since b518dfb513742984f27577d25566f93afd86d4fc in january. Reviewed-by: Chad Versace <[email protected]>
* Remove useless checks for NULL before freeingMatt Turner2012-09-051-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch has been generated by the following Coccinelle semantic patch: // Remove useless checks for NULL before freeing // // free (NULL) is a no-op, so there is no need to avoid it @@ expression E; @@ + free (E); + E = NULL; - if (unlikely (E != NULL)) { - free(E); ( - E = NULL; | - E = 0; ) ... - } @@ expression E; type T; @@ + free ((T) E); + E = NULL; - if (unlikely (E != NULL)) { - free((T) E); ( - E = NULL; | - E = 0; ) ... - } @@ expression E; @@ + free (E); - if (unlikely (E != NULL)) { - free (E); - } @@ expression E; type T; @@ + free ((T) E); - if (unlikely (E != NULL)) { - free ((T) E); - } Reviewed-by: Brian Paul <[email protected]>
* Remove Xcalloc/Xmalloc/Xfree callsMatt Turner2012-09-051-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These calls allowed Xlib to use a custom memory allocator, but Xlib has used the standard C library functions since at least its initial import into git in 2003. It seems unlikely that it will grow a custom memory allocator. The functions now just add extra overhead. Replacing them will make future Coccinelle patches simpler. This patch has been generated by the following Coccinelle semantic patch: // Remove Xcalloc/Xmalloc/Xfree calls @@ expression E1, E2; @@ - Xcalloc (E1, E2) + calloc (E1, E2) @@ expression E; @@ - Xmalloc (E) + malloc (E) @@ expression E; @@ - Xfree (E) + free (E) @@ expression E; @@ - XFree (E) + free (E) Reviewed-by: Brian Paul <[email protected]>
* glx: Handle a null reply in QueryVersion.Stéphane Marchesin2012-06-121-0/+3
| | | | | | | | Works around crashes when X connections break. Reviewed-by: Ian Romanick <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* glx: Use __glX_send_client_info with XCBIan Romanick2012-01-021-0/+4
| | | | | | | __glX_send_client_info only supports XCB, so use that instead of __glXClientInfo when USE_XCB is defined. Signed-off-by: Ian Romanick <[email protected]>
* glx: Explicitly reject servers that only support GLX 1.0Ian Romanick2011-12-191-4/+6
| | | | | | | | | | | | | __glXInitialize calls AllocAndFetchScreenConfigs. AllocAndFetchScreenConfigs unconditionally sends a glXQuerySeverString request to the server. This request is only supported with GLX 1.1 or later, so we were already implicitly incompatible with GLX 1.0 servers. How many more similar bugs lurk in the code that nobody has noticed in years? Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glx: Avoid calling __glXInitialize() in driReleaseDrawables().Henri Verbeet2011-07-191-8/+3
| | | | | | | | | | | | | | This fixes a regression introduced by commit a26121f37530619610a78a5fbe5ef87e44047fda (fd.o bug #39219). Since the __glXInitialize() call should be unnecessary anyway, this is probably a nicer fix for the original problem too. NOTE: This is a candidate for the 7.10 and 7.11 branches. Signed-off-by: Henri Verbeet <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Tested-by: [email protected]
* GLX/DRI2: handle swap event swap count wrappingJesse Barnes2011-07-081-1/+13
| | | | | | | | | | | Create a new GLX drawable struct to track client related info, and add a wrap counter to it drawable and track it as we receive events. This allows us to support the full 64 bits of the event structure we pass to the client even though the server only gives us a 32 bit count. Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Jeremy Huddleston <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
* DRI2/GLX: use new swap event typesJesse Barnes2011-07-081-2/+2
| | | | | | | | Use the new swap event type so we get valid SBC values. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jeremy Huddleston <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
* apple: Build darwin using applegl rather than indirectJeremy Huddleston2011-06-051-3/+4
| | | | | | | | | | This reverts portions of 6849916170c0275c13510251a7b217c20f2b993e that caused the darwin config to fail to build due to missing implementations in that commit. See https://bugs.freedesktop.org/show_bug.cgi?id=29162 Signed-off-by: Jeremy Huddleston <[email protected]>
* Revert "DRI2/GLX: make swap event handling match spec"Dave Airlie2011-05-051-1/+1
| | | | | | | This reverts commit 70227e21bbd4411956ceeb5039640140e64a11a8. revert this until we sort things out, with a new glproto release with compatible struct names.
* DRI2/GLX: make swap event handling match specJesse Barnes2011-05-041-1/+1
| | | | | | | We only handle a 32 bit swap count, so use the new structure definitions. Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
* glx: Only remove the glx_display from the list after it's destroyed.Henri Verbeet2011-04-101-3/+8
| | | | Signed-off-by: Henri Verbeet <[email protected]>
* glx/dri: add initial dri interface for GLX_EXT_framebuffer_sRGB.Dave Airlie2011-03-061-1/+1
| | | | This realigns the name of the glx bit to align with the core mesa names.
* glx: add initial GLX_EXT_framebuffer_sRGB support.Dave Airlie2011-03-061-0/+4
| | | | | | | | | | this doesn't bind to drivers yet, just enough to in theory make indirect work against other servers. I'm really not sure what the rules for adding extensions to the known_gl_extensions list as it looks to be missing a few. are these GL extensions that have GLX protocol?? Signed-off-by: Dave Airlie <[email protected]>
* glx: Fix leaks in DRI2 screen creation error paths.Henri Verbeet2011-01-311-11/+17
| | | | Signed-off-by: Brian Paul <[email protected]>
* glx: fix length of GLXGetFBConfigsSGIXJulien Cristau2011-01-311-1/+1
| | | | | | | | | | The extra length is the size of the request *minus* the size of the VendorPrivate header, not the addition. NOTE: This is a candidate for the 7.9 and 7.10 branches Signed-off-by: Julien Cristau <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* glx: Use GLX_BufferSwapComplete unconditionally, we require glproto 1.4.11Kristian Høgsberg2010-09-071-11/+0
|
* glx: Drop unused dri2proto.h includeKristian Høgsberg2010-09-071-1/+0
|
* Some fixes for GLX_INDIRECT_RENDERING only buildJon TURNEY2010-09-071-1/+1
| | | | | | | This fixes some of the build issues with GLX_INDIRECT_RENDERING but !GLX_DIRECT_RENDERING due to recent changes. Signed-off-by: Jon TURNEY <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
* glx: Drop _Xglobal_lock while we create and initialize glx displayKristian Høgsberg2010-08-021-21/+39
|
* glx: Fix linked list deletion in __glXCloseDisplay()Kristian Høgsberg2010-07-291-1/+1
| | | | I hate single linked lists.
* glx: Split indirect and applegl implementations into different filesKristian Høgsberg2010-07-281-1/+5
|
* glx: Move bind and unbind to context vtableKristian Høgsberg2010-07-281-1/+1
|
* glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types.Kristian Høgsberg2010-07-281-19/+19
|
* glx: Rename __GLXscreenConfigs to struct glx_screenKristian Høgsberg2010-07-281-11/+11
| | | | Because double underscores in private type names is painful.
* glx: Rename glcontextmodes.[ch] to glxconfig.[ch]Kristian Høgsberg2010-07-281-1/+0
|
* glx: Rename __GLcontextModes to struct glx_configKristian Høgsberg2010-07-281-8/+23
| | | | | With this rename, we use 'config' consitently to refer to GLX configurations instead of the modes/configs/visual mess before.
* glx: Delete unused glcontextmodes.c functionsKristian Høgsberg2010-07-281-7/+0
|
* glx: Remove function prototypes no longer necessaryKristian Høgsberg2010-07-261-7/+0
|
* glx: Fix use after free case when destroying screensKristian Høgsberg2010-07-231-1/+0
|
* glx: Refactor and simplify context creationKristian Høgsberg2010-07-231-16/+1
| | | | | This lets us better separate context creation between the different backends.
* glx: Fix indirect screen initializationKristian Høgsberg2010-07-231-2/+7
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=29225
* glx: Move context destroy to context vtableKristian Høgsberg2010-07-231-1/+1
|
* glx: Use _Xglobal_lock for protecting extension display listKristian Høgsberg2010-07-221-124/+80
| | | | Avoids double locking glXLock in the X wire to event handlers.
* glx: Move driver_configs to DRI screen privatesKristian Høgsberg2010-07-191-7/+0
|
* glx: Move drawHash to display privateKristian Høgsberg2010-07-191-9/+4
| | | | | The XIDs are display wide so the natural location of the hash is here. This way we don't have to lookup in each of the screen hashes.
* glx: Don't use __glXInitialize() when we might be holding __glXLock()Kristian Høgsberg2010-07-191-0/+1
|
* glx: Add screen privates for dri drivers and moved some fields thereKristian Høgsberg2010-07-191-36/+53
| | | | | | GLXscreenConfigs is badly named and a dumping ground for a lot of stuff. This patch creates private screen structs for the dri drivers and moves some of their fields over there.
* glx: fix indentation and remove extraneous breakBrian Paul2010-06-021-2/+1
|
* glx: reformat and silence unused expression warningBrian Paul2010-06-021-1/+2
|
* glx: fix regression with GLX_USE_GLDave Airlie2010-05-031-0/+3
| | | | update for fbconfig_style_tags
* apple: Change ifdefs for DRI to be DRI && !APPLEJeremy Huddleston2010-04-271-5/+5
| | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* apple: Initial import of libGL for OSX from AppleSGLX svn repository.Jeremy Huddleston2010-04-271-7/+75
| | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* Fix __glXInitializeVisualConfigFromTags's handling of unrecognized fbconfig ↵7.8-branchpointAaron Plattner2010-04-231-0/+2
| | | | | | | | | | | | | | tags. __glXInitializeVisualConfigFromTags doesn't skip the payload of unrecognized tags. Instead, it treats the value as if it were the next tag, which can happen if the server's GLX extension is not Mesa's. For example, this falls down when NVIDIA sends a GLX_FLOAT_COMPONENTS_NV = 0 pair, causing __glXInitializeVisualConfigFromTags to bail out early. Signed-off-by: Aaron Plattner <[email protected]> Signed-off-by: Ian Romanick <[email protected]>