Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
Forgot to stage this chunk in last commit.
|
|
The code is shared by ximage and gdi backend.
|
|
resource_surface_add_resources should still be called even when the
stamps match. For example, a caller may ask for two different sets of
attachments.
|
|
|
|
|
|
|
|
There is only resource_surface for now. It helps manage the resources
of a software-based native surface such as XImage or GDI.
|
|
At least, .dll is used on Windows.
|
|
The backend uses Windows GDI driver to provide a software EGL
implementation on Windows.
|
|
This is some refactoring works. Creating a pbuffer from an
EGL_OPENVG_IMAGE is still not supported.
|
|
It was broken since surface_copy -> resource_copy_region transition.
|
|
Check if the native native is EGL_DEFAULT_DISPLAY. If not, treat it as
an fd.
|
|
|
|
|
|
With the removal of DRI1 support there where no use of this argument,
some drivers didn't even properly check it.
|
|
|
|
|
|
Conflicts:
src/mesa/state_tracker/st_gen_mipmap.c
src/mesa/state_tracker/st_texture.c
|
|
|
|
dlopen api_<API>.so before dlopening the process itself in case the
client APIs are implemented in external modules.
|
|
Move glapi to src/mapi/{glapi,es1api,es2api}.
|
|
proc_name cannot be NULL after the switch statement. proc_name is
assigned a value or the function has already returned.
|
|
The struct st_module isn't needed as it is the same thing as the st_api
struct. That is they both represent the API. Instead just use a single
function entry point to the the API.
|
|
|
|
|
|
|
|
Conflicts:
progs/egl/Makefile
progs/egl/Makefile is gone on master with the egl demos split into
subdirectories. Will require an additional commit.
|
|
eglplatform.h pulls in Xlib.h on X11 platforms. Likewise, the egl glx
driver and egl programs needs to link to libX11. Make sure we use the
locations the user told us about.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
|
|
|
|
The front buffer is added to support old X servers. Check the version
of the server so that it can be added as needed.
|
|
|