Commit graph

20 commits

Author SHA1 Message Date
Michel Dänzer
f5d1da499c dri2: Don't crash if pPriv is NULL.
(cherry picked from commit df597709d7)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-09-22 12:04:27 -07:00
Keith Packard
499f9f62e4 dri2: Preserve compatibility with 1.6 DRI2 API/ABI
The old DRI2 buffer allocation API wasn't great, but there's no reason to
make the server stop working with those drivers. This patch has the
X server adapting to the API provided by the driver, using the new API where
available and falling back to the old API as necessary. A warning will be
placed in the log file when the old API is in use.
(cherry picked from commit 2e2c5b216c)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-07-06 13:28:09 -07:00
Jerome Glisse
540d5b87a4 DRI2: update DRI2 private drawable width & height according to X drawable
(cherry picked from commit f250eea2e9)
2009-06-11 22:46:00 -07:00
Ian Romanick
ec9f1ae324 DRI2: Force allocation of real-front buffer for non-windows as well
For redirected rendering we end up with pixmaps (which the app thinks are
windows) that are double buffered.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Pierre Willenbrock <pierre@pirsoft.de>
(cherry picked from commit 0d9d3f3e36)
2009-06-11 22:46:00 -07:00
Ian Romanick
4fad615d68 DRI2: Implement protocol for DRI2GetBuffersWithFormat
This change implements the protocol for DRI2GetBuffersWithFormat, but
the bulk of the differences are the changes to the extension / driver
interface to make this function work.  The old CreateBuffers and
DeleteBuffers routines are replaced with CreateBuffer and DeleteBuffer
(both singular).

This allows drivers to allocate buffers for a drawable one at a time.
As a result, 3D drivers can now allocate the (fake) front-buffer for a
window only when it is needed.  Since 3D drivers only ask for the
front-buffer on demand, the real front-buffer is always created.  This
allows CopyRegion impelemenations of SwapBuffers to continue working.
As with previous version of this code, if the client asks for the
front-buffer for a window, we instead give it the fake front-buffer.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-06-11 22:46:00 -07:00
Ian Romanick
98c3c21735 DRI2: Add interface for drivers to query DRI2 extension version
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 28ddfc88d8)
2009-06-11 22:46:00 -07:00
Ian Romanick
d7277296ed DRI2: Synchronize the contents of the real and fake front-buffers
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 567cf67959)
2009-06-11 22:46:00 -07:00
Ian Romanick
32d250a881 DRI2: Add fake front-buffer to request list for windows
If a front-buffer is requested for a window, add the fake front-buffer
to the list of requested buffers.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit aa2928325f)
2009-06-11 22:45:59 -07:00
Kristian Høgsberg
670ac5d097 Drop unused DRI2 vblank infrastructure.
For this first iteration of DRI2 we don't have any vsync functionality
in place yet, so back out the support in DRI2 and the protocol for now.
2008-12-01 21:37:01 -05:00
Michel Dänzer
24928b85dc DRI2: Don't crash in DRI2ClipNotify when DRI2DrawablePtr is NULL. 2008-11-15 13:28:53 +01:00
Kristian Høgsberg
ced6690284 dri2: Update to latest protocol draft.
Mainly rename SwapBuffers to CopyRegion, which adds the xfixes region
argument and the bitmask argument to let us extend it in the future.
2008-10-15 00:00:44 -04:00
Roland Scheidegger
7818aba1d1 dri2: fix compilation (remove no longer existing include file) 2008-10-04 15:50:35 +02:00
Kristian Høgsberg
5af77d43fe DRI2: Drop sarea use, implement server side swap buffers. 2008-08-29 12:33:28 -04:00
Tomas Carnecky
ebea78cdba Prepare for array-index based devPrivates.
TODO: static indices can be made just an int; some indices
can be combined.
2008-08-28 18:05:40 -04:00
Kristian Høgsberg
c40e0b51f0 Implement DRI2 direct rendering and update AIGLX to DRI interface changes.
Get rid of glcontextmodes.[ch] from build, rename __GlcontextModes to
__GLXcontext.  Drop all #includes of glcontextmodes.h and glcore.h.
Drop the DRI context modes extension.

Add protocol code to DRI2 module and load DRI2 extension by default.
2008-03-31 16:50:58 -04:00
Kristian Høgsberg
bc504ffbba DRI2: Add DRI2AuthConnection().
DRI2 uses the same authentication scheme as XF86DRI, so implement this
entry point so DRI2 protocol code can access it.
2008-03-11 00:56:16 -04:00
Kristian Høgsberg
acedc03367 DRI2: Return event buffer head index in DRI2CreateDrawable.
And pass it to the DRI driver in AIGLX.
2008-03-09 21:39:19 -04:00
Kristian Høgsberg
13bfa5937d GLX: Adjust to changes in DRI driver interface. 2008-02-29 15:11:13 -05:00
Kristian Høgsberg
0ffb6a3ad0 GLX: Implement support for TTM BO based TFP when available. 2008-02-14 22:20:56 -05:00
Kristian Høgsberg
b71dc54352 Add DRI2 module. 2008-02-14 19:53:49 -05:00