Commit graph

27 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
73b786f7e7 DRI2: Do not send the real front buffer of a window to the client
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit f1a995d149)
2009-06-11 22:45:59 -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
Ian Romanick
199bb36715 DRI2: Send the version the code actually supports
This prevents building an older server with a new dri2proto.h from
resulting in a DRI2 extension module that lies about the version it
supports.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 44227ef1b7)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-05-08 12:23:27 -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
Adam Jackson
9757106bba Remove all empty extension reset hooks, replace with NULL. 2008-07-24 15:46:08 -04:00
Kristian Høgsberg
e5aad4bc08 Get out of the mesa symlinking business.
This copies over the files generated from mesa/src/mesa/glapi.  There's
a corresponding mesa commit that makes it easy to generate the glapi files
straight into the xserver tree when the XML definitions change.

The only few files that are copied from mesa but aren't generated are
glapi.[ch] and glthread.[ch].  Everything in there is technically DRI
driver API and the whole setup is still a bit fragile, but it's not a new
problem.

The --with-mesa-source configure option is still around since other
parts of the server (XGL and DMX - grep for MESA_SOURCE) need that,
but for common case of building with GLX and AIGLX support, that
option is no longer needed.
2008-05-21 12:15:18 -04:00
Kristian Høgsberg
b5a0a865c3 Pick up dri2proto from the standard proto header include path. 2008-04-02 19:21:41 -04:00
Kristian Høgsberg
7c20f65fea Add @XORG_CFLAGS@ to satisfy xf86* includes.
Pointed out by Hasso Tepper.
2008-04-02 19:08:33 -04:00
Xiang, Haihao
b31de6a590 dri2: fix crasher if DRI2Connect fails 2008-04-02 16:29:30 +10: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