summaryrefslogtreecommitdiffstats
path: root/src/glx/glxextensions.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert "glx: Implement GLX_EXT_no_config_context"Adam Jackson2019-09-261-1/+0
| | | | | | This reverts commit 0d635ccc912d7122f35f81eec27d8b2c0a2a7a28. Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1207
* glx: Implement GLX_EXT_no_config_contextAdam Jackson2019-09-231-0/+1
| | | | | | | | | | This is the GLX counterpart to EGL_KHR_no_config_context. Contexts may now be created without reference to an fbconfig, in which case it is treated as compatible with any fbconfig (and thus any GLX drawable). Khronos: https://github.com/KhronosGroup/OpenGL-Registry/pull/102 Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* Revert "glx: Unset the direct_support bit for GLX_EXT_import_context"Adam Jackson2019-08-301-1/+1
| | | | | | | | | | The GLX extension strings are independent of any context, so abusing the direct_support bit to control this extension's visibility is wrong. This reverts commit 079d0717fc896bc8086b037d0ed22642274986c7. Reported-by: Michel Dänzer <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* glx: Unset the direct_support bit for GLX_EXT_import_contextAdam Jackson2019-08-271-1/+1
| | | | | | | GLX_EXT_import_context operates only on indirect contexts, a direct context cannot possibly support it. Without this change the extension will appear in the combined GLX extension string even if it is missing from the server string, indicating a lack of required server support.
* glx: add support for GLX_ARB_create_context_no_error (v3)Grigori Goronzy2019-03-121-0/+1
| | | | | | | | | v2: Only reject no-error contexts for too-old GL if we're actually trying to create a no-error context (Adam Jackson) v3: Fix share contexts (Adam Jackson) Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glx: GLX_MESA_multithread_makecurrent is direct-onlyAdam Jackson2018-08-091-1/+1
| | | | | | | | | | | | This extension is not defined for indirect contexts. Marking it as "client only", as the old code did here, would make the extension available in indirect contexts, even though the server would certainly not have it in its extension list. Cc: <[email protected]> Signed-off-by: Adam Jackson <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glx: remove empty GLX_SGIX_swap_group stubsEmil Velikov2018-03-121-1/+0
| | | | | | | | | | | The extension was never implemented. Quick search suggests: - no actual users (on my Arch setup) - the Nvidia driver does not implement the extension Signed-off-by: Emil Velikov <[email protected]> Acked-by: Ian Romanick <[email protected]> Acked-by: Brian Paul <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* glx: remove empty GLX_SGIX_swap_barrier stubsEmil Velikov2018-03-121-1/+0
| | | | | | | | | | | The extension was never implemented. Quick search suggests: - no actual users (on my Arch setup) - the Nvidia driver does not implement the extension Signed-off-by: Emil Velikov <[email protected]> Acked-by: Ian Romanick <[email protected]> Acked-by: Brian Paul <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* Revert "glx: Implement GLX_EXT_no_config_context (v2)"Adam Jackson2017-11-091-1/+0
| | | | | | Pushed ahead of things actually working. This reverts commit 5293b96b160b904c0e53cbce93679c3aa090f846.
* glx: Implement GLX_EXT_no_config_context (v2)Adam Jackson2017-11-091-0/+1
| | | | | | | | | | This more or less ports EGL_KHR_no_config_context to GLX. v2: Enable the extension only for those backends that support it. Khronos: https://github.com/KhronosGroup/OpenGL-Registry/pull/102 Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Adam Jackson <[email protected]>
* glx: Implement GLX_ARB_context_flush_controlNeil Roberts2017-11-061-0/+1
| | | | | | | Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Neil Roberts <[email protected]>
* glx: Sort the GLX extension bit enum and tableAdam Jackson2017-09-221-11/+11
| | | | | | | | Not quite asciibetical: ARB, then EXT, then vendor, just like the GL extension enum just below. No functional change, but it bothered me. Signed-off-by: Adam Jackson <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Implement GL_ARB_texture_filter_anisotropicAdam Jackson2017-08-251-0/+1
| | | | | | | | | | | The only difference from the EXT version is bumping the minmax to 16, so just hit all the drivers at once. v2: Fix driver names, add to 17.3 release notes (Ilia Mirkin) Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Adam Jackson <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glx: update to updated version of EXT_create_context_es2_profileIlia Mirkin2016-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | The EXT spec has been updated to: - logically combine the es2_profile and es_profile exts - allow any legal version to be requested dEQP tests request a specific ES version when using GLX, so this allows dEQP upstream to run against GLX with the appropriate X server patch (which had similar disabling logic). Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Matt Turner <[email protected]> (v1) Reviewed-by: Adam Jackson <[email protected]> (v3) v1 -> v2: - distinguish between DRI_API_GLES{,2,3} - add GLX_EXT_create_context_es_profile client-side support v2 -> v3: - fix error in computing mask
* glx: Fix image size computation for EXT_texture_integer (v2)Adam Jackson2015-07-311-0/+1
| | | | | | | | | | | Without this this extension basically can't work in indirect contexts, TexImage2D will compute the image size as 0 and we'll send no image data to the server. v2: Add EXT_texture_integer to the client extension list too (Ian) Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Adam Jackson <[email protected]>
* glx: Massive update of comments in struct extension_infoIan Romanick2015-04-291-4/+65
| | | | | | | | | In response to another patch, Emil asked for some clarification how this stuff works. Rather than just reply to the e-mail, I decided to update the exlanation in the code. Signed-off-by: Ian Romanick <[email protected]> Cc: Emil Velikov <[email protected]>
* glx: Create proper server dependency for GLX_EXT_create_context_es2_profileIan Romanick2015-04-151-11/+1
| | | | | | | | | | | | | | | | | | | | Previously GLX_EXT_create_context_es2_profile was marked as "direct only" so that it would not depend on server support. Since the extension required functions that are part of GLX_ARB_create_context_profile, support for the EXT was disabled if the ARB was not supported. This was complete rubbish. If the server supported the ARB but not the EXT, sending a request with GLX_CONTEXT_ES2_PROFILE_BIT_EXT would result in GLXBadProfileARB. Instead of the misguided hack, make GLX_EXT_create_context_es2_profile properly depend on server support by not marking it as "direct only." Signed-off-by: Ian Romanick <[email protected]> Acked-by: José Fonseca <[email protected]> Reviewed-by: Chad Versace <[email protected]> Cc: Emil Velikov <[email protected]>
* glx: Do not advertise buffer_age on dri2Adel Gadllah2014-04-021-1/+1
| | | | | | | | | | | | | Previously GLX_EXT_buffer_age has always been advertised as supported because both client_glx_support and client_glx_only where set. So it did not matter that direct_support is only set when running dri3 and we ended up always advertising it. Fix that by not setting client_glx_only for buffer_age in known_glx_extensions. Signed-off-by: Adel Gadllah <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* dri3: Add GLX_EXT_buffer_age supportAdel Gadllah2014-03-131-0/+1
| | | | | | | | | | | v2: Indent according to Mesa style, reuse sbc instead of making a new swap_count field, and actually get a usable back before returning the age of the back (fixing updated piglit tests). Changes by anholt. Signed-off-by: Adel Gadllah <[email protected]> Reviewed-by: Robert Bragg <[email protected]> (v1) Reviewed-by: Adel Gadllah <[email protected]> (v2) Reviewed-by: Eric Anholt <[email protected]>
* glx: Add extension tracking GLX_MESA_query_rendererIan Romanick2013-11-071-0/+1
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glx: Enable floating-point fbconfig extensionsTomasz Lis2013-07-181-0/+2
| | | | | Signed-off-by: Tomasz Lis <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glx: Add the extension string for GLX_ARB_framebuffer_sRGBIan Romanick2012-10-291-0/+1
| | | | | | | | | | From the GLX perspective, the ARB and EXT extensions are identical. Use a single bit for both. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: Maciej Wieczorek <[email protected]>
* Remove Xcalloc/Xmalloc/Xfree callsMatt Turner2012-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* mesa: Require current libxcb.Eric Anholt2012-07-121-10/+0
| | | | | | | | | | Without that, people with buggy apps that looked at just the server string for GLX_ARB_create_context would call this function that just threw an error when you tried to make a context. Google shows plenty of complaints about this. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glx/dri2: Add support for GLX_ARB_create_context_robustnessIan Romanick2012-07-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the infrastructure required for this extension. There is no xserver support and no driver support yet. Drivers can enable this be advertising DRI2 version 4 and accepting the __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the __DRI_CTX_ATTRIB_RESET_STRATEGY attribute in create context. Some additional Mesa infrastructure is needed before drivers can do this. The GL_ARB_robustness spec, which all Mesa drivers already advertise, requires: "If the behavior is LOSE_CONTEXT_ON_RESET_ARB, a graphics reset will result in the loss of all context state, requiring the recreation of all associated objects." It is necessary to land this infrastructure now so that the related infrastructure can land in the xserver. The xserver has very long release schedules, and the remaining Mesa parts should land long, long before the next xserver merge window opens. v2: Expose robustness as a DRI2 extension rather than bumping __DRI_DRI2_VERSION. v3: Add a comment explaining why dri2->base.version >= 3 is also required for GLX_ARB_create_context_robustness. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glx: More hacking around versions of XCB that lack GLX_ARB_create_context ↵Ian Romanick2012-01-041-2/+2
| | | | | | | | | | | | | | | | support Detect whether a new enough version of XCB is installed at configure time. If it is not, don't enable the extension and don't build the unit tests. v2: Move the AM_CONDIATION outside the case-statement so that it is invoked even for non-GLX builds. This prevents build failures with osmesa, for example. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Tested-by: Robert Hooker <[email protected]>
* glx: Hack around versions of XCB that lack GLX_ARB_create_context supportIan Romanick2012-01-031-0/+9
| | | | | | | | | A lot of tests in 'make check' will fail under these circumstances, but at least the build should work. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* glx: Enable GLX_EXT_create_context_es2_profileIan Romanick2012-01-021-0/+11
| | | | | | | | | | | | This extension is only enabled if the underlying driver advertises support for OpenGL ES 2.0. This happens either through the getAPIMask function in version 2 of the DRI2 extension or implicity through version 2 of the DRISW extension. Since there is no OpenGL ES 2.0 protocol, this extension is marked as only available with direct-rendering. Signed-off-by: Ian Romanick <[email protected]>
* glx: Add extension strings for GLX_ARB_create_context and ↵Ian Romanick2012-01-021-0/+2
| | | | | | | | | GLX_ARB_create_context_profile Note that these extensions are not automatically enabled for screens capable of direct-rendering. Signed-off-by: Ian Romanick <[email protected]>
* glx: Remove GLX_USE_APPLEGL cruft in extension string handlingIan Romanick2011-12-191-36/+2
| | | | | | | | | | | | | All of the extensions require that both libGL and either the server or the direct rendering driver (or both) enable the extension before it's advertised. It seems safe to assume that none of the other components on OS X will enable these extensions, so all the #ifdef blocks here just clutter the code. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Cc: Jeremy Huddleston <[email protected]>
* glx: GLX 1.4 does not require GLX_INTEL_swap_eventIan Romanick2011-12-191-1/+1
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glx: Remove some extensions that are not, and never will be, supportedIan Romanick2011-12-191-11/+0
| | | | | | | | | | There are a few unsupported extensions (e.g., the ATI and NV float extensions) that are still in the list. There is some small chance that these may be supported some day. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glx: Don't enable INTEL_swap_event unconditionallyAdam Jackson2011-10-281-1/+1
| | | | | | | | DRI2 supports this now - and already enables it explicitly - but drisw does not and should not. Otherwise toolkits like clutter will only ever SwapBuffers once and wait forever for an event that's not coming. Signed-off-by: Adam Jackson <[email protected]>
* glx: add initial GLX_EXT_framebuffer_sRGB support.Dave Airlie2011-03-061-0/+2
| | | | | | | | | | 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]>
* mesa: Add new MESA_multithread_makecurrent extension.Eric Anholt2011-02-261-0/+1
| | | | | | | This extension allows a client to bind one context in multiple threads simultaneously. It is then up to the client to manage synchronization of access to the GL, just as normal multithreaded GL from multiple contexts requires synchronization management to shared objects.
* ARB_texture_rg: Add GLX protocol supportIan Romanick2010-10-011-0/+1
|
* glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types.Kristian Høgsberg2010-07-281-2/+2
|
* glx: Rename __GLXscreenConfigs to struct glx_screenKristian Høgsberg2010-07-281-5/+5
| | | | Because double underscores in private type names is painful.
* glx: Remove support for MESA_swap_frame_usageKristian Høgsberg2010-07-191-2/+0
| | | | | The extension never worked, the implementation returns GLX_BAD_CONTEXT when enabling the frame tracking.
* glx: Drop support for GLX_MESA_allocate_memoryKristian Høgsberg2010-07-191-2/+0
| | | | Only r200 implemented it.
* apple: Initial import of libGL for OSX from AppleSGLX svn repository.Jeremy Huddleston2010-04-271-0/+38
| | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* Revert accidental commits from the xquartz treeJeremy Huddleston2010-04-011-38/+0
| | | | | | | | | | | This reverts commit 9aadc793f3db64cefa0b08f18abad424a659dacc. This reverts commit 69ea4e7718efb60b6b0d795a355cebd6712ceac1. This reverts commit dbe8b013936d977ec63d6607bfd2fc6772d29787. This reverts commit 23215ef4d60a86d9f3b3fdc08e3fdadc59e98890. This reverts commit 9495e3703062d1ddaf3161f4efc23f0b51284d9b. This reverts commit 0594cf70883b64692ba617d85f4f9b4e636e5c2b. This reverts commit 86a7978d37393ee34f876569ac06ffdb8d7289ae. This reverts commit 437902ce978cde9a0e1aa260f12dc232a8501c42.
* apple: Initial import of libGL for OSX from AppleSGLX svn repository.Jeremy Huddleston2010-04-011-0/+38
| | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* Retire miniglx and move the actual glx code up to src/glxKristian Høgsberg2010-02-091-0/+714