Commit Graph

19 Commits

Author SHA1 Message Date
Eric Anholt
fd4eed69e4 dri2: Enable GLX_SGI_make_current_read when the DRI driver supports it.
This matches idr's 82f150d73c for DRI1.
2009-07-05 10:19:03 -07:00
Ian Romanick
ff6c7764c2 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-04-24 12:49:19 -07:00
Ian Romanick
d1e916d29b DRI2: Add missing front-buffer flush callback.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-20 20:58:56 -07:00
Ian Romanick
de1e43181b DRI2: Don't leave empty entries in private->buffers
This should fix bug #21130.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-15 11:14:58 -07:00
Kristian Høgsberg
7b6400a1b8 glx: Fix drawable private leak on destroy
When a drawable goes away, we don't destroy the GLX drawable in full,
since it may be current for a context.  This means that when the drawable
is destroyed in full later, the backend doesn't get a chance to
destroy resources associated with the drawable (the DRI2Drawable).

With this patch, we destroy the GLX drawable in full when it goes away
and then track down all contexts that reference it and NULL their
pointers.
2009-04-13 13:17:53 -04:00
Ian Romanick
f1a995d149 DRI2: Do not send the real front buffer of a window to the client
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-10 12:00:36 -07:00
Ian Romanick
03aebed519 Use a #define instead of a magic number
The number of buffers is likely to change in the future, so having
this as a define is the right way to go.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-08 15:10:21 -07:00
Ian Romanick
0d9f3ca7ea Allow GLX sources to build against Mesa 7.4 sources
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-04-08 15:10:21 -07:00
Kristian Høgsberg
91b697efde Support setTexBuffer2 in AIGLX.
Fixes broken GLX_tfp, specifically, lets compositors ignore un-defined
alpha channel for pixmaps.
2009-04-02 13:39:52 -04:00
Ian Romanick
51ae4d6bbf glx: Add comments around some extension string weirdness 2009-02-16 12:08:56 -08:00
Alan Hourihane
2a8b8077d8 dri2: support glXWaitGL & glXWaitX by copying fake front to front and
vice-versa.
2009-02-16 11:45:55 +00:00
Eric Anholt
85d84c7cf2 Fix GLX after 180bad8477.
Sigh.
2008-12-02 17:36:49 -08:00
Kristian Høgsberg
8ff62ea5ba CopySubBuffer expects GL style coordinates. 2008-11-12 15:21:04 -05:00
Jerome Glisse
084ae9e388 dri2: fail at context creation if driver fail to create it's context 2008-10-23 11:28:53 +02: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
Adam Jackson
8a5b89e8e1 xalloc+memset(0) -> xcalloc 2008-10-06 15:36:51 -04:00
Kristian Høgsberg
5af77d43fe DRI2: Drop sarea use, implement server side swap buffers. 2008-08-29 12:33:28 -04:00
Kristian Høgsberg
dff1a609bb Drop the glx resize hook and stop chaining PositionWindow. 2008-07-24 13:34:24 -04:00
Kristian Høgsberg
c3eb5b80d8 Move GL/glx on level up now that it's the only thing left under GL. 2008-05-21 13:33:36 -04:00