Age | Commit message (Collapse) | Author |
|
Try to eliminate some unnecessary X server round trips.
|
|
|
|
|
|
Add new source files to SConscripts.
|
|
The extension is implemented by pipe_fence_handle.
|
|
The extension is implemented by pipe_condvar.
|
|
|
|
This is based on a patch by nobled <nobled@dreamwidth.org> and allows the TFP
extension to be enabled for DRISW also. This patch does not enable TFP for DRISW
though, because testing on xephyr segfaults here (for both classic and gallium):
Program received signal SIGSEGV, Segmentation fault.
0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
788 ASSERT_OUTSIDE_BEGIN_END(ctx);
(gdb)
(gdb) where
\#0 0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
\#1 0x0817a004 in __glXDisp_GenTextures ()
\#2 0x08168498 in __glXDispatch ()
\#3 0x0808b6ce in Dispatch ()
\#4 0x08084435 in main ()
The TFP code is generic except for the teximage call. We need to verify that
DRISW correclty implements whatever hook teximage finally calls.
|
|
|
|
|
|
It's easily reproducible with Compiz with its Resize window mode
set to Normal (which is usually not the default mode).
https://bugs.freedesktop.org/show_bug.cgi?id=28658
https://bugs.freedesktop.org/show_bug.cgi?id=29303
This is actually a workaround to prevent Compiz crashes.
Instead, a completely white titlebar might show up during resizing
transparent windows (a rare case).
The underlying cause should be fixed by someone who has more knowledge
about the code. (dri2_drawable_get_buffers should not return NULL)
Acked-By: Jakob Bornecrantz <jakob@vmware.com>
|
|
This allows Mesa EGL to be compiled with eglext.h that does not define
EGL_MESA_screen_surface.
|
|
|
|
|
|
|
|
|
|
This is only compile tested.
|
|
Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
|
|
|
|
There seem to be a problem with this path and freeglut where
the window wont open if SWRAST_NO_PRESENT is set to true.
|
|
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
This makes it possible to prune modes already in pre-init.
We also keep these resources alive across server generations, and
they are implicitly closed on server exit.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Add a customizer callback just before initial config setting, so that the
customizer code can initialize the mode validator using the drm
file-descriptor.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
on max fb size.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Mainly, the type of __GLXdisplayPrivateRec::screenConfigs has changed
from "__GLXscreenConfigs *" to "__GLXscreenConfigs **".
|
|
The extension has been removed in
22266c391fbe17603b15a83d4ccf5fa9455ccf8d.
|
|
from bugzilla:
https://bugs.freedesktop.org/show_bug.cgi?id=28771
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
st/egl uses GLX code for DRI2 support. It should honor
GLX_DIRECT_RENDERING.
Also updates configure.ac to define GLX_DIRECT_RENDERING for st/egl.
|
|
|
|
The configs should be FREE()ed, not free()ed. We cannot rely on
_eglCleanupDisplay here.
|
|
|
|
|
|
A vg_shader is destroyed with FREE.
|
|
[Manually fix a conflict in vg_context.c by Chia-I Wu]
|
|
|
|
The target supports OpenVG on Windows with software rasterizer. The
egl_g3d_loader defined by the target supports arbitrary client APIs and
window systems. It is the SConscript that limits the support to OpenVG
and GDI.
This commit also fixes a typo in gdi backend.
|
|
It is no longer needed.
|
|
This change makes st/egl build a single egl_gallium.so and multiple
st_<API>.so and pipe_<HW>.so. When a display is initialized, the
corresponding pipe driver will be loaded. When a context is created,
the corresponding state tracker will be loaded.
Unlike DRI drivers, no ABI compatibility is maintained. egl_gallium,
pipe drivers and state trackers should always be distributed as a single
package. As such, there is only a single src/gallium/targets/egl/ that
builds everything for the package.
|
|
Several changes are made. libegl.a no longer defines _eglMain. It
defines functions to create and destroy a _EGLDriver instead. The
creation function is called by the targets. It takes an egl_g3d_loader
as its argument. The loader is defined by the targets and is in charge
of creating st_api and pipe_screen. This allows us to move the module
loading code to targets. Lastly, the modules are now loaded as the
respective contexts are created.
|
|
Merge all targets into targets/egl/. The target produces
egl_gallium_<HW>.so for each pipe driver and st_<API>.so for each client
APIs. This enables us to further merge egl_gallium_<HW>.so into
egl_gallium.so later.
|
|
Merge multiple egl_<platform>_<pipe>.so into a single
egl_gallium_<pipe>.so. The environment variable EGL_PLATFORM is now
used to modify the return value of _eglGetNativePlatform.
|
|
Move native_get_name, native_create_probe, native_get_probe_result, and
native_create_display into struct native_platform, and add
native_get_platform to get a handle to the struct.
|
|
The callback is used by st/vega to check if a visual specifies the
depth/stencil format. It forces st/vega to be loaded by st/egl to
perform the check. As noted in EGL spec, the depth/stencil format of a
visual should not affect OpenVG. It should be better to ignore the
field and always allocate the depth/stencil texture.
|
|
Conflicts:
src/gallium/state_trackers/egl/x11/native_dri2.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/xorg/xorg_driver.c
src/gallium/winsys/radeon/drm/radeon_drm.c
|
|
This commit introduces type-safe platform displays internally. A
platform display consists of a generic pointer and an enum that
specifies the platform.
An EGLDisplay is created from a platform display. Native displays
become platform displays whose platform is determined by
_eglGetNativePlatform(). Platform windows and pixmaps may also be
introduced if needed.
|
|
A platform is already used to mean a window system in EGL. No need to
use a different term.
|
|
The backend is pure software. It implements EGL_MESA_screen_surface
extension, and is kept simple by only exporting the current mode.
|
|
|