summaryrefslogtreecommitdiff
path: root/src/glx
AgeCommit message (Collapse)Author
2010-03-30Merge branch '7.8'Michel Dänzer
Conflicts: Makefile src/mesa/main/version.h Resolved by keeping version strings from master (also in the intel driver).
2010-03-30glx/dri2: Fix debug build with old dri2proto.Michel Dänzer
Apparently the higher compiler optimization level in non-debug builds was eliminating the unused functions referencing the unresolved DRI2 symbols...
2010-03-28drisw: probably better hack for stride and some commentsGeorge Sapountzis
2010-03-27drisw: update commentGeorge Sapountzis
2010-03-27drisw: add comment to libGL about strideGeorge Sapountzis
2010-03-27drisw: make stride issue profoundGeorge Sapountzis
2010-03-27glx: try swrastg_dri, if swrast_dri failsGeorge Sapountzis
This needs a patch for xserver/glx also. An enviroment variable will be added at some point, it chould be for swrastg only or all gallium drivers.
2010-03-22glx: Suppress BadDrawable from DRI2CopyRegionKristian Høgsberg
This can happen when an X window is destroyed behind our back. We use DRI2CopyRegion behind the scenes in many places (like flushing the fake front to the real front) so we have to ignore X errors triggered in that case. The glean test cases trigger this consistently as they don't destroy the GLX drawable nicely, they just destroy the X window.
2010-03-22glx: Suppress BadDrawable from DRI2CopyRegionKristian Høgsberg
This can happen when an X window is destroyed behind our back. We use DRI2CopyRegion behind the scenes in many places (like flushing the fake front to the real front) so we have to ignore X errors triggered in that case. The glean test cases trigger this consistently as they don't destroy the GLX drawable nicely, they just destroy the X window.
2010-03-22GLX/OML: honor OML semantics even if target, divisor and remainder are 0Jesse Barnes
This change passes a remainder of 1 to the server with the DRI2SwapBuffers request, causing it to honor the OML semantics for the swap rather than falling through to glXSwapBuffers behavior. The remainder actually ends up ignored since the divisor is 0, but we need to differentiate the OML and standard behavior somehow. Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-21glx: minor cosmeticGeorge Sapountzis
2010-03-21glx: swapBuffers prototype has changedGeorge Sapountzis
2010-03-12glx/single2.c: Don't call __builtin_expect on non-gnu compilersAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2010-03-05glx: Move initialization of ext_list_first_time to where it's storage is ↵Brian Paul
allocated Move the initialization of ext_list_first_time from all of the DRI loader's CreateScreen routines, to where the storage for the screen config is allocated. It needs to get set in the screen-config even if DRI is forced off using LIBGL_ALWAYS_INDIRECT, so that psc->direct_support is initialized correctly, otherwise __glXExtensionBitIsEnabled() always returns FALSE Specifically, this causes a problem with an X server which advertises GLX<=1.2, and the GLX_SGIX_fbconfig extension. glXGetFBConfigFromVisualSGIX() uses __glXExtensionBitIsEnabled() to check if the GLX_SGIX_fbconfig extension is available, but that function won't return correct information because that data has never been initialized, because ext_list_first_time was never set... Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Signed-off-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 96ab4d2b84178209ee59017458d9964b32b7e183)
2010-03-05glx: Move initialization of ext_list_first_time to where it's storage is ↵Jon TURNEY
allocated Move the initialization of ext_list_first_time from all of the DRI loader's CreateScreen routines, to where the storage for the screen config is allocated. It needs to get set in the screen-config even if DRI is forced off using LIBGL_ALWAYS_INDIRECT, so that psc->direct_support is initialized correctly, otherwise __glXExtensionBitIsEnabled() always returns FALSE Specifically, this causes a problem with an X server which advertises GLX<=1.2, and the GLX_SGIX_fbconfig extension. glXGetFBConfigFromVisualSGIX() uses __glXExtensionBitIsEnabled() to check if the GLX_SGIX_fbconfig extension is available, but that function won't return correct information because that data has never been initialized, because ext_list_first_time was never set... Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-03-05DRI2: expose OML_sync_control if possibleJesse Barnes
If the server supports the OML related protocol, enable support for the extension.
2010-03-05GLX: remove debug prints from glXWaitForMscOML dispatchJesse Barnes
Leftover from earlier commit.
2010-03-03Fix unmatched parenthesis introduce by previous commitsIan Romanick
I wasn't careful enough when removing support for GCC versions earlier than 3.3.0. I could have sworn that I compile tested before pushing, but apparently not. FAIL. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-03Remove support for GCC older than 3.3.0 from generated sourcesIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-03Remove support for GCC older than 3.3.0Ian Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-02glx: replace assertion with conditionalBrian Paul
See fd.o bug 26832.
2010-02-27glx: Add assert to check input to memcpy.Vinson Lee
2010-02-26glx: fix incorrect array stack memory allocationMarkus Fleschutz
The array stack space wasn't allocated to the proper size. Fixes out of bounds memory writes when the client/array stack depth exceeds one. See fd.o bug 26768.
2010-02-25glapi: Generated GLX sources should use glapidispatch.h.Chia-I Wu
Fix glX_proto_recv.py and glX_proto_send.py, and regenerate the sources.
2010-02-24glapi: GL_OES_EGL_image autogenerated filesKristian Høgsberg
2010-02-23glx: Fix some typos in pointer checking for OML_sync_control entry points.kleinerm
Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg
2010-02-19Remove _mesa_memset in favor of plain memset.Kenneth Graunke
This may break the SUNOS4 build, but it's no longer relevant.
2010-02-17Merge commit '381d5e209815235911c4aab516037c868c8f695f'Ian Romanick
This merges the patches from the series "[PATCH 00/14] More client-side GLX house cleaning" that were posted to the mesa3d-dev mailing list. See http://marc.info/?l=mesa3d-dev&m=126582985214612&w=2 Patches 01 through 04 eliminate a bunch of annoying warnings that I get when building Mesa. Patch 05 fixes an inconsistency between the implementation of glXSwapIntervalMESA and the spec. I chose to favor the code over the spec in this case. This also eliminated a warning. Patches 06 through 12 clean up the way that context creation is performed on the client. When support for GLX_SGIX_fbconfig and the related GLX 1.3 functions was added, I refactored a bunch nuts-and-bolts of context creation to CreateContext. The refactor was a good idea, I just didn't do it right. Patches 13 and 14 update glxgears_fbconfig to use GLX 1.3 interfaces.
2010-02-16glx: Fix a couple of warningsKristian Høgsberg
2010-02-16glx: Only register wire handlers for the events the server supportsKristian Høgsberg
2010-02-16dri2: Event driven buffer validation.Francisco Jerez
When a buffer invalidation event is received from the X server, the "invalidate" hook of the DRI2 flush extension is executed: A generic implementation (dri2InvalidateDrawable) is provided that just bumps the "pStamp" sequence number in __DRIdrawableRec. For old servers not supporting buffer invalidation events, the invalidate hook will be called before flushing the fake front/back buffer (that's typically once per frame -- not a lot worse than the situation we were in before). No effort has been made on preserving backwards compatibility with version 2 of the flush extension, but I think it's acceptable because AFAIK no released stack is making use of it. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-16glx: Move GetGLXDRIDrawable() prototype to glxclient.hKristian Høgsberg
2010-02-14glx: Silence uninitialized variable warning.Vinson Lee
2010-02-11glx: Pass fbconfig ID or visual ID to CreateContextIan Romanick
Pass either the fbconfig ID or the visual ID, as appropriate, to CreateContext. Now CreateContext does not derefernce fbconfig or vis (which no longer exists as a parameter).
2010-02-11glx: Use the screen parameter everywhere instead of vis->screen, etc.Ian Romanick
2010-02-11glx: Move work of converting a visual to an fbconfigIan Romanick
For the direct rendering case, the DRI createContext function wants an fbconfig. When glXCreateContext is called, we have to convert the visual to an fbconfig. This work was done in CreateContext, but it makes more sense for it to be done in glXCreateContext.
2010-02-11glx: Re-indent CreateContext after the previous commitIan Romanick
2010-02-11glx: Handle imported contexts outside of CreateContextIan Romanick
A long time ago I was a bit over-agressive in refactoring context creation into a single function. The creation code for glXImportContextEXT does not belong in CreateContext because it does not use any GLX protocol. The big if-statement for the import case routed around almost the entire function anyway.
2010-02-11glx: Pass screen number as parameter to CreateContextIan Romanick
Passing the screen parameter to CreateContext will simplify a couple of changes that are coming.
2010-02-11glx: Pass opcode to CreateContext instead of use_glx_1_3 parameterIan Romanick
Passing the opcode directly instead of having CreateContext infer it from the value of fbconfig and the use_glx_1_3 flag will simplify some changes that are coming.
2010-02-11glx: Fix interval test in glXSwapIntervalMESAIan Romanick
It appears that, in spite of what the spec says, the interval parameter to glXSwapIntervalMESA has been an unsigned int since day-1. This made the 'if (interval < 0)' test useless. The test is removed and the spec is updated to note that the interval is an unsigned value.
2010-02-11glx: Change type to eliminate 'comparison between signed and unsigned' warningIan Romanick
2010-02-11glx: Add casts to eliminate 'comparison between signed and unsigned' warningsIan Romanick
2010-02-11glx: Eliminate several 'unused variable' warnings in glxcmds.c.Ian Romanick
2010-02-11glx: Use wrapper macro to detect direct renderingIan Romanick
The wrapper macro GC_IS_DIRECT is used in CreateContext and a couple other places to eliminate the need for some of the '#ifdef GLX_DIRECT_RENDERING' madness. There appear to be a *LOT* of places in glxcmds.c where '#ifdef GLX_DIRECT_RENDERING' is missing.
2010-02-09glx: Fix TOP setting in src/glx MakefileKristian Høgsberg
Argh, forgot to commit this fix before pushing.
2010-02-09Retire miniglx and move the actual glx code up to src/glxKristian Høgsberg
2010-02-08glx: Fix SwapBuffers regression introduced by 01923fb72d.Francisco Jerez
After that commit, some dri2 protocol symbols were being checked from places that weren't including dri2proto.h, effectively disabling some valuable SwapBuffers codepaths.
2010-02-08glx: permit building with older protocol headersKeith Whitwell
I'd like to be able to build mesa on current distro releases without having to upgrade from the standard dri2proto and glproto headers. With this change I'm able to build on ancient releases such as Ubuntu 9-10... In general, it would be nice to be able to build-test mesa to check for unintended breakages without having to follow the external dependencies of every group working on the codebase. Seems to introduce no changes to the build of libglapi.a when tested against new versions of the headers.