History log of /external/mesa3d/src/glx/dri2_glx.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f84fe6aa2eac6984b77ca6da0c7e5a571b425827 15-Feb-2013 Zack Rusin <zackr@vmware.com> DRI2: Don't disable GLX_INTEL_swap_event unconditionally

GLX_INTEL_swap_event is broken on the server side, where it's
currently unconditionally enabled. This completely breaks
systems running on drivers which don't support that extension.
There's no way to test for its presence on this side, so instead
of disabling it uncondtionally, just disable it for drivers
which are known to not support it. It makes sense because
most drivers do support it right now.
We'll be able to remove this once Xserver properly advertises
GLX_INTEL_swap_event.

Note: This is a candidate for stable branch branches.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60052
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 076403c30d9f5cc79374e30d9f6007b08a63bf2d)
/external/mesa3d/src/glx/dri2_glx.c
63f858943084b5cbeb20cce96ccae3c25e633663 25-Jan-2013 Zack Rusin <zackr@vmware.com> glx: only advertise GLX_INTEL_swap_event if it's supported

Only drivers supporting DRI2 version >=4 support GLX_INTEL_swap_event.
So lets mark it as such otherwise applications which use this extension
(i.e. everything based on Clutter, e.g. gnome-shell) break horribly on
drivers supporting DRI2 versions only up to 3.

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit dbb2d192de33064ae6cdb799d71c5ac89a6ea8ff)
/external/mesa3d/src/glx/dri2_glx.c
8aab8a50d3c56e73ea53be111bbb8b477f6e8c99 17-Oct-2012 Owen W. Taylor <otaylor@fishsoup.net> glx: Fix listing of INTEL_swap_event in glXQueryExtensionsString()

Due to a string mismatch, INTEL_swap_event wasn't listed among GLX
extensions for the connection, even when present on both client and
server. That is, glXQueryServerString and glXGetClientString reported the
extension, but glXQueryExtensionsString did not.

Note: This is a candidate for the stable branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56057
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 1d0c6211212a2d486c8f7f64349fd9683061342e)
/external/mesa3d/src/glx/dri2_glx.c
68bccc40f55aee7f4af8eb64b15a95f0b49d6a17 07-Aug-2012 Kenneth Graunke <kenneth@whitecape.org> glx/dri: Initialize reset to __DRI_CTX_RESET_NO_NOTIFICATION.

If the application has requested reset notification, then
dri2_convert_glx_attribs will initialize this to the correct value.

Otherwise, it's supposed to initialize this to NO_NOTIFICATION, but
doesn't when num_attribs == 0. (The consensus seems to be that we
should make it do so, but that's more invasive, so I'm pushing this for
now.)

Fixes a regression since a8724d85f8cb2f0fb73b9c6c1f268f9084c6d473
where trying to run OilRush_x86 or apitrace heaven_x64 would result in:

