summaryrefslogtreecommitdiff
path: root/src/glx
AgeCommit message (Collapse)Author
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.
2010-02-05glx: Don't mark the XF86DRI functions PUBLICKristian Høgsberg
2010-02-01glx: Remove unnecessary headers.Vinson Lee
2010-01-29glx: fix possible memory leaks in dri2CreateScreen()Rodolfo Ribeiro Gomes
Original patch fixed up by Brian Paul.
2010-01-26glx: Build GLX normally.Chia-I Wu
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.
2010-01-25mesa: misc GLX_INTEL_swap_event fixesRobert Bragg
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 <robert@linux.intel.com>
2010-01-23Merge branch 'arb_half_float_vertex'Dave Airlie
2010-01-23glapi: add GL_HALF_FLOAT enum support.Dave Airlie
Regenerate enums files and GLX indirect. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
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
2010-01-21Do not include glapi/dispatch.h outside Mesa core.Chia-I Wu
Include the glapi*.h directly instead. glapi/dispatch.h became a Mesa core header since 22884db174b9fb0736cec1c6a192f8b9a97500c1.
2010-01-19Sun compilers now support some gcc __attribute__ valuesAlan Coopersmith
Sun cc 5.9 and later (__SUNPRO_C >= 0x590) support __attribute__ calls for aligned, always_inline, noinline, pure, const, and malloc. This commit includes updates to files that were regenerated by gl_XML.py after adding the __SUNPRO_C checks to it Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-19glx: Set GL context to null in __glXSetCurrentContextNullLuca Barbieri
__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 <brianp@vmware.com>
2010-01-13DRI2: don't send DRI2 requests the server doesn't know aboutJesse Barnes
At init time, NULL out the hooks that send the server new requests. DRI2 never supported these extensions, so this preserves old behavior on old servers with new Mesa.
2010-01-13GLX/DRI2: pass X drawable ID insteadJesse Barnes
These happened to be the same in my testing since I was using apps that depend on the GLX 1.2 behavior where X and GLX drawables are interchangeable.
2010-01-11Merge branch 'master' of ssh://people.freedesktop.org/~jbarnes/mesaJesse Barnes
Conflicts due to DRI1 removal: src/mesa/drivers/dri/intel/intel_context.c src/mesa/drivers/dri/intel/intel_screen.c
2010-01-08DRI2/GLX: add INTEL_swap_event supportJesse Barnes
Add event support for the GLX swap buffers event, along with DRI2 protocol support for generating GLX swap buffers events in the direct rendered case. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-08DRI2: add SwapInterval supportJesse Barnes
Add support for the DRI2SwapInterval protocol request. This allows direct rendered clients to control their swap interval per the SGI_swap_control extension. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-08DRI2: add OML_sync_control supportJesse Barnes
Add OML_sync_control support, along with a simple program for testing it. This means adding support for the DRI2GetMSC, DRI2WaitMSC and DRI2WaitSBC requests. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-08DRI2: add SwapBuffers supportJesse Barnes
Support the new DRI2 protocol request, DRI2SwapBuffers, in both direct and indirect rendering context. This request allows the display server to optimize back->front swaps (e.g. through page flipping) and allows us to more easily support other GLX features like swap interval and the OML sync extension in DRI2. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-05Merge branch 'remove-intel-dri1'Kristian Høgsberg
* remove-intel-dri1: intel: intelScreenContext() is no longer used intel: Remove remaining dri2.enabled tests intel: Drop more cliprect bookkeeping intel: Remove struct intel_framebuffer intel: Remove client-side vblank code intel: Drop intelWindowMoved() intel: Drop batchbuffer cliprect_mode tracking intel: Drop DRI1 static regions intel: Use depth buffer from ctx.DrawBuffer in copypix_src_region() intel: Drop LOCK/UNLOCK_HARDWARE() intel: Drop DRI1 SwapBuffer implementation intel: Drop DRI1 CopySubBuffer implementation intel: Drop DRI1 support Push __driDriverExtensions out of dri_util.c and into the drivers Remove leftover __DRI{screen,drawable,context}Private references Check for libdrm_$chipset.pc when needed
2010-01-04Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate and __DRIscreen, and likewise for __DRIdrawablePrivate and __DRIcontextPrivate. I left typedefs in place though, to avoid renaming all the *Private use internal to the driver. That was probably a mistake, and it turns out a one-line find+sed combo can do the mass rename. Better late than never.
2010-01-03apple: Purge existing (not working) GLX_USE_APPLEGL from dated libGL on OSXJeremy Huddleston
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-01-03glxcmds: Fix comment about __DRI_ALLOCATEJeremy Huddleston
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-12-27Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul
Conflicts: src/gallium/auxiliary/util/u_network.c src/gallium/auxiliary/util/u_network.h src/gallium/drivers/i915/i915_state.c src/gallium/drivers/trace/tr_rbug.c src/gallium/state_trackers/vega/bezier.c src/gallium/state_trackers/vega/vg_context.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_driver.c src/gallium/winsys/xlib/xlib_brw_context.c src/mesa/main/mtypes.h
2009-12-23glx: Add XF86DRI[Open|Close]FullScreen prototypes to xf86dri.h.Vinson Lee
2009-12-23glx: Move declaration outside for loop.Vinson Lee
2009-12-22glx: Compile dri2.c only if GLX_DIRECT_RENDERING is defined.Vinson Lee
2009-12-06glx: Prevent potential null pointer deference in driCreateContext.Vinson Lee
(cherry picked from commit 4b0b250aae6ae7d48cd24f9d91d05ab58086c4b2)
2009-11-06GLX: Change GLX client vendor string to "Mesa Project and SGI"Ian Romanick
This change allows a certain closed-source browser plug-in to work with open-source drivers.