summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/egl_xlib
AgeCommit message (Collapse)Author
2009-08-26egl_softpipe: Make winsys and pipe screen per display.Chia-I Wu
This is to allow a driver to drive multiple displays. Remove the use of _EGL_PLATFORM_X along the way. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-21egl_softpipe: Do not flush unlinked context.Chia-I Wu
An unlinked context is destroyed after _eglMakeCurrent. Flushing such context would cause segfault. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl/xlib: move call to create_configs() after we set the Xdpy fieldBrian Paul
2009-08-18egl: Some per-driver data should be per-display.Chia-I Wu
Move some fields of _EGLDriver to _EGLDisplay. It also becomes unnecessary to pass _EGLDisplay to drivers when _eglMain is called. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18egl: Overhaul driver API.Chia-I Wu
The motivation is so that drivers do not need to look up and check for bad display, context, and etc. It also becomes unnecessary for drivers to call the link functions. This commit makes eglapi.[ch] do the lookup and check. As a result, the driver API is overhauled, and almost all sources and drivers need update. The updates are mainly find and replace with human brains. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-11gallium/egl: add missing tex_usage parameterBrian Paul
2009-08-05egl_softpipe: Add support for pbuffer binding.Chia-I Wu
This adds support for eglBindTexImage and eglReleaseTexImage. They rely on the state tracker to do the real work. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-05egl_softpipe: Flush when switching current context.Chia-I Wu
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-03egl_softpipe: Add support for pbuffer surface.Chia-I Wu
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-03egl: Replace IsBound by a pointer to the binding.Chia-I Wu
IsBound tells if a context or surface is current. What it does not tell is, to which thread a context is current, or to which context a surface is current. This commit replaces IsBound by a pointer to the binding thread or context. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Remove redundant DeletePending flag.Chia-I Wu
A context or surface that is neither linked to a display nor current to a thread should be destroyed. Therefore, an unlinked context or surface implies a pending delete automatically. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Use the link functions to manage resources.Chia-I Wu
This commit uses the newly introduced link functions to manage EGL contexts and surfaces. As a result of this, the API for drivers are changed. All drivers are updated for the change. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-06-01Use separate $(MINSTALL) for installing librariesDan Nicholson
The special feature of bin/minstall to copy symlinks is only ever needed when installing libraries which may have .so symlinks. All the headers and directories can use a normal install program. These two modes are separated as $(INSTALL) and $(MINSTALL) to allow the user (or autoconf) to override installing normal files as they please. An autoconf check for the install program has been added and will be used in preference to minstall when available. Fixes bug 16053.
2009-05-01egl_xlib: Pass RTLD_LAZY to dlopen.José Fonseca
dlopen manpage mandates that either RTLD_LAZY or RTLD_NOW flags must be passed. Not doing so was causing a NULL return on debian unstable x86-64.
2009-04-30mesa: Prepend "-Wl," to linking optionsTormod Volden
Let mklib ignore -Wl options inside the object list when building static libraries
2009-04-18softpipe: Simplify softpipe_create's prototype.José Fonseca
2009-04-17egl: don't crash with one more khronos apiZack Rusin
2009-03-04gallium: Unify reference counting.Michel Dänzer
The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
2009-02-18gallium/winsys/egl_xlib: Fix build after introduction of struct pipe_transfer.Michel Dänzer
2009-02-09mesa: build/use libmesagallium.a for gallium buildsBrian Paul
This contains the core mesa code but excludes things not needed for gallium such as tnl/, swrast/, swrast_setup/, etc.
2009-02-02gallium: remove pipe_buffer from surfacesZack Rusin
this change disassociates, at least from the driver perspective, the surface from buffer. surfaces are technically now views on the textures so make it so by hiding the buffer in the internals of textures.
2009-01-30gallium: make p_winsys internalZack Rusin
move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
2009-01-26egl: compilation fixZack Rusin
2009-01-20gallium: Remove the standalone surfaces.José Fonseca
This commit is mostly just a cosmetic change that cleans-up the interfaces, replacing pipe_winsys::surface_* calls by /** * Allocate storage for a display target surface. * * Often surfaces which are meant to be blitted to the front screen (i.e., * display targets) must be allocated with special characteristics, memory * pools, or obtained directly from the windowing system. * * This callback is invoked by the pipe_screenwhen creating a texture marked * with the PIPE_TEXTURE_USAGE_DISPLAY_TARGET flag to get the underlying * buffer storage. */ struct pipe_buffer *(*surface_buffer_create)(struct pipe_winsys *ws, unsigned width, unsigned height, enum pipe_format format, unsigned usage, unsigned *stride); Most drivers were updated but not all were tested. Use the softpipe pipe driver and the xlib winsys changes as a reference when fixing other drivers.
2008-09-26st: change from ** to * for st_unreference_framebuffer()Alan Hourihane
2008-09-03gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca
We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-07-10egl: added EGL_OPENVG_API case (allow all APIs)Brian Paul
2008-07-09egl: plug a small memleakZack Rusin
2008-06-28egl: set config's EGL_CONFORMANT, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE ↵Brian Paul
attributes
2008-06-27egl: helps if the stride is rightZack Rusin
2008-06-27eh, we need a buildbot... fix the compilationZack Rusin
2008-06-27egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to ↵Robert Ellison
work correctly with GLES1 and GLES2. - egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the EGL_OPENGL_BIT in ClientAPIsMask - eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT as well as EGL_OPENGL_ES_BIT. - egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for all softpipe configurations. (Otherwise, an eglChooseConfig() that looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
2008-06-20egl: added cpp assertions/sanity checksBrian Paul
2008-06-20egl: added null ptr checksBrian Paul
2008-06-19egl: use dlsym() to try to identify APIsBrian Paul
2008-06-18egl: omit libmesa.a glapi.c from libraryBrian Paul
2008-06-18egl: call st_get_proc_address()Brian Paul
2008-06-09egl: s/softpipe_egl.so/egl_softpipe.so/Brian Paul
2008-06-06egl: clean-upsBrian Paul
2008-06-06egl: open X display if neededBrian Paul
2008-06-04egl: do proper setup/init of EGL configsBrian Paul
2008-06-04egl: prototype some multi-API codeBrian Paul
2008-05-30egl: eglGetProcAddress() stubBrian Paul
2008-05-30egl: specify client API by bit flag, not stringBrian Paul
2008-05-30egl: added eglDestroySurface functionBrian Paul
2008-05-30egl: fix-up window resizesBrian Paul
2008-05-30egl: assorted fixes. The code works now.Brian Paul
2008-05-30egl: added surface_alloc_storage()Brian Paul
2008-05-29egl: new EGL/gallium/softpipe/xlib winsysBrian Paul
Checkpoint commit. Most required code is in place, and compiles, but totally untested.