dri_util.c:221: dri2CreateContextAttribs: Assertion `!"Should not get
here."' failed.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53076
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
/external/mesa3d/src/glx/dri2_glx.c
a8724d85f8cb2f0fb73b9c6c1f268f9084c6d473 03-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> glx/dri2: Add support for GLX_ARB_create_context_robustness

Add the infrastructure required for this extension. There is no
xserver support and no driver support yet. Drivers can enable this be
advertising DRI2 version 4 and accepting the
__DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the
__DRI_CTX_ATTRIB_RESET_STRATEGY attribute in create context.

Some additional Mesa infrastructure is needed before drivers can do
this. The GL_ARB_robustness spec, which all Mesa drivers already
advertise, requires:

"If the behavior is LOSE_CONTEXT_ON_RESET_ARB, a graphics reset
will result in the loss of all context state, requiring the
recreation of all associated objects."

It is necessary to land this infrastructure now so that the related
infrastructure can land in the xserver. The xserver has very long
release schedules, and the remaining Mesa parts should land long, long
before the next xserver merge window opens.

v2: Expose robustness as a DRI2 extension rather than bumping
__DRI_DRI2_VERSION.

v3: Add a comment explaining why dri2->base.version >= 3 is also
required for GLX_ARB_create_context_robustness.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/glx/dri2_glx.c
b60120608f6ddf4098bc324363197c979ee04cb7 10-Dec-2011 David Fries <David@Fries.net> Set close on exec flag FD_CLOEXEC

Set the close on exec flag when opening dri character devices, so they
will be closed and free any resouces allocated in exec.

Signed-off-by: David Fries <David@Fries.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/glx/dri2_glx.c
6c9af977401ff986964d678f8870eee23c504077 04-Feb-2012 Carl Worth <cworth@cworth.org> dri: Emit a critical error if a named driver fails to load.

Something has gone wrong if we were asked to load a driver of a
specific name, but it failed to load for some reason. The user really
should be made aware of this, (and instructed to set LIBGL_DEBUG for
more details).

Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
/external/mesa3d/src/glx/dri2_glx.c
f82d40d4b1aa60364c03c32578ecd675d4d86dcf 04-Jan-2012 Marek Olšák <maraeo@gmail.com> glx/dri2: print FPS when env var LIBGL_SHOW_FPS is 1 (v2)

This is useful for apps which don't print FPS.
Only enabled in SwapBuffers.

v2: track state per drawable, use libGL prefix

Reviewed-by: Michel Dänzer <michel@daenzer.net>
/external/mesa3d/src/glx/dri2_glx.c
e6280c3ba9579bf01f8b82e19497ba8f142a8d09 02-Dec-2011 Ian Romanick <ian.d.romanick@intel.com> glx: Enable GLX_EXT_create_context_es2_profile

This extension is only enabled if the underlying driver advertises
support for OpenGL ES 2.0. This happens either through the getAPIMask
function in version 2 of the DRI2 extension or implicity through
version 2 of the DRISW extension.

Since there is no OpenGL ES 2.0 protocol, this extension is marked as
only available with direct-rendering.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glx/dri2_glx.c
48ffc6a1553083280c217640629cc6ebed1bf982 30-Nov-2011 Ian Romanick <ian.d.romanick@intel.com> glx/dri2: Implement glx_screen_vtable::create_context_attribs for DRI2 contexts

This also enables GLX_ARB_create_context and
GLX_ARB_create_context_profile if the driver supports DRI_DRI2 version
3 or greater.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glx/dri2_glx.c
43409fa7b0e64f6d73c3d33bc9a39ba26dd4caeb 30-Nov-2011 Ian Romanick <ian.d.romanick@intel.com> glx: Add glx_screen_vtable::create_context_attribs

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glx/dri2_glx.c
4dbd13cb3f5aeff6ddc85fd091b4677369c19778 07-Dec-2011 Ian Romanick <ian.d.romanick@intel.com> glx: Send DestroyContext protocol at the correct times

Send the DestroyContext protocol immediately when glXDestroyContext is
called, and never call it when glXFreeContextEXT is called. In both
cases, either destroy the client-side structures or, if the context is
current, set xid to None so that the client-side structures will be
destroyed later.

I believe this restores the behavior of the original SGI code. See
src/glx/x11 around commit 5df82c8. The spec doesn't say anything
about glXDestroyContext not really destroying imported contexts (it
acts like glXFreeContextEXT instead), but that's what the original
code did. Note that glXFreeContextEXT on a non-imported context does
not destroy it either.

Fixes the piglit test glx-free-context.

NOTE: This is a candidate for the 7.11 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/glx/dri2_glx.c
c4a8c54c3bb31547cba57702ffea99293afef522 06-Dec-2011 Ian Romanick <ian.d.romanick@intel.com> glx: Don't create a shared context if the other context isn't the same kind

Each of the DRI, DRI2, and DRISW backends contain code like the
following in their create-context routine:

if (shareList) {
pcp_shared = (struct dri2_context *) shareList;
shared = pcp_shared->driContext;
}

This assumes that the glx_context *shareList is actually the correct
derived type. However, if shareList was created as an
indirect-rendering context, it will not be the expected type. As a
result, shared will contain garbage. This garbage will be passed to
the driver, and the driver will probably segfault. This can be
observed with the following GLX code:

ctx0 = glXCreateContext(dpy, visinfo, NULL, False);
ctx1 = glXCreateContext(dpy, visinfo, ctx0, True);

Create-context is the only case where this occurs. All other cases
where a context is passed to the backend, it is the 'this' pointer
(i.e., we got to the backend by call something from ctx->vtable).

To work around this, check that the shareList->vtable->destroy method
is the same as the destroy method of the expected type. We could also
check that shareList->vtable matches the vtable or by adding a "tag"
to glx_context to identify the derived type.

NOTE: This is a candidate for the 7.11 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/glx/dri2_glx.c
63a6fd6603574c1c01324fbeb0863e39d3864c16 06-Dec-2011 Aaron Plattner <aplattner@nvidia.com> glx: Fix indirect fallback when a non-Mesa GLX extension is present.

When driCreateScreen calls driConvertConfigs to try to convert the
configs for swrast, it fails and returns NULL. Instead of checking,
it just clobbers psc->base.configs. Then, when the application asks
for the FBconfigs, there aren't any.

Instead, make the caller responsible for freeing the old modes lists
if both calls to driConvertConfigs succeed.

Without the second fix, glxinfo fails unless you run it with
LIBGL_ALWAYS_INDIRECT:

$ glxinfo
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig

$ LIBGL_ALWAYS_INDIRECT=1 glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
[...]

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-and-tested-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/glx/dri2_glx.c
511dc295f82c61acefe026d0f4de43d4a31dbf90 10-Oct-2011 Thomas Hellstrom <thellstrom@vmware.com> dri2: Implement a throttle dri extension.

The X server has limited throttle support on the server side,
but doing this in the client has some benefits:

1) X server throttling is per client. Client side throttling can be done
per drawable.

2) It's easier to control the throttling based on what client is run,
for example using "driconf".

3) X server throttling requires drm swap complete events.

So implement a dri2 throttling extension intended to be used by direct
rendering clients.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
/external/mesa3d/src/glx/dri2_glx.c
116e896aaf768737fc2ab26e474ed57fc2dd1307 18-Sep-2011 Matt Turner <mattst88@gmail.com> Remove unneeded xdamages header from dri2_glx.c.

It's needed for dri1 but not dri2.

Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/glx/dri2_glx.c
d8c443ddde5e9734d60b63b3ec3b5a5ba756d022 14-Sep-2011 Michel Dänzer <michel.daenzer@amd.com> glx/dri2: Don't call X server for SwapBuffers when there's no back buffer.

As already done in dri2CopySubBuffer().

Should fix:

https://bugs.freedesktop.org/show_bug.cgi?id=36371
https://bugs.freedesktop.org/show_bug.cgi?id=40533

Might fix:

https://bugs.freedesktop.org/show_bug.cgi?id=32589

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/glx/dri2_glx.c
45e0a7a51d88c397a27317d22b325ec31b3e2e99 14-Sep-2011 Andrew Deason <adeason@dson.org> GLX: Say something if we cannot connect via DRI2

See https://bugs.freedesktop.org/show_bug.cgi?id=40437
/external/mesa3d/src/glx/dri2_glx.c
4a7667b96b7bd7cdffbe929182c15935b74facd2 18-Aug-2011 Kristian Høgsberg <krh@bitplanet.net> glx: Don't flush twice if we fallback to dri2CopySubBuffer

The flush extensions flush call indicates end of frame and should only
be called once per frame. However, in the dri2SwapBuffer fallback
path, we call flush and then call dri2CopySubBuffer, which also calls
flush. Refactor the code to only call flush once.
/external/mesa3d/src/glx/dri2_glx.c
e0496b63ff0d41a36812b78e9062e92590fcdd55 09-Aug-2011 Brian Paul <brianp@vmware.com> glx: move declarations before code
/external/mesa3d/src/glx/dri2_glx.c
559e4f8ebcb186b491d7d687ac43f22a62448fc1 15-Jun-2011 Jeremy Huddleston <jeremyhu@apple.com> glx: Allow a context-specific fallback for glXGetProcAddress

In applegl, GLX advertises the same extensions provided by OpenGL.framework
even if such extensions are not provided by glapi. This allows a client
to get access to such API.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
/external/mesa3d/src/glx/dri2_glx.c
bf69ce37f0dcbb479078ee676d5100ac63e20750 16-Jun-2011 Stéphane Marchesin <marcheu@chromium.org> glx: implement drawable refcounting.

The current dri context unbind logic will leak drawables until the process
dies (they will then get released by the GEM code). There are two ways to fix
this: either always call driReleaseDrawables every time we unbind a context
(but that costs us round trips to the X server at getbuffers() time) or
implement proper drawable refcounting. This patch implements the latter.

Signed-off-by: Antoine Labour <piman@chromium.org>
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
/external/mesa3d/src/glx/dri2_glx.c
3d3ecb8520ccca0863026a94e7fda9840aff6c0a 04-Jun-2011 Stéphane Marchesin <marcheu@chromium.org> dri2: protect dri2FlushFrontBuffer against NULL buffers.
/external/mesa3d/src/glx/dri2_glx.c
164108e3db5ba09d8e0605f88aa17dab83b68742 01-Jun-2011 Eric Anholt <eric@anholt.net> glx: Fix use-before-null-check in dri2InvalidateBuffers().

The compiler used our dereference here to skip the NULL check below.
Fixes window resize in "jconsole -J-Dsun.java2d.opengl=True" under
OpenJDK 6.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37766
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glx/dri2_glx.c
a3e2c8f31f0c5d8d5c1c76e33a572c7be8938573 06-May-2011 nobled <nobled@dreamwidth.org> glx: Check flush DRI extension version at runtime

The DRI driver itself might not have version 3 of the
DRI2 flush extension, in which case this would've
pointed to out of bounds memory...
/external/mesa3d/src/glx/dri2_glx.c
a75de67c51e9124a7c3846b4110552ea28c60349 07-Apr-2011 Henri Verbeet <hverbeet@gmail.com> glx: Destroy dri2Hash on DRI2 display destruction.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/glx/dri2_glx.c
74cde6505c233f388e902d1daa0e9f186dd012a9 15-Feb-2011 Eric Anholt <eric@anholt.net> dri2: Don't call the dri2 flush hook for swapbuffers unless we have a context.

The driver only has one reasonable place to look for its context to
flush anything, which is the current context. Don't bother it with
having to check.
/external/mesa3d/src/glx/dri2_glx.c
7d9e0ea7393c14cbf2d58364726951b14e0d4fc7 31-Jan-2011 Henri Verbeet <hverbeet@gmail.com> glx: Properly check for a valid fd in dri2CreateScreen().

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/glx/dri2_glx.c
bfc889517ad0d490cce1817eecac146d66bcd923 30-Jan-2011 Henri Verbeet <hverbeet@gmail.com> glx: Fix leaks in DRI2 screen creation error paths.

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/glx/dri2_glx.c
e59fa4c46c8857f2e04447777dd197464c95b2cb 09-Jan-2011 Juan Zhao <juan.j.zhao@intel.com> dri2: release texture image.

Add release function for texture_from_pixmap extension.
Some platform need to release texture image for texture_from_pixmap
extension, add this interface for those platforms.
/external/mesa3d/src/glx/dri2_glx.c
86a1938aa56c02d7da137b09e579d24d7da50d9e 22-Sep-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Invalidate buffers after binding a drawable

If the server doesn't send invalidate events, we may miss a
resize before the rendering starts. Invalidate the buffers now
so the driver will recheck before rendering starts.

https://bugs.freedesktop.org/show_bug.cgi?id=29984
https://bugs.freedesktop.org/show_bug.cgi?id=30155
/external/mesa3d/src/glx/dri2_glx.c
a0e510320009766faa5ff8c0ed744e87f8095df7 22-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x build

The Gallium EGL state tracker reuses dri2.c but not the GLX code.

Currently there is a bit of code in dri2.c that is incorrectly tied
to GLX: instead, make it call an helper that both GLX and Gallium EGL
implement, like dri2InvalidateBuffers.

This avoids a link error complaining that dri2GetGlxDrawableFromXDrawableId
is undefined.

Note that we might want to move the whole event translation elsewhere,
and probably stop using non-XCB DRI2 altogether, but this seems to be
the minimal fix.
/external/mesa3d/src/glx/dri2_glx.c
441344ba7ed2a1d162ee33ac4bac4bf645188ceb 21-Sep-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Hold on to drawables if we're just switching to another context

https://bugs.freedesktop.org/show_bug.cgi?id=30234
/external/mesa3d/src/glx/dri2_glx.c
4ebf07a426771b62123e5fcb5a8be0de24037af1 13-Sep-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Don't destroy DRI2 drawables for legacy glx drawables

For GLX 1.3 drawables, we can destroy the DRI2 drawable when the GLX
drawable is destroyed. However, for legacy drawables, there os no
good way of knowing when the application is done with it, so we just
let the DRI2 drawable linger on the server. The server will destroy
the DRI2 drawable when it destroys the X drawable or the client exits
anyway.

https://bugs.freedesktop.org/show_bug.cgi?id=30109
/external/mesa3d/src/glx/dri2_glx.c
16887d042a917fa4773e4d853f50051b54e9948c 27-Aug-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Drop broken drawable garbage collection

Doesn't work for pixmaps, was looking up the GLX XID and was never thread
safe. Instead, just destroy the client side structures when the
drawable is no long current for a context.
/external/mesa3d/src/glx/dri2_glx.c
2542d8e0c2ec3eb4de266c0b2ad93dba918cb89c 04-Aug-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move deref after NULL check
/external/mesa3d/src/glx/dri2_glx.c
9da1c9da139327132dea57b18048a4eb386b6bad 04-Aug-2010 Kristian Høgsberg <krh@bitplanet.net> glx: dri2InvalidateBuffers() needs the X drawable XID not the GLX one

This never ceases to entertain.
/external/mesa3d/src/glx/dri2_glx.c
c491e585e43d48a2aeec96ccc4008da6c443fb42 28-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move bind and unbind to context vtable
/external/mesa3d/src/glx/dri2_glx.c
c356f5867f2c1fad7155df538b9affa8dbdcf869 28-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types.
/external/mesa3d/src/glx/dri2_glx.c
66fc35cde9ed68a09920ad6a28de794dd1d3aa8c 28-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Rename __GLXscreenConfigs to struct glx_screen

Because double underscores in private type names is painful.
/external/mesa3d/src/glx/dri2_glx.c
6ddf66e9230ee862ac341c4767cf6b3b2dd2552b 28-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Rename __GLcontextModes to struct glx_config

With this rename, we use 'config' consitently to refer to GLX configurations
instead of the modes/configs/visual mess before.
/external/mesa3d/src/glx/dri2_glx.c
db011c8141d7b01b67f2ded4e634657b92ed707a 28-Jul-2010 Carl Worth <cworth@cworth.org> Avoid a compiler warning about a potentially unused variable.

There is no assignment to the "ret" variable if X_DRI2SwapBuffers is
not defined. In this case, the earlier explicit "return 0" is likely
to be used, but the compiler can't be sure of that, (nor can I for
that matter).

We cover this case by explicitly initializing "ret" to 0.
/external/mesa3d/src/glx/dri2_glx.c
af6a2aede696ad3c45798d6c28aa04e8f5035e6e 24-Jul-2010 Eric Anholt <eric@anholt.net> glx: Fix another case of confusing driContext and dri2_context *
/external/mesa3d/src/glx/dri2_glx.c
566373967a6a63b6a9c85a2392bc827ac7ef679f 23-Jul-2010 Eric Anholt <eric@anholt.net> glx: Correctly look up the dri2 context pointer for SetTexBuffer.

gc->driContext points at the second member of the dri2 context. The
dri2 context is just a subclass of the GLX context.

Fixes piglit tfp testcase.
/external/mesa3d/src/glx/dri2_glx.c
d77bb8e059ecfed9b714301fc31b093c6026c7bc 24-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Don't destroy context with XID 0

We use XID 0 to indicate the context has already been destroyed, but it's
currently bound.
/external/mesa3d/src/glx/dri2_glx.c
6393a33944ec9983426cecd5f6c9f05ac089e1ae 24-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: zero out drawable structs after allocation
/external/mesa3d/src/glx/dri2_glx.c
6ec39db726beead21d97bf64ddbe1f0b2d2d6ca1 23-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Refactor and simplify context creation

This lets us better separate context creation between the different
backends.
/external/mesa3d/src/glx/dri2_glx.c
c796bb0cc3fde409545bff320540ddf5c029e513 23-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move context destroy to context vtable
/external/mesa3d/src/glx/dri2_glx.c
9a12a3925a82475fd8f01ba53987581d30dd1128 23-Jul-2010 Eric Anholt <eric@anholt.net> glx: Don't try to swap a front buffer if we don't have one.

Fixes glean glsl1 since 7b7845a076c933e096ac511b4184141ba194449a
/external/mesa3d/src/glx/dri2_glx.c
eeaab2047cfce8a7445fd9f835e737682eb503ac 23-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Drop screen argument to GetGLXDRIDrawable

We'll just get it from the returned drawable when we need it.
/external/mesa3d/src/glx/dri2_glx.c
7b7845a076c933e096ac511b4184141ba194449a 23-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move WaitGL, WaitX, UseXFont to context vtable functions
/external/mesa3d/src/glx/dri2_glx.c
31819830b66a49f1b62e09090cc65aefc657aeb8 23-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Allocate the __GLXcontext in the DRI drivers
/external/mesa3d/src/glx/dri2_glx.c
f679640868ae6ef700d8672702c31ba2515220a7 21-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move __driContext field out of __GLXcontextRec
/external/mesa3d/src/glx/dri2_glx.c
bd3d2724f51a44b7fc814a5bc43d8ddafa8e3cba 20-Jul-2010 Michel Dänzer <daenzer@vmware.com> glx/dri2: Fix dri2CopySubBuffer() again.

Only refresh the fake front buffer if there is one, and only destroy the region
once.

Fixes X11 protocol errors reported by 'mcgreg' on IRC.
/external/mesa3d/src/glx/dri2_glx.c
a7292f2920a28a190ca39ce530454a852ec36d59 20-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move DRI CopySubBuffer extension to DRI1 code

We do this in the X server for DRI2.
/external/mesa3d/src/glx/dri2_glx.c
bab13969d8bf3ff9259524c3f4ab96d81485ccef 20-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move driver_configs to DRI screen privates
/external/mesa3d/src/glx/dri2_glx.c
037755122e9011c768e5caa4d4cb83aba783d3e9 20-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Don't use __glXInitialize() when we might be holding __glXLock()
/external/mesa3d/src/glx/dri2_glx.c
8d0228912bfef173139296a96a097f1a6348c963 20-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Workaround mismatch in signedness between extensions and protocol

The DRI2 protocol for ust, msc and sbc are unsigned but the extensions
talk about int64_t. Do a little dance to make the compiler shut up.
/external/mesa3d/src/glx/dri2_glx.c
271c3c3a90ccfd01da9d7ac7fa451518f4e6a27c 20-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move __DRIdrawable pointers to DRI drawable privates
/external/mesa3d/src/glx/dri2_glx.c
70887d517290060a80c7f5dd8c0ea0c834c4d91e 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move __driScreen into the dri screen privates
/external/mesa3d/src/glx/dri2_glx.c
089fc37c6fa158824279e08e3b378ced94d6f803 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move DRI1 specific extensions and code to DRI1 screen private
/external/mesa3d/src/glx/dri2_glx.c
9e546ecfd446abf1236cdb0b9469157de5d084ce 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Move DRI2 extensions to DRI2 screen private
/external/mesa3d/src/glx/dri2_glx.c
f972115d33e391499e049b83a1559959f2ca9f72 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Add screen privates for dri drivers and moved some fields there

GLXscreenConfigs is badly named and a dumping ground for a lot of stuff.
This patch creates private screen structs for the dri drivers and moves
some of their fields over there.
/external/mesa3d/src/glx/dri2_glx.c
a296d96de45d38a6ed0b3c817334d443facc169b 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Rename various DRI structs away from obnoxious __GLXfooRec convention

Enough is enough.
/external/mesa3d/src/glx/dri2_glx.c
308e13ecd12a2fd894e5b509d5756bffc2035ec6 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Factor out common code from dri2WaitGL() and dri2WaitX()
/external/mesa3d/src/glx/dri2_glx.c
b006d465ea0ea680326f702ad248544c576301a2 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Dont use dri2WaitX() to update fake front

This saves a superfluous flush and a create/destryo region.
/external/mesa3d/src/glx/dri2_glx.c
3750ebd540510324ef5ada769537ae05309adadb 19-Jul-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Fix drawable lookup in DRI2 event handler

DRI2 events are sent to the X drawable ID used to create the DRI2 drawable,
not the GLX drawable ID. So when an event comes in, we need to look up
the __GLXDRIdrawable by its X drawable ID, which needs a new hash table.
/external/mesa3d/src/glx/dri2_glx.c
ab780bccb737e0dc25a55b5e54faad9c4a790ac0 21-May-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Invalidate drawable in glXBindTexImageEXT() if we don't get events

When we don't get invalidate events, we need to invalidate a drawable
before using it for tfp to make sure we have uptodate buffers.
/external/mesa3d/src/glx/dri2_glx.c
643b2af0203764cb9f0a5b9e082937ab3f243523 21-May-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Split tfp functions out to context vtable

This introduces a new per-context vtable, which lets us clean up all the
#ifdef's a bit and move the DRI2 specific implementation into dri2_glx.c.
/external/mesa3d/src/glx/dri2_glx.c
4cd259ca59128ff2712c42ff2d2340b01a3b74a8 18-May-2010 Kristian Høgsberg <krh@bitplanet.net> dri2_glx: Put the invalidate b/c code back in

The backwards compatibility code calls the DRI driver invalidate hook
on swap buffer and flush front buffer. This lets the DRI driver rely
on invalidate callbacks and drop the glViewport() hack, even if the
server doesn't send invalidate events. This is essentially a revert
of 2d00d16da7f5d2255cb37b48edaf4cbb9ca7e930, except that we now also
pass the __DRI_USE_INVALIDATE extension even when the server doesn't
have DRI2 invalidate events.
/external/mesa3d/src/glx/dri2_glx.c
c8f407bcec7619eb2030ea9fe52501ad33075699 18-May-2010 Kristian Høgsberg <krh@bitplanet.net> dri2_glx: Terminate loader extension list outside #ifdef
/external/mesa3d/src/glx/dri2_glx.c
4258e3a2e1c3278694ed10f7fc544d2154d91a96 11-May-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Provide the __DRI_USE_INVALIDATE extension to the driver when we can

When we have DRI2 protocol at least 2.3, we get an event from the
server when the back buffers get invalidated. When that's the case
let the driver know that it can rely on invalidate instead of the
glViewport polling.
/external/mesa3d/src/glx/dri2_glx.c
2d00d16da7f5d2255cb37b48edaf4cbb9ca7e930 10-May-2010 Kristian Høgsberg <krh@bitplanet.net> glx: Only call DRI2 invalidate when necessary

We only need this when the server may have swapped the buffers or
when we receive an invalidate event from the server. The default
behaviour is still that the DRI driver will invalidate its own buffers
when glViewport is called.

https://bugs.freedesktop.org/show_bug.cgi?id=27277
/external/mesa3d/src/glx/dri2_glx.c
1fa7789e828d1005e2473fc7cd364bd45eb30843 28-Apr-2010 Brian Paul <brianp@vmware.com> Merge branch '7.8'

Conflicts:

src/glx/dri2_glx.c
src/glx/glx_pbuffer.c
d20fce057ee94fc3441c01a9e54cb5e19f7ddfd3 27-Apr-2010 Pierre Willenbrock <pierre@pirsoft.de> Initialize have_back.

There is a user somewhere that tests it before its initial set.

Signed-off-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/glx/dri2_glx.c
cc806f70b2749dd9013491f43f442f5b1fe7cc7f 27-Apr-2010 Pierre Willenbrok <pierre@pirsoft.de> glx: Initialize have_back.

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/glx/dri2_glx.c
80b280db883edc9550484dba03bd5c124b6a9bf9 02-Apr-2010 Jeremy Huddleston <jeremyhu@apple.com> apple: Change ifdefs for DRI to be DRI && !APPLE

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
/external/mesa3d/src/glx/dri2_glx.c
ff20543c815a14fddad1efaaef1610454a1924d4 23-Apr-2010 Michel Dänzer <daenzer@vmware.com> Merge branch '7.8'
c37e275e778e8c944e3dfad159b1eb94c601af60 23-Apr-2010 Michel Dänzer <daenzer@vmware.com> glx/dri2: Fix build with dri2proto which doesn't define X_DRI2SwapInterval.
/external/mesa3d/src/glx/dri2_glx.c
45e2b51c853471b79004a954ce3092a253b20b77 22-Apr-2010 Jesse Barnes <jbarnes@virtuousgeek.org> DRI2/GLX: check for vblank_mode in DRI2 GLX code

Re-add support for the vblank_mode environment and configuration
variable. Useful for benchmarking and app control.
/external/mesa3d/src/glx/dri2_glx.c
0a18cdb0ed2f4b747688f653d9947d174fae77ff 19-Apr-2010 Jesse Barnes <jbarnes@virtuousgeek.org> DRI2: check for swapAvailable before using swap interval protocol

This should have been part of the last change...
/external/mesa3d/src/glx/dri2_glx.c
385e2896ebf54ac0b016132fe513f21a5b67ba4f 19-Apr-2010 Jesse Barnes <jbarnes@virtuousgeek.org> DRI2: synchronize swap interval with server at startup time

In the direct rendered case, we need to tell the server our initial swap
interval. If we don't, the local and server values will be out of sync,
since the server and client defaults may be different (as they were
before this patch).
/external/mesa3d/src/glx/dri2_glx.c
d9793fc3ac0986f8665e269ecf993705132d0360 14-Apr-2010 Michael Schmidt <mschmidt@redhat.com> Initialize DRI2 swap interval to 0

https://bugs.freedesktop.org/show_bug.cgi?id=27628
/external/mesa3d/src/glx/dri2_glx.c
2b4d8616f581a36ed98a491ac1ec14be69d37511 02-Apr-2010 Jesse Barnes <jbarnes@virtuousgeek.org> GLX/DRI2: pass GLX drawable ID to dri2InvalidateBuffers

The IDs will be the same in the case where an X window is used directly
as a GLX drawable, but will fail if a new GLX drawable is created
explicitly, as with glxgears_fbconfig.

Fixes fdo bug #27190.
/external/mesa3d/src/glx/dri2_glx.c
115203281cf791221f586f03c14cfe4e0a44dd7a 02-Apr-2010 Jeremy Huddleston <jeremyhu@apple.com> Revert accidental commits from the xquartz tree

This reverts commit 9aadc793f3db64cefa0b08f18abad424a659dacc.
This reverts commit 69ea4e7718efb60b6b0d795a355cebd6712ceac1.
This reverts commit dbe8b013936d977ec63d6607bfd2fc6772d29787.
This reverts commit 23215ef4d60a86d9f3b3fdc08e3fdadc59e98890.
This reverts commit 9495e3703062d1ddaf3161f4efc23f0b51284d9b.
This reverts commit 0594cf70883b64692ba617d85f4f9b4e636e5c2b.
This reverts commit 86a7978d37393ee34f876569ac06ffdb8d7289ae.
This reverts commit 437902ce978cde9a0e1aa260f12dc232a8501c42.
/external/mesa3d/src/glx/dri2_glx.c
23215ef4d60a86d9f3b3fdc08e3fdadc59e98890 01-Apr-2010 Jeremy Huddleston <jeremyhu@apple.com> apple: Change ifdefs for DRI to be DRI && !APPLE

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
/external/mesa3d/src/glx/dri2_glx.c
07c6d94cd7272524ef06b2a787667e5d626137d2 30-Mar-2010 Michel Dänzer <daenzer@vmware.com> glx/dri2: Fix debug build with old dri2proto.

Apparently the higher compiler optimization level in non-debug builds was
eliminating the unused functions referencing the unresolved DRI2 symbols...
/external/mesa3d/src/glx/dri2_glx.c
ae7b3a632dd3f3b005459d77b66a77948260f716 06-Mar-2010 Brian Paul <brianp@vmware.com> glx: Move initialization of ext_list_first_time to where it's storage is allocated

Move the initialization of ext_list_first_time from all of the DRI loader's
CreateScreen routines, to where the storage for the screen config is
allocated.

It needs to get set in the screen-config even if DRI is forced off
using LIBGL_ALWAYS_INDIRECT, so that psc->direct_support is initialized
correctly, otherwise __glXExtensionBitIsEnabled() always returns FALSE

Specifically, this causes a problem with an X server which advertises
GLX<=1.2, and the GLX_SGIX_fbconfig extension.
glXGetFBConfigFromVisualSGIX() uses __glXExtensionBitIsEnabled() to
check if the GLX_SGIX_fbconfig extension is available, but that function
won't return correct information because that data has never been
initialized, because ext_list_first_time was never set...

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Brian Paul <brianp@vmware.com>

(cherry picked from commit 96ab4d2b84178209ee59017458d9964b32b7e183)
/external/mesa3d/src/glx/dri2_glx.c
1ca968363dd55e919bd91c8fc31c34d207af3958 05-Mar-2010 Jesse Barnes <jbarnes@virtuousgeek.org> DRI2: expose OML_sync_control if possible

If the server supports the OML related protocol, enable support for the
extension.
/external/mesa3d/src/glx/dri2_glx.c
61d26bc82e7c4100acfb551cbb0ba9d84bbc4ba5 08-Feb-2010 Francisco Jerez <currojerez@riseup.net> dri2: Event driven buffer validation.

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>
/external/mesa3d/src/glx/dri2_glx.c
6e8897ff9f90601ebf6eed500ad942c11b54d1f7 09-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> Retire miniglx and move the actual glx code up to src/glx
/external/mesa3d/src/glx/dri2_glx.c