summaryrefslogtreecommitdiff
path: root/src/gallium/targets/egl
AgeCommit message (Collapse)Author
2011-01-20glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu
When --enable-shared-glapi is specified, libGL will share libglapi with OpenGL ES instead of defining its own copy of glapi. This makes sure an app will get only one copy of glapi in its address space. The new option is disabled by default. When enabled, libGL and libglapi must be built from the same source tree and distributed together. This requirement comes from the fact that the dispatch offsets used by these libraries are re-assigned whenever GLAPI XMLs are changed. For GLX, indirect rendering for has_different_protocol() functions is tricky. A has_different_protocol() function is assigned only one dispatch offset, yet each entry point needs a different protocol opcode. It cannot be supported by the shared glapi. The fix to this is to make glXGetProcAddress handle such functions specially before calling _glapi_get_proc_address. Note that these files are automatically generated/re-generated src/glx/indirect.c src/glx/indirect.h src/mapi/glapi/glapi_mapi_tmp.h
2011-01-15targets/egl: i965 needs libwsw.Chia-I Wu
Fix undefined symbol wrapper_sw_winsys_dewrap_pipe_screen.
2011-01-10mesa: Remove GLES overlay.Chia-I Wu
With core mesa doing runtime API checks, GLES overlay is no longer needed. Make --enable-gles-overlay equivalent to --enable-gles[12]. There may still be places where compile-time checks are done. They could be fixed case by case.
2011-01-09targets/egl: add libnvc0.a to nouveau libsMarcin Slusarz
2010-12-10targets/egl: Improve st_GL.so loading.Chia-I Wu
When the application is not linked to any libGL*.so, loading st_GL.so would give /usr/local/lib/egl/st_GL.so: undefined symbol: _glapi_tls_Context In that case, load libGL.so and try again. This works because util_dl_open loads with RTLD_GLOBAL. Fix "clear" OpenGL ES 1.1 demo.
2010-12-10target/egl: Fix misleading debug message.Chia-I Wu
When the name of the module is NULL, the process itself is dlopen()ed. Do not print libEGL debug: searching for st module (null)
2010-10-31targets/egl: Fix a warning with --disable-opengl build.Chia-I Wu
API_DEFINES is the defines for libmesagallium.a. Append it to egl_CPPFLAGS only when st_GL.so, which uses libmesagallium.a, is built.
2010-10-24Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGSJon TURNEY
Ensure -L$(TOP)/$(LIB_DIR) (the staging dir for build products), appears in the link line before any -L in $LDFLAGS, so that we link driver we are building with libEGL we have just built, and not an installed version [olv: make a similar change to targets/egl] Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-10-18egl/i965: include inline_wrapper_sw_helper.hVictor Tseng
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-10-15target-helpers: Remove per target software wrapper checkJakob Bornecrantz
Instead of having a NAME_SOFTWARE check just use the GALLIUM_DRIVER instead but set the default to native which is the same as not wrapped.
2010-10-15egl: Remove unnecessary headersJakob Bornecrantz
2010-10-07targets/egl: Fix linking with libdrm.Chia-I Wu
2010-09-17targets/egl: Use C++ compiler to link GL/ES state trackers.Chia-I Wu
Otherwise, applications compiled with C compiler might have trouble using them.
2010-09-10targets/egl: Fix crashes from loading invalid modules.Chia-I Wu
Be defensive.
2010-09-10gallium: Remove ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2.Chia-I Wu
They are no longer used.
2010-09-10st/egl: Use profiles to create OpenGL ES contexts.Chia-I Wu
Replace all uses of ST_API_OPENGL_ES{1,2} by profiles. Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is not a sane abstraction, since all of them share glapi for current context/dispatch management.
2010-08-24targets/egl: Check against drm_driver_descriptor::name.Chia-I Wu
drm_driver_descriptor::driver_name is defined to be the name of the kernel module. We should check against drm_driver_descriptor::name instead of drm_driver_descriptor::driver_name.
2010-08-24targets/egl: add pipe_r600Benjamin Franzke
KNOWN ISSUE: eglShowScreenSurfaceMESA in st/egl/kms fails but st/egl/x11 works
2010-08-24targets/egl: rename pipe_radeon to pipe_r300Benjamin Franzke
st/egl/x11/x11_screen.c requests a driver named r300 not radeon KNOWN ISSUE: breaks st/egl/kms/ st/egl/kms requests a pipe named "radeon" that will not be found now so why not leaving pipe_radeon there? that was possible as long we have only r300g. now there is also r600g for which st/egl/kms also requests a pipe named "radeon" (possible solution in later commit)
2010-08-17targets/egl: Link with DRI_LIB_DEPS.Chia-I Wu
Use DRI_LIB_DEPS when linking GL/GLES state trackers. This fixes missing talloc symbol errors, and is hopefully more future proof.
2010-08-06targets/egl: Fix build by including missing headers.Vinson Lee
2010-08-05targets/egl: fix buildJoakim Sindholt
2010-07-16st/egl: Fix build on FreeBSD.Chia-I Wu
There is no libdl on FreeBSD. Based on patch from Thinker <thinker@branda.to>, which is against 7.8. This fixes fdo bug #29093.
2010-06-30st/egl: Add egl-gdi target.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.
2010-06-29egl: Check for drm winsys not just the driver nameJakob Bornecrantz
Also fix pipe_radeon.so not building
2010-06-29i915g: Fix copy pastoJakob Bornecrantz
2010-06-29egl: Fix gallium build when EGL is not installed on systemJakob Bornecrantz
2010-06-29i915g: Add missing egl pipe fileJakob Bornecrantz
2010-06-29st/egl: Build a single EGL driver.Chia-I Wu
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.
2010-06-29st/egl: Move module loading code to targets.Chia-I Wu
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.
2010-06-29st/egl: Reorganize targets.Chia-I Wu
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.