summaryrefslogtreecommitdiff
path: root/src/glx
AgeCommit message (Collapse)Author
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-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.
2009-11-02glx: Fix memory leak if XF86DRICreateDrawable() failsVinson Lee
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-10-22glx: don't destroy context immediately if it's currently boundBrian Paul
According to the GLXDestroyContext() man page, the context should not immediately be destroyed if it's bound to some thread. Wait until it's unbound to really delete it. The code for doing the later part is already present in MakeContextCurrent() so no change was needed there.
2009-09-30glx: fix glXQueryContext(GLX_RENDER_TYPE)Brian Paul
The renderType parameter to CreateContext() was never used. Also, it was often passed as zero. Now when it's zero we check if the context is RGBA or CI mode and set it accordingly. Fixes bug 24211.
2009-09-29glx: indentation fixesBrian Paul
2009-09-28Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-28Fix build on non GLIBC platforms (FreeBSD at least)Robert Noland
Build was broken by commit 9666529b5a5be1fcde82caadc2fe2efa5ea81e49 I'm not certain that this is entirely the correct fix since the demo from bug #23774 seemed to work before the commit that broke the build. Signed-off-by: Robert Noland <rnoland@2hip.net> Signed-off-by: Brian Paul <brianp@vmware.com>
2009-09-22Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
Conflicts: src/mesa/main/bufferobj.c
2009-09-22glx: include string.h to silence missing memset() prototype warningBrian Paul
2009-09-21GLX: Warn only once about applications calling GLX 1.3 functionsTormod Volden
The warnings introduced in 1f309c40b8065b8729fce631540c66e4b50b84df would pour out generously from some applications. This patch adds a "warn once" wrapper macro, heavily inspired by src/mesa/drivers/dri/r600/radeon_debug.h Signed-off-by: Tormod Volden <debian.tormod@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2009-09-20Merge branch 'mesa_7_5_branch' into mesa_7_6_branchNicolai Hähnle
2009-09-16glx: Use initstate_r / random_r instead of corrupting global random number stateIan Romanick
Previously srandom and random were used. This cause the global random number generator state to be modified. This caused problems for applications that called srandom before calling into GLX. By using local state the global state is left unmodified. This should fix bug #23774.
2009-09-15Merge commit 'origin/mesa_7_5_branch' into mesa_7_6_branchIan Romanick
2009-09-15GLX: Complain when buggy applications call GLX 1.3 functions.Ian Romanick