summaryrefslogtreecommitdiffstats
path: root/src/glx
Commit message (Collapse)AuthorAgeFilesLines
* glx: Suppress BadDrawable from DRI2CopyRegionKristian Høgsberg2010-03-221-1/+14
| | | | | | | | | | 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.
* GLX/OML: honor OML semantics even if target, divisor and remainder are 0Jesse Barnes2010-03-221-0/+3
| | | | | | | | | | | 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 <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
* glx: minor cosmeticGeorge Sapountzis2010-03-211-5/+8
|
* glx: swapBuffers prototype has changedGeorge Sapountzis2010-03-211-2/+9
|
* glx/single2.c: Don't call __builtin_expect on non-gnu compilersAlan Coopersmith2010-03-121-0/+3
| | | | Signed-off-by: Alan Coopersmith <[email protected]>
* glx: Move initialization of ext_list_first_time to where it's storage is ↵Jon TURNEY2010-03-054-9/+3
| | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* DRI2: expose OML_sync_control if possibleJesse Barnes2010-03-051-0/+3
| | | | | If the server supports the OML related protocol, enable support for the extension.
* GLX: remove debug prints from glXWaitForMscOML dispatchJesse Barnes2010-03-051-4/+0
| | | | Leftover from earlier commit.
* Fix unmatched parenthesis introduce by previous commitsIan Romanick2010-03-033-3/+3
| | | | | | | | 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 <[email protected]>
* Remove support for GCC older than 3.3.0 from generated sourcesIan Romanick2010-03-034-6/+6
| | | | Signed-off-by: Ian Romanick <[email protected]>
* Remove support for GCC older than 3.3.0Ian Romanick2010-03-034-4/+4
| | | | Signed-off-by: Ian Romanick <[email protected]>
* 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: fix incorrect array stack memory allocationMarkus Fleschutz2010-02-261-1/+2
| | | | | | | 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.
* glapi: Generated GLX sources should use glapidispatch.h.Chia-I Wu2010-02-251-1/+1
| | | | Fix glX_proto_recv.py and glX_proto_send.py, and regenerate the sources.
* glapi: GL_OES_EGL_image autogenerated filesKristian Høgsberg2010-02-241-2/+1
|
* glx: Fix some typos in pointer checking for OML_sync_control entry points.kleinerm2010-02-231-3/+3
| | | | | Signed-off-by: Mario Kleiner <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-192-33/+4
|
* Remove _mesa_memset in favor of plain memset.Kenneth Graunke2010-02-191-5/+2
| | | | This may break the SUNOS4 build, but it's no longer relevant.
* Merge commit '381d5e209815235911c4aab516037c868c8f695f'Ian Romanick2010-02-171-137/+143
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * glx: Pass fbconfig ID or visual ID to CreateContextIan Romanick2010-02-111-10/+10
| | | | | | | | | | | | 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).
| * glx: Use the screen parameter everywhere instead of vis->screen, etc.Ian Romanick2010-02-111-5/+3
| |
| * glx: Move work of converting a visual to an fbconfigIan Romanick2010-02-111-31/+29
| | | | | | | | | | | | | | 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.
| * glx: Re-indent CreateContext after the previous commitIan Romanick2010-02-111-96/+95
| |
| * glx: Handle imported contexts outside of CreateContextIan Romanick2010-02-111-16/+10
| | | | | | | | | | | | | | | | 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.
| * glx: Pass screen number as parameter to CreateContextIan Romanick2010-02-111-7/+16
| | | | | | | | | | Passing the screen parameter to CreateContext will simplify a couple of changes that are coming.
| * glx: Pass opcode to CreateContext instead of use_glx_1_3 parameterIan Romanick2010-02-111-8/+23
| | | | | | | | | | | | 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.
| * glx: Fix interval test in glXSwapIntervalMESAIan Romanick2010-02-111-4/+0
| | | | | | | | | | | | | | | | 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.
| * glx: Change type to eliminate 'comparison between signed and unsigned' warningIan Romanick2010-02-111-1/+2
| |
| * glx: Add casts to eliminate 'comparison between signed and unsigned' warningsIan Romanick2010-02-111-7/+8
| |
| * glx: Eliminate several 'unused variable' warnings in glxcmds.c.Ian Romanick2010-02-111-0/+11
| |
| * glx: Use wrapper macro to detect direct renderingIan Romanick2010-02-111-24/+8
| | | | | | | | | | | | | | 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.
* | glx: Fix a couple of warningsKristian Høgsberg2010-02-161-2/+0
| |
* | glx: Only register wire handlers for the events the server supportsKristian Høgsberg2010-02-161-1/+20
| |
* | dri2: Event driven buffer validation.Francisco Jerez2010-02-163-15/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* | glx: Move GetGLXDRIDrawable() prototype to glxclient.hKristian Høgsberg2010-02-163-8/+4
| |
* | glx: Silence uninitialized variable warning.Vinson Lee2010-02-141-0/+1
|/
* glx: Fix TOP setting in src/glx MakefileKristian Høgsberg2010-02-091-1/+1
| | | | Argh, forgot to commit this fix before pushing.
* Retire miniglx and move the actual glx code up to src/glxKristian Høgsberg2010-02-0958-4342/+90
|
* glx: Fix SwapBuffers regression introduced by 01923fb72d.Francisco Jerez2010-02-082-0/+2
| | | | | | After that commit, some dri2 protocol symbols were being checked from places that weren't including dri2proto.h, effectively disabling some valuable SwapBuffers codepaths.
* glx: permit building with older protocol headersKeith Whitwell2010-02-083-6/+41
| | | | | | | | | | | | | 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.
* glx: Don't mark the XF86DRI functions PUBLICKristian Høgsberg2010-02-051-16/+16
|
* glx: Remove unnecessary headers.Vinson Lee2010-02-018-12/+0
|
* glx: fix possible memory leaks in dri2CreateScreen()Rodolfo Ribeiro Gomes2010-01-291-5/+8
| | | | Original patch fixed up by Brian Paul.
* glx: Build GLX normally.Chia-I Wu2010-01-261-12/+9
| | | | | | | | | | GLX was built specially and before Mesa core because libglapi.a could not be built with IN_DRI_DRIVER defined. This is no longer the case since 6e99e6ddbf488f6955e34ef0bc438fdcb4d90f74. It works fine in my (limited) testing with both direct and indirect rendering. I also compare the outputs after preprocessing (gcc -E) with or without this commit, and they are identical.
* mesa: misc GLX_INTEL_swap_event fixesRobert Bragg2010-01-253-10/+22
| | | | | | | | Fixup a few issues found through testing: - update GLX names to match glproto - register DRI2WireToEvent so it actually gets called Signed-off-by: Robert Bragg <[email protected]>
* Merge branch 'arb_half_float_vertex'Dave Airlie2010-01-231-0/+1
|\
| * glapi: add GL_HALF_FLOAT enum support.Dave Airlie2010-01-231-0/+1
| | | | | | | | | | | | Regenerate enums files and GLX indirect. Signed-off-by: Dave Airlie <[email protected]>
* | Merge branch 'mesa_7_7_branch'Brian Paul2010-01-221-0/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
| * glx: Set GL context to null in __glXSetCurrentContextNullLuca Barbieri2010-01-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | __glXSetCurrentContextNull currently does not set the GL context to null in the direct rendering case. This can result in a segfault trying to flush an invalid old context in glXMakeCurrent. This fixes a crash starting the Unigine demos (they still don't work due to missing extensions though). Signed-off-by: Brian Paul <[email protected]>