aboutsummaryrefslogtreecommitdiffstats
path: root/src/glx/glx_pbuffer.c
Commit message (Collapse)AuthorAgeFilesLines
* glx: Prepare driFetchDrawable for no-config contextsAdam Jackson2017-12-011-6/+6
| | | | | | | | | When we look up the DRI drawable state we need to associate an fbconfig with the drawable. With GLX_EXT_no_config_context we can no longer infer that from the context and must instead query the server. Signed-off-by: Adam Jackson <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glx: silence uninitialized var warningBrian Paul2017-04-071-1/+1
| | | | Signed-off-by: Brian Paul <[email protected]>
* glx: unify GLX_SGIX_pbuffer aliased declarationsEmil Velikov2017-01-181-2/+0
| | | | | | | | | | | | | No point in having an identical code in two places. Not to mention that the Apple one incorrectly uses GLXDrawable as pbuf type. This change is both API and ABI safe since the header uses the correct GLXPbufferSGIX and both types are a typedef of the same primitive XID. Cc: Jeremy Huddleston Sequoia <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jeremy Sequoia <[email protected]>
* glx: fix error code when there is no context boundBernard Kilarski2016-08-151-1/+1
| | | | | | | | | | | | | v2: change all related NULL checks to check against dummyContext v3: really check for dummyContext *only* when ctx was from __glXGetCurrentContext v4: cover more checks, add dummyBuffer, dummyVtable (Emil) Signed-off-by: Bernard Kilarski <[email protected]> Signed-off-by: Matt Roper <[email protected]> Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Cc: "11.2" <[email protected]>
* glx: Implement the libglvnd interface.Kyle Brenneman2016-05-301-14/+14
| | | | | | | | | | | | | | | | With reference to the libglvnd branch: https://cgit.freedesktop.org/mesa/mesa/log/?h=libglvnd This is a squashed commit containing all of Kyle's commits, all but two of Emil's commits (to follow), and a small fixup from myself to mark the rest of the glX* functions as _GLX_PUBLIC so they are not exported when building for libglvnd. I (ajax) squashed them together both for ease of review, and because most of the changes are un-useful intermediate states representing the evolution of glvnd's internal API. Co-author: Emil Velikov <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* glx: Added missing null check in GetDrawableAttribute()Juha-Pekka Heikkila2014-06-261-4/+8
| | | | | | | For GLX_BACK_BUFFER_AGE_EXT query added extra null check. Signed-off-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* Fix build of appleglxJon TURNEY2014-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define GLX_USE_APPLEGL, as config/darwin used to, to turn on specific code to use the applegl direct renderer Convert src/glx/apple/Makefile to automake Since the applegl libGL is now built by linking libappleglx into libGL, rather than by linking selected files into a special libGL: - Remove duplicate code in apple/glxreply.c and apple/apple_glx.c. This makes apple/glxreply.c empty, so remove it - Some indirect rendering code is already guarded by !GLX_USE_APPLEGL, but we need to add those guards to indirect_glx.c, indirect_init.c (via it's generator), render2.c and vertarr.c so they don't generate anything Fix and update various includes glapi_gentable.c (which is only used on darwin), should be included in shared glapi as well, to provide _glapi_create_table_from_handle() Note that neither swrast nor indirect is supported in the APPLEGL path at the moment, which makes things more complex than they need to be. More untangling is needed to allow that v2: Correct apple/Makefile.am for srcdir != builddir Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Jeremy Huddleston Sequoia <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* dri3: Add GLX_EXT_buffer_age supportAdel Gadllah2014-03-131-3/+30
| | | | | | | | | | | 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_pbuffer: Refactor GetDrawableAttributeAdel Gadllah2014-03-071-5/+6
| | | | | | | | Move the pdraw != NULL check out so that they don't have to be duplicated. Signed-off-by: Adel Gadllah <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glx: Add some missing null checks in glx_pbuffer.cJuha-Pekka Heikkila2014-02-071-4/+15
| | | | | Signed-off-by: Juha-Pekka Heikkila <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glx: Generate GLXBadDrawable when drawable is zeroIan Romanick2013-08-131-2/+12
| | | | | | | | Fixes piglit glx-query-drawable-GLXBadDrawable. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Chad Versace <[email protected]> Cc: "9.2" <[email protected]>
* glx: Fix glXCreateWindow() when GLX_DIRECT_RENDERING is undefinedJon TURNEY2013-02-271-1/+1
| | | | | | | | glXCreateWindow() and glXCreatePbuffer() always fail when built without GLX_DIRECT_RENDERING defined since commit 48331047. Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Jon TURNEY <[email protected]>
* Don't cast the return value of malloc/reallocMatt Turner2012-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch has been generated by the following Coccinelle semantic patch: // Don't cast the return value of malloc/realloc. // // Casting the return value of malloc/realloc only stands to hide // errors. @@ type T; expression E1, E2; @@ - (T) ( _mesa_align_calloc(E1, E2) | _mesa_align_malloc(E1, E2) | calloc(E1, E2) | malloc(E1) | realloc(E1, E2) )
* Remove Xcalloc/Xmalloc/Xfree callsMatt Turner2012-09-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/DRI2: handle swap event swap count wrappingJesse Barnes2011-07-081-0/+11
| | | | | | | | | | | 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]>
* glx: Verify that drawable creation on the client side actually workedAdam Jackson2011-06-291-24/+47
| | | | | | ... and clean up if it didn't. Signed-off-by: Adam Jackson <[email protected]>
* apple: Rename __GLcontextModes to struct glx_configJeremy Huddleston2011-06-051-1/+1
| | | | | | Fixes regression introduced by: 6ddf66e9230ee862ac341c4767cf6b3b2dd2552b Signed-off-by: Jeremy Huddleston <[email protected]>
* glx: Don't refer to the request buffer outside of {L,Unl}ockDisplayAdam Jackson2011-05-251-3/+4
| | | | | | | | | | ... because that's not a safe thing to do. The request buffer is shared storage among all threads, and after UnlockDisplay the 'req' pointer may point into someone else's request. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Adam Jackson <[email protected]>
* glx: Remove some misleading commentsAdam Jackson2011-05-241-12/+0
| | | | | | These functions have already been modified for direct rendering. Signed-off-by: Adam Jackson <[email protected]>
* GLX: don't crash when indirect clients try to set an event maskJesse Barnes2011-05-041-0/+3
| | | | | | | | | | After sending the GLXChangeDrawableAttributes request, we also set a local set of attributes on the DRI drawable. But in the indirect case this array won't be present, so skip the setting in that case to avoid a crash. Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
* glx: fix GLXChangeDrawableAttributesSGIX requestJulien Cristau2011-01-311-2/+3
| | | | | | | | | | | | xGLXChangeDrawableAttributesSGIXReq follows the GLXVendorPrivate header with a drawable, number of attributes, and list of (type, value) attribute pairs. Don't forget to put the number of attributes in there. I don't think this can ever have worked. 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: fix request lengthsJulien Cristau2011-01-241-3/+3
| | | | | | | | | | We were sending too long requests for GLXChangeDrawableAttributes, GLXGetDrawableAttributes, GLXDestroyPixmap and GLXDestroyWindow. 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: Fix another use-after-free problemKristian Høgsberg2010-09-091-1/+3
|
* glx: Destroy pixmap after destroying glx and dri drawablesKristian Høgsberg2010-09-081-2/+2
| | | | | Now that we suppress BadDrawable from DRI2DestroyDrawable, this doesn't matter, but we would get that error before when destroying pbuffers.
* Some fixes for GLX_INDIRECT_RENDERING only buildJon TURNEY2010-09-071-2/+6
| | | | | | | 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: Rename __GLXcontext and __GLXdisplayPrivate to struct types.Kristian Høgsberg2010-07-281-7/+7
|
* glx: Rename __GLXscreenConfigs to struct glx_screenKristian Høgsberg2010-07-281-2/+2
| | | | Because double underscores in private type names is painful.
* glx: Use _X_EXPORT instead of our own PUBLIC macroKristian Høgsberg2010-07-281-14/+14
| | | | We're an X client library, so we can use Xfuncproto.h.
* glx: Rename __GLcontextModes to struct glx_configKristian Høgsberg2010-07-281-30/+30
| | | | | With this rename, we use 'config' consitently to refer to GLX configurations instead of the modes/configs/visual mess before.
* glx: Drop screen argument to GetGLXDRIDrawableKristian Høgsberg2010-07-221-6/+4
| | | | We'll just get it from the returned drawable when we need it.
* glx: Move drawHash to display privateKristian Høgsberg2010-07-191-2/+2
| | | | | 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: Add screen privates for dri drivers and moved some fields thereKristian Høgsberg2010-07-191-2/+2
| | | | | | 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: Move dereference and initialization to after NULL check.Vinson Lee2010-07-151-1/+3
|
* dri2: Track event mask in client code.Nick Bowler2010-07-141-0/+11
| | | | | | | | | | | | | | | | | | | When direct rendering is being used, DRI2 BufferSwapComplete events are sent unconditionally to clients, even if they haven't been requested. This causes error messages to be printed by every freeglut application of the form freeglut (./gears): Unknown X event type: 104 and might confuse other clients. This is a fixed up version of the patch by Jesse Barnes, which drops BufferSwapComplete events if they are not requested by clients. Fixes fdo bug 27962. Signed-off-by: Nick Bowler <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
* Merge branch '7.8'Brian Paul2010-04-281-12/+185
|\ | | | | | | | | | | | | Conflicts: src/glx/dri2_glx.c src/glx/glx_pbuffer.c
| * apple: Change ifdefs for DRI to be DRI && !APPLEJeremy Huddleston2010-04-271-3/+3
| | | | | | | | Signed-off-by: Jeremy Huddleston <[email protected]>
| * apple: Initial import of libGL for OSX from AppleSGLX svn repository.Jeremy Huddleston2010-04-271-12/+184
| | | | | | | | Signed-off-by: Jeremy Huddleston <[email protected]>
| * Revert accidental commits from the xquartz treeJeremy Huddleston2010-04-011-187/+15
| | | | | | | | | | | | | | | | | | | | | | 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: Change ifdefs for DRI to be DRI && !APPLEJeremy Huddleston2010-04-011-3/+3
| | | | | | | | Signed-off-by: Jeremy Huddleston <[email protected]>
| * apple: Initial import of libGL for OSX from AppleSGLX svn repository.Jeremy Huddleston2010-04-011-12/+184
| | | | | | | | Signed-off-by: Jeremy Huddleston <[email protected]>
* | glx: Support direct rendering pbuffersKristian Høgsberg2010-04-091-103/+123
|/ | | | | | | | We've supported indirect rendering pbuffers for a while, but not direct rendering pbuffers. The way we do this is by creating a hidden pixmap and wrap that in a GLX pbuffer. This only works when we have DRI2 on the server, but if the server doesn't have DRI2, it won't expose configs with pbuffer bits enabled.
* glx: replace assertion with conditionalBrian Paul2010-03-021-2/+2
| | | | See fd.o bug 26832.
* glx: Add assert to check input to memcpy.Vinson Lee2010-02-271-0/+1
|
* glx: Move GetGLXDRIDrawable() prototype to glxclient.hKristian Høgsberg2010-02-161-4/+0
|
* Retire miniglx and move the actual glx code up to src/glxKristian Høgsberg2010-02-091-0/+724