summaryrefslogtreecommitdiffstats
path: root/src/egl
Commit message (Collapse)AuthorAgeFilesLines
* st/egl: Rename kms backend to drm.Chia-I Wu2010-09-192-2/+2
| | | | | The main use of the backend is to support EGL_MESA_drm_display. drm should be a better name.
* EGL DRI2: 0xa011 is Pineview not IronlakeJesse Barnes2010-09-131-1/+1
| | | | Point about needing a better way to do this validated.
* EGL DRI2: add PCI ID for Ironlake mobileJesse Barnes2010-09-131-0/+1
| | | | Allows KMS EGL driver to load. We need a better way of doing this.
* egl: Simplify _eglBindContext.Chia-I Wu2010-09-101-77/+31
| | | | | | | | | | Remove the hard-to-get-right _eglBindContextToSurfaces. As well as fix an assertion failure from b90a3e7d8b1bcd412ddbf2a4803de2756dacd436 when such call sequence is hit eglMakeCurrent(dpy, surf1, surf1, ctx1); eglMakeCurrent(dpy, surf2, surf2, ctx2); eglMakeCurrent(dpy, surf1, surf1, ctx1);
* eglglx: Convert glx visuals/fbconfigs straight to EGL configsKristian Høgsberg2010-09-095-292/+101
| | | | In other words, skip the __GLcontextModes middle man.
* egl: Remove old egldri driverKristian Høgsberg2010-09-093-1390/+0
| | | | This driver doesn't work with any of the DRI drivers in the source tree.
* egl: Use _EGL_CHECK_DISPLAY in eglCreateContext.Chia-I Wu2010-09-101-1/+1
| | | | | _EGL_CHECK_DISPLAY checks the display and returns from eglCreateContext on error.
* egl: Display may be NULL in _eglLookup*.Chia-I Wu2010-09-103-3/+3
| | | | This fixes several NULL dereferences.
* egl: Mark EGL_MESA_screen_surface as obsolete.Chia-I Wu2010-08-311-1/+1
| | | | EGL_MESA_drm_{display,image} can achieve the same functionality.
* egl_dri2: Add support for MESA_image_drmKristian Høgsberg2010-08-251-0/+223
|
* egl: Add EGL_MESA_drm_image extensionKristian Høgsberg2010-08-254-0/+55
| | | | Create EGLImages from DRM buffer handles.
* egl: Fix context API check and be verbose.Chia-I Wu2010-08-202-11/+16
| | | | | | | The API of the context was not checked against EGL_RENDERABLE_TYPE when there was no attribute list. Move the check to _eglInitContext, and be verbose about common mistakes (EGL_RENDERABLE_TYPE not set, EGL_CONTEXT_CLIENT_VERSION not set, or eglBindAPI not called).
* egl: Add egl.def for win32 build.Chia-I Wu2010-08-202-1/+36
| | | | | Without the .def file, function names are decorated and cannot be queried by GetProcAddress easily.
* egl: Allow core functions to be queried.Chia-I Wu2010-08-202-1/+39
| | | | | When _EGL_GET_CORE_ADDRESSES is defined, eglGetProcAddress can be used to query core functions. This is non-standard, but some apps expect it.
* st/egl: Fix win32 build.Chia-I Wu2010-08-191-0/+1
| | | | Add new source files to SConscripts.
* egl: Add support for EGL_KHR_fence_sync.Chia-I Wu2010-08-174-1/+11
| | | | Individual drivers still need to support and enable the extension.
* egl: Add support for EGL_KHR_reusable_sync.Chia-I Wu2010-08-179-2/+388
| | | | Individual drivers still need to support and enable the extension.
* egl: Fix '_eglAddAtExitCall' implicit declaration warning.Vinson Lee2010-07-311-0/+1
|
* egl: Add checks for EGL_MESA_screen_surface.Chia-I Wu2010-07-3110-21/+91
| | | | | This allows Mesa EGL to be compiled with eglext.h that does not define EGL_MESA_screen_surface.
* egl_dri2: Set API version for DRM displayKristian Høgsberg2010-07-291-0/+4
|
* egl: Fix deref before NULL-checkKristian Høgsberg2010-07-281-1/+2
|
* egl_dri2: Implement EGL_KHR_surfaceless_* extensionsKristian Høgsberg2010-07-281-25/+55
|
* egl: EGL_KHR_surfaceless_* extensionsKristian Høgsberg2010-07-284-36/+67
| | | | | | | | | These extensions allow an application to make a context current by passing EGL_NO_SURFACE for the write and read surface in the call to eglMakeCurrent. The motivation is that applications that only want to render to client API targets (such as OpenGL framebuffer objects) should not need to create a throw-away EGL surface just to get a current context.
* egl: Return the correct array size in _eglFlattenArray.Chia-I Wu2010-07-151-1/+4
| | | | | | | The function is used by _eglGetConfigs and _eglGetScreens. The array size should not be limited by the buffer size when the buffer is NULL. This fixes fdo bug #29052.
* egl_dri2: Support _EGL_PLATFORM_DRMKristian Høgsberg2010-07-082-40/+223
| | | | This lets the egl_dri2 driver initialize on just a DRM fd.
* egl: Remove unnecessary headers.Vinson Lee2010-07-062-2/+0
|
* egl: Rework driver loading.Chia-I Wu2010-07-067-211/+365
| | | | | | | | | | | | | | | Driver loading is now splitted into two stages. In the first stage, an _EGLModule is created for each driver: user driver, default drivers, and all files in the search directories that start with "egl_". Modules are not loaded at this stage. In the second stage, each module is loaded to initialize a display. The process stops at the first module that can initialize the display. If eglGetProcAddress is called before eglInitialize, the same code path will be taken to find the first module that supports EGL_DEFAULT_DISPLAY. Because we do not want to initialize the display, drv->Probe is used instead in this case.
* egl: Always use EGLAPIENTRY in api function prototypesnobled2010-07-031-15/+15
| | | | Fixes the build on Windows.
* egl: Update MaxSize when a dynamic array is grown.Chia-I Wu2010-06-301-0/+1
|
* egl: Make _eglUnloadDrivers no-op on Windows.Chia-I Wu2010-06-301-0/+4
| | | | | Windows unloads DLLs before atexit. Make _eglUnloadDrivers no-op on Windows for now.
* egl: Store screens in a dynamic array.Chia-I Wu2010-06-303-30/+31
|
* egl: Store configs in a dynamic array.Chia-I Wu2010-06-305-55/+28
|
* egl: Add dynamic array.Chia-I Wu2010-06-305-0/+217
| | | | Dynamic arrays will be used to store configs and screens of a display.
* egl: Remove st/egl probe code.Chia-I Wu2010-06-292-56/+0
| | | | It is no longer needed.
* egl: Do not call drv->Initialize with global mutex locked.Chia-I Wu2010-06-291-3/+9
|
* st/egl: Build a single EGL driver.Chia-I Wu2010-06-291-82/+3
| | | | | | | | | | | | 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.
* st/egl: One driver per hardware.Chia-I Wu2010-06-296-45/+66
| | | | | | 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.
* egl: Add support for EGL_MESA_drm_display.Chia-I Wu2010-06-233-0/+16
| | | | | | | The extension defines eglGetDRMDisplay that creates an EGLDisplay from a DRM fd. Calling eglCreateWindowSurace or eglCreatePixmapSurface with such displays will generate EGL_BAD_NATIVE_WINDOW or EGL_BAD_NATIVE_PIXMAP.
* egl: Introduce platform displays internally.Chia-I Wu2010-06-239-17/+77
| | | | | | | | | | | 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.
* egl: s/EGL_DISPLAY/EGL_PLATFORM/.Chia-I Wu2010-06-172-11/+14
| | | | | A platform is already used to mean a window system in EGL. No need to use a different term.
* egl: s/_EGL_PLATFORM/_EGL_OS/ and s/POSIX/UNIX/.Chia-I Wu2010-06-174-15/+15
| | | | | A platform means a native window system in EGL. Use OS that follows Gallium instead.
* egl: Use SConscript for Windows build.Chia-I Wu2010-05-317-9/+72
| | | | Fix several portability issues and add SConscript for Windows build.
* Define PUBLIC to dllexport on MSVC.Chia-I Wu2010-05-311-4/+8
| | | | Define PUBLIC to __declspec(dllexport) when _MVC_VER is defined.
* Always define int32_t in compiler headers.Chia-I Wu2010-05-311-3/+1
| | | | eglplatform.h no longer defines int32_t.
* egl_dri2: Split driver loading out into its own functionKristian Høgsberg2010-05-281-32/+48
|
* egl_dri2: Check for xcb_connect() failure the right wayKristian Høgsberg2010-05-281-6/+4
| | | | | It always returns a valid xcb_connection_t, but if connection failed, it's in the error state.
* egl: Return NULL if we fail to load a default driverKristian Høgsberg2010-05-271-1/+1
|
* Make TLS EGL dri2 driver search path behavior match TLS GLX dri2 behavior.Eric Anholt2010-05-201-9/+12
|
* egl: Link drivers back to libEGL.Chia-I Wu2010-05-191-1/+1
| | | | | Drivers need symbols from libEGL. Without back-linking, the build fails on Cygwin.
* egl: Implement EGL_NOK_texture_from_pixmapKristian Høgsberg2010-05-147-29/+54
| | | | | | | This extension allows a color buffer to be used for both rendering and texturing. EGL allows the use of color buffers of pbuffer drawables for texturing, this extension extends this to allow the use of color buffers of pixmaps too.