aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/egl_xlib
Commit message (Collapse)AuthorAgeFilesLines
* egl_softpipe: Make winsys and pipe screen per display.Chia-I Wu2009-08-262-27/+77
| | | | | | | 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 <[email protected]>
* egl_softpipe: Do not flush unlinked context.Chia-I Wu2009-08-211-3/+8
| | | | | | | An unlinked context is destroyed after _eglMakeCurrent. Flushing such context would cause segfault. Signed-off-by: Chia-I Wu <[email protected]>
* egl/xlib: move call to create_configs() after we set the Xdpy fieldBrian Paul2009-08-181-2/+2
|
* egl: Some per-driver data should be per-display.Chia-I Wu2009-08-181-10/+26
| | | | | | | 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 <[email protected]>
* egl: Overhaul driver API.Chia-I Wu2009-08-181-95/+59
| | | | | | | | | | | | 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 <[email protected]>
* gallium/egl: add missing tex_usage parameterBrian Paul2009-08-111-0/+1
|
* egl_softpipe: Add support for pbuffer binding.Chia-I Wu2009-08-051-0/+84
| | | | | | | This adds support for eglBindTexImage and eglReleaseTexImage. They rely on the state tracker to do the real work. Signed-off-by: Chia-I Wu <[email protected]>
* egl_softpipe: Flush when switching current context.Chia-I Wu2009-08-051-0/+4
| | | | Signed-off-by: Chia-I Wu <[email protected]>
* egl_softpipe: Add support for pbuffer surface.Chia-I Wu2009-08-031-7/+96
| | | | Signed-off-by: Chia-I Wu <[email protected]>
* egl: Replace IsBound by a pointer to the binding.Chia-I Wu2009-08-031-2/+2
| | | | | | | | | 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 <[email protected]>
* egl: Remove redundant DeletePending flag.Chia-I Wu2009-07-171-8/+2
| | | | | | | | 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 <[email protected]>
* egl: Use the link functions to manage resources.Chia-I Wu2009-07-171-6/+7
| | | | | | | | 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 <[email protected]>
* Use separate $(MINSTALL) for installing librariesDan Nicholson2009-06-011-1/+1
| | | | | | | | | | | | | 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.
* egl_xlib: Pass RTLD_LAZY to dlopen.José Fonseca2009-05-011-1/+3
| | | | | 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.
* mesa: Prepend "-Wl," to linking optionsTormod Volden2009-04-301-1/+1
| | | | | Let mklib ignore -Wl options inside the object list when building static libraries
* softpipe: Simplify softpipe_create's prototype.José Fonseca2009-04-181-1/+1
|
* egl: don't crash with one more khronos apiZack Rusin2009-04-171-0/+1
|
* gallium: Unify reference counting.Michel Dänzer2009-03-041-3/+3
| | | | | | | | | | | | | | 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().
* gallium/winsys/egl_xlib: Fix build after introduction of struct pipe_transfer.Michel Dänzer2009-02-181-3/+4
|
* mesa: build/use libmesagallium.a for gallium buildsBrian Paul2009-02-091-1/+1
| | | | | This contains the core mesa code but excludes things not needed for gallium such as tnl/, swrast/, swrast_setup/, etc.
* gallium: remove pipe_buffer from surfacesZack Rusin2009-02-021-2/+3
| | | | | | | 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.
* gallium: make p_winsys internalZack Rusin2009-01-302-2/+2
| | | | | move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
* egl: compilation fixZack Rusin2009-01-261-2/+4
|
* gallium: Remove the standalone surfaces.José Fonseca2009-01-201-56/+14
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* st: change from ** to * for st_unreference_framebuffer()Alan Hourihane2008-09-261-1/+1
|
* gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca2008-09-031-1/+1
| | | | | We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
* gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul2008-08-242-2/+3
| | | | Also, rename p_tile.[ch] to u_tile.[ch]
* egl: added EGL_OPENVG_API case (allow all APIs)Brian Paul2008-07-101-0/+1
|
* egl: plug a small memleakZack Rusin2008-07-091-0/+1
|
* egl: set config's EGL_CONFORMANT, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE ↵Brian Paul2008-06-281-0/+7
| | | | attributes
* egl: helps if the stride is rightZack Rusin2008-06-271-1/+3
|
* eh, we need a buildbot... fix the compilationZack Rusin2008-06-272-6/+4
|
* egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to ↵Robert Ellison2008-06-271-0/+1
| | | | | | | | | | | | | | 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.)
* egl: added cpp assertions/sanity checksBrian Paul2008-06-201-0/+2
|
* egl: added null ptr checksBrian Paul2008-06-201-1/+4
|
* egl: use dlsym() to try to identify APIsBrian Paul2008-06-191-2/+45
|
* egl: omit libmesa.a glapi.c from libraryBrian Paul2008-06-181-2/+6
|
* egl: call st_get_proc_address()Brian Paul2008-06-181-5/+1
|
* egl: s/softpipe_egl.so/egl_softpipe.so/Brian Paul2008-06-091-3/+3
|
* egl: clean-upsBrian Paul2008-06-061-11/+9
|
* egl: open X display if neededBrian Paul2008-06-061-0/+4
|
* egl: do proper setup/init of EGL configsBrian Paul2008-06-041-21/+52
|
* egl: prototype some multi-API codeBrian Paul2008-06-041-10/+19
|
* egl: eglGetProcAddress() stubBrian Paul2008-05-301-0/+12
|
* egl: specify client API by bit flag, not stringBrian Paul2008-05-301-2/+8
|
* egl: added eglDestroySurface functionBrian Paul2008-05-301-0/+23
|
* egl: fix-up window resizesBrian Paul2008-05-301-0/+4
|
* egl: assorted fixes. The code works now.Brian Paul2008-05-301-7/+60
|
* egl: added surface_alloc_storage()Brian Paul2008-05-301-1/+38
|
* egl: new EGL/gallium/softpipe/xlib winsysBrian Paul2008-05-294-0/+832
Checkpoint commit. Most required code is in place, and compiles, but totally untested.