summaryrefslogtreecommitdiff
path: root/src/glx/x11/dri2_glx.c
AgeCommit message (Collapse)Author
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-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-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-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>
2009-08-22glx/dri2: Always use X drawable ID for DRI2 protocol.Michel Dänzer
Fixes protocol errors in cases where the GLX ID is different.
2009-08-13glx: indent -br -i3 -npcs --no-tabsRALOVICH, Kristóf
Some manual intervention applied since XEXT_* and other macro magic fooled indent. Auto generated files were also skipped.
2009-07-30Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-28glx: assign per screen driver configs (DRI2)RALOVICH, Kristóf
2009-06-23dri2: Refresh the fake front contents after glXSwapBuffers().Eric Anholt
Bug #19177. Reviewed by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-24DRI2: Implement interface for drivers to access DRI2GetBuffersWithFormatIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-09DRI2: Assume that there is always a front bufferIan Romanick
Assume that the front-buffer exists even if the server didn't tell the client that it exists. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-09DRI2: Provide an interface for drivers to flush front-buffer renderingIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-03-25Revert "dri2: Avoid round-tripping on DRI2GetBuffers for the same set of ↵Michel Dänzer
buffers." This scheme breaks when the display connection doesn't receive ConfigureNotify events. This caused reporoducible problems (cropped / misplaced output) when starting a 3D application in a guest operating system in VMware Workstation. This reverts commit dd1c68f15123a889a3ce9d2afe724e272d163e32. Conflicts: src/glx/x11/dri2_glx.c
2009-02-23glx: add support for a reallyFlush() function before swap occurs.Alan Hourihane
2009-02-16dri2: support glXWaitX & glXWaitGL by using fake front buffer.Alan Hourihane
2009-02-10dri2: Initialize variables for the getbuffers round-trip reduction.Eric Anholt
Missed setting the initial values which usually didn't hurt at runtime.
2009-02-02dri2: Avoid round-tripping on DRI2GetBuffers for the same set of buffers.Eric Anholt
We only wanted to request when asked for the same set of buffers when a resize has happened. We can just watch the protocol stream for a ConfigureNotify and flag to do it then. This is about a 5% win from doing two glViewport()s per frame in openarena.
2009-01-27dri2: add complaints for more initialization failures.Eric Anholt
Somehow we're running into DRI2Authenticate failing, and silent demotion to swrast is bad.
2008-11-12glFlush before CopySubBuffer, fix coordinates and extension name typo.Kristian Høgsberg
2008-11-11Don't mess with emacs tab width.Kristian Høgsberg
2008-10-14Update DRI2 implementation according to new specification.Kristian Høgsberg
2008-10-14Revert pointless reindents to avoid merge conflicts.Kristian Høgsberg
Why are we reindenting code that's work in progress...
2008-10-13glx: indent -br -i3 -npcs --no-tabs dri2_glx.cRALOVICH, Kristóf
2008-10-13glx: add a line of Emacs helping variablesRALOVICH, Kristóf
2008-09-18glx: remove #include "glheader.h" linesBrian Paul
Was only used to get the PUBLIC/USED macros. Also, replace "GL_FALSE" with "False" in a couple places.
2008-09-12Finish off the previous fix for TFP.Eric Anholt
A couple of those lines of debug printfs I deleted weren't actually debug printfs.
2008-08-29DRI2: Drop sarea, implement swap buffers in the X server.Kristian Høgsberg
2008-07-13glx/dri: only report DRI2 extensions when DRI2 is enabled.Dave Airlie
Fixes bug 15477
2008-06-09glx: add dri_common.c ala xserverGeorge Sapountzis
also drop driFilterModes which is unused in preparation of loading swrast_dri.so
2008-04-23include <X11/Xlib.h>Alan Hourihane
2008-04-23glx: split out current context codeGeorge Sapountzis
also clean header inclusion after code movement
2008-03-31DRI interface changes and DRI2 direct rendering support.Kristian Høgsberg
Add DRI2 direct rendering support to libGL and add DRI2 client side protocol code. Extend the GLX 1.3 create drawable functions in glx_pbuffer.c to call into the DRI driver when possible. Introduce __DRIconfig, opaque struct that represents a DRI driver configuration. Get's rid of the open coded __GLcontextModes in the DRI driver interface and the context modes create and destroy functions that the loader was requires to provide. glcore.h is no longer part of the DRI driver interface. The DRI config is GL binding agnostic, that is, not specific to GLX, EGL or other bindings. The core API is now also an extension, and the driver exports a list of extensions as the symbol __driDriverExtensions, which the loader must dlsym() for. The list of extension will always include the DRI core extension, which allows creating and manipulating DRI screens, drawables and contexts. The DRI legacy extension, when available, provides alternative entry points for creating the DRI objects that work with the XF86DRI infrastructure. Change DRI2 client code to not use drm drawables or contexts. We never used drm_drawable_t's and the only use for drm_context_t was as a unique identifier when taking the lock. We now just allocate a unique lock ID out of the DRILock sarea block. Once we get rid of the lock entirely, we can drop this hack. Change the interface between dri_util.c and the drivers, so that the drivers now export the DriverAPI struct as driDriverAPI instead of the InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2 init screen function to see if DRI2 is supported by the driver.