| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
also clean header inclusion after code movement
|
|
|
|
|
|
|
| |
Fixes compiz with direct rendering when both GLX_TEXTURE_2D_EXT and
GLX_TEXTURE_RECTANGLE_EXT are supported for a GLXPixmap and the
application didn't specify the texture target as a GLX drawable attribute
when creating the GLX drawable.
|
| |
|
|
|
|
| |
Thanks to Adam Jackson for pointing it out.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add DRI2 direct rendering support to libGL and add DRI2 client side
protocol code. Extend the GLX 1.3 create drawable functions in
glx_pbuffer.c to call into the DRI driver when possible.
Introduce __DRIconfig, opaque struct that represents a DRI driver
configuration. Get's rid of the open coded __GLcontextModes in the
DRI driver interface and the context modes create and destroy
functions that the loader was requires to provide. glcore.h is no
longer part of the DRI driver interface. The DRI config is GL binding
agnostic, that is, not specific to GLX, EGL or other bindings.
The core API is now also an extension, and the driver exports a list
of extensions as the symbol __driDriverExtensions, which the loader
must dlsym() for. The list of extension will always include the DRI
core extension, which allows creating and manipulating DRI screens,
drawables and contexts. The DRI legacy extension, when available,
provides alternative entry points for creating the DRI objects that
work with the XF86DRI infrastructure.
Change DRI2 client code to not use drm drawables or contexts. We
never used drm_drawable_t's and the only use for drm_context_t was as
a unique identifier when taking the lock. We now just allocate a
unique lock ID out of the DRILock sarea block. Once we get rid of the
lock entirely, we can drop this hack.
Change the interface between dri_util.c and the drivers, so that the
drivers now export the DriverAPI struct as driDriverAPI instead of the
InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2
init screen function to see if DRI2 is supported by the driver.
|
|
|
|
|
|
| |
to check whether oldGC is used for direct rendering in
function MakeContextCurrent. However it is possible
oldGC->driContext is already freed. fix bug #14926.
|
| |
|
| |
|
|
|
|
| |
This will be shared between dri and dri2 code.
|
|
|
|
| |
Spotted by Chris Taylor.
|
|
|
|
|
|
|
|
|
| |
This makes make install work again for non-glx libGL implementations.
The make install logic is split into three sub-targets: install-libgl,
install-osmesa, install-drivers. The install target in src/glx/x11
is then implemented using the src/mesa make install-libgl rule.
Thanks to Dan Nicholson for pointing out the breakage.
|
| |
|
| |
|
|
|
|
| |
This may not be correct but it should get the build going.
|
| |
|
|
|
|
|
|
|
|
| |
After commit 6fd82f6fbd208dc7b1839ea408a5fb28589ee622, we would
overwrite the libPath default value with NULL if libGL was running
non-setuid and none of the env vars were set.
Thanks to Magnus Kessler <[email protected]> for spotting it.
|
| |
|
|
|
|
| |
Also drop isDirect flag; if gc->driContext is non-NULL, it's direct.
|
| |
|
|
|
|
|
| |
Temporarily rename the __DRIscreen member to __driScreen. Eventually,
we'll move that into __GLXDRIscreen and only access it in dri_glx.c.
|
| |
|
|
|
|
|
| |
We avoid leaking the symbols and will be able to replace them with
DRI2 implementation later on.
|
|
|
|
|
|
|
|
| |
This patch moves __DRIdisplayPrivateRec definition into dri_glx.c and
let's dri_glx.c allocate the __DRIdisplay struct pointer to from
__GLXdisplayPrivate.
A small step towards moving more of the dri functionality into dri_glx.c.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
No need to jump through hoops to track __DRIdrivers and avoid dlopening the
same .so more than twice, dlopen() does this internally. Besides, we
were already bypassing this and dlopening drivers for each screen,
whether or not they were already dlopened.
|
|
|
|
| |
Move a lot of code over from glx_ext.c.
|
| |
|
|
|
|
|
| |
Also, use -include to avoid error message when make initially fails to
include the non-existent depend file.
|
|
|
|
|
|
|
|
|
|
|
| |
The DriverAPI is internal to the DRI drivers and GetDrawableMSC
obsoletes GetMSC. Also, since the DRI driver interface has not yet
been released, just drop the getMSC function from the DRI interface
instead using the ABI preserving version mechanism.
Finally, using void pointer privates in the DRI interface is not allowed,
always pass the actual types around (__DRIdrawable in this case) to
enhance type safety and readability of the code.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Instead of generating the glapi sources for the xserver and commiting
them to the xserver tree, we can keep them in the mesa tree and change
the xserver build to use the files from the mesa tree.
This makes the xserver glx build more robust as it reduces the chances
for mismatches of the glX API used in the xserver vs. in mesa.
|
| |
|
| |
|
|
|
|
|
|
| |
This increases the reference count for the driver binary, preventing it from
getting unloaded prematurely in driDestroyDisplay. See
https://bugs.freedesktop.org/show_bug.cgi?id=13541 .
|
| |
|
|
|
|
|
|
|
|
|
| |
If the server didn't send a value, assume it's not supported.
A more generic solution might be better for this kind of problem, but an
attempt for this failed (see https://bugs.freedesktop.org/show_bug.cgi?id=9264)
and this allows compiz to work with drivers that support
GL_EXT_framebuffer_object.
|
| |
|
| |
|
|
|
|
|
| |
The __GLXcontextRec struct is internal to the libGL implementation. No point
in "deprecating", just get rid of it.
|
| |
|
| |
|
|
|
|
| |
Also, handle visual not found error case by throwing X error.
|
| |
|
| |
|
|\ |
|