Age | Commit message (Collapse) | Author |
|
|
|
When direct rendering is being used, DRI2 BufferSwapComplete events are
sent unconditionally to clients, even if they haven't been requested.
This causes error messages to be printed by every freeglut application
of the form
freeglut (./gears): Unknown X event type: 104
and might confuse other clients.
This is a fixed up version of the patch by Jesse Barnes, which drops
BufferSwapComplete events if they are not requested by clients.
Fixes fdo bug 27962.
Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
|
|
Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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
|
|
And lookup the GLX screen for the context. Otherwise we'll end up
jumping through a NULL-pointer once we try to look up the visual
or config for the shared context.
https://bugs.freedesktop.org/show_bug.cgi?id=14245
|
|
This was missed in commit 296adbd545b8efd38c9ed508166b2de2764a444b.
Fixes darwin build.
|
|
Move glapi to src/mapi/{glapi,es1api,es2api}.
|
|
This is a regression from e42d84eaba228d4d96a46d116c6ca24581e29439
https://bugs.freedesktop.org/show_bug.cgi?id=27929
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 4d63be67f320839d115987211d0d9b4297f6d17d)
|
|
update for fbconfig_style_tags
|
|
|
|
Conflicts:
src/glx/dri2_glx.c
src/glx/glx_pbuffer.c
|
|
There is a user somewhere that tests it before its initial set.
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
|
|
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
|
|
tags.
__glXInitializeVisualConfigFromTags doesn't skip the payload of
unrecognized tags. Instead, it treats the value as if it were the
next tag, which can happen if the server's GLX extension is not
Mesa's. For example, this falls down when NVIDIA sends a
GLX_FLOAT_COMPONENTS_NV = 0 pair, causing
__glXInitializeVisualConfigFromTags to bail out early.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
|
|
|
|
Re-add support for the vblank_mode environment and configuration
variable. Useful for benchmarking and app control.
|
|
Add a new DRI2 configuration query extension. Allows for DRI2 client
code to query for common DRI2 configuration options.
|
|
|
|
This should have been part of the last change...
|
|
|
|
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).
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=27628
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=27628
|
|
|
|
In the direct rendered case, we need to convert DRI2 swap complete
events to GLX events for the client to consume. This path had what
looks like a stray "& 0x75" from some earlier debugging that prevented
clients from seeing the right event code.
|
|
We've supported indirect rendering pbuffers for a while, but not direct
rendering pbuffers. The way we do this is by creating a hidden pixmap
and wrap that in a GLX pbuffer. This only works when we have DRI2 on
the server, but if the server doesn't have DRI2, it won't expose configs
with pbuffer bits enabled.
|
|
When matching attributes using the 'mask' matching criteria, the spec
says that
"Only GLXFBConfigs for which the set bits of attribute include all
the bits that are set in the requested value are
considered. (Additional bits might be set in the attribute)."
The current test returns true if the two bit masks have bits in
common, specifically it matches even if the requested value has bits
set that are not set in the fbconfig attribute. For example, an
application asking for
GLX_DRAWABLE_TYPE, GLX_PIXMAP_BIT | GLX_PBUFFER_BIT,
as glxpbdemo does, will match fbconfigs that don't support pbuffer
rendering, as long as they support pixmap rendering.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
When matching attributes using the 'mask' matching criteria, the spec
says that
"Only GLXFBConfigs for which the set bits of attribute include all
the bits that are set in the requested value are
considered. (Additional bits might be set in the attribute)."
The current test returns true if the two bit masks have bits in
common, specifically it matches even if the requested value has bits
set that are not set in the fbconfig attribute. For example, an
application asking for
GLX_DRAWABLE_TYPE, GLX_PIXMAP_BIT | GLX_PBUFFER_BIT,
as glxpbdemo does, will match fbconfigs that don't support pbuffer
rendering, as long as they support pixmap rendering.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
|
|
Fixes bug #27454.
|
|
|
|
Add ifdef guards around variables of types defined only for
GLX_DIRECT_RENDERING.
|
|
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.
|