summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/egl/common
AgeCommit message (Collapse)Author
2010-11-03st/egl: Add native_display_buffer interface.Chia-I Wu
The interface is a wrapper to pipe_screen::resource_from_handle and pipe_screen::resource_get_handle. A winsys handle is platform-dependent.
2010-11-03st/egl: Add extern "C" wrapper to native.h.Chia-I Wu
This allows a backend to be written in C++.
2010-11-03st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.Chia-I Wu
Added for completeness. It makes sense to have such mechanism, but I am not aware of any user of that..
2010-11-03st/egl: Add support for swap interval and swap behavior.Chia-I Wu
The value of EGL_MAX_SWAP_INTERVAL and whether EGL_SWAP_BEHAVIOR_PRESERVED_BIT is set will depend on the native backend used.
2010-11-03st/egl: Remove flush_frontbuffer and swap_buffers.Chia-I Wu
They are deprecated by native_surface::present and there is no user of them.
2010-11-03st/egl: Use native_surface::present callback.Chia-I Wu
Replace native_surface::flush_frontbuffer and native_surface::swap_buffers calls by native_surface::present calls.
2010-11-03st/egl: Add native_surface::present callback.Chia-I Wu
The callback presents the given attachment to the native engine. It allows the swap behavior and interval to be controlled. It will replace native_surface::flush_frontbuffer and native_surface::swap_buffers shortly.
2010-11-01st/egl image: multiply drm buf-stride with blocksizeBenjamin Franzke
[olv: formatted for 80-column wrapping]
2010-10-23st/egl: Use resource reference count for egl_g3d_sync.Chia-I Wu
2010-10-23egl: Use reference counting to replace IsLinked or IsBound.Chia-I Wu
Remove all _egl<Res>IsLinked and _egl<Res>IsBound. Update _eglBindContext and drivers to do reference counting.
2010-10-23st/egl: Fix native_mode refresh mode.Chia-I Wu
Define the unit to match _EGLMode's.
2010-10-23egl: Fix _eglModeLookup.Chia-I Wu
Internally a mode belongs to a screen. But functions like eglGetModeAttribMESA treat a mode as a display resource: a mode can be looked up without a screen. Considering how KMS works, it is better to stick to the current implementation. To properly support looking up a mode without a screen, this commit assigns each mode (of all screens) a unique ID.
2010-10-23egl: Minor changes to the _EGLScreen interface.Chia-I Wu
Make _eglInitScreen take a display and rename _eglAddScreen to _eglLinkScreen. Remove unused functions.
2010-10-23egl: Minor changes to the _EGLConfig interface.Chia-I Wu
Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean ups.
2010-10-22egl: Parse image attributes with _eglParseImageAttribList.Chia-I Wu
Avoid code duplications.
2010-10-22egl: Move attributes in _EGLImage to _EGLImageAttribs.Chia-I Wu
The opaque nature of EGLImage implies that extensions almost always define their own attributes. Move attributes in _EGLImage to _EGLImageAttribs and add a helper function to parse attribute lists.
2010-10-14st/egl: Do not finish a fence that is NULL.Chia-I Wu
i915g would dereference the NULL pointer.
2010-10-14st/egl: Access _EGLConfig directly.Chia-I Wu
Drop the use of SET_CONFIG_ATTRIB. Fix the value of EGL_SAMPLE_BUFFERS along the way.
2010-09-30st/egl: Drop context argument from egl_g3d_get_egl_image.Chia-I Wu
Fix a regression since 17eace581d25a626a7d75d9d1205d012cbb14a6e.
2010-09-30st/egl: Skip single-buffered configs in EGL.Chia-I Wu
Let DRI2 report single-buffered configs and skip them in EGL. This is based on the patch by Luca Barbieri.
2010-09-19st/egl: Rename kms backend to drm.Chia-I Wu
The main use of the backend is to support EGL_MESA_drm_display. drm should be a better name.
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-09-10gallium: Add context profile support to st_api.Chia-I Wu
Add struct st_context_attribs to describe context profiles and attributes. Modify st_api::create_context to take the new struct instead of an st_visual. st_context_attribs can be used to support GLX_ARB_create_context_profile and GLX_EXT_create_context_es2_profile in the future. But the motivation for doing it now is to be able to replace ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2 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-31st/egl: Enable EGL_MESA_drm_display.Chia-I Wu
2010-08-26st/egl: Add support for EGL_MESA_image_drm.Chia-I Wu
2010-08-26st/egl: Add support for EGL_KHR_surfaceless_*.Chia-I Wu
2010-08-17st/egl: Add support for EGL_KHR_fence_sync.Chia-I Wu
The extension is implemented by pipe_fence_handle.
2010-08-17st/egl: Add support for EGL_KHR_reusable_sync.Chia-I Wu
The extension is implemented by pipe_condvar.
2010-07-31egl: Add checks for EGL_MESA_screen_surface.Chia-I Wu
This allows Mesa EGL to be compiled with eglext.h that does not define EGL_MESA_screen_surface.
2010-07-26st/egl: Fix debug linenobled
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
2010-06-30st/egl: Manually free configs on terminate.Chia-I Wu
The configs should be FREE()ed, not free()ed. We cannot rely on _eglCleanupDisplay here.
2010-06-30egl: Store screens in a dynamic array.Chia-I Wu
2010-06-30egl: Store configs in a dynamic array.Chia-I Wu
2010-06-29egl: Remove st/egl probe code.Chia-I Wu
It is no longer needed.
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.
2010-06-29st/egl: One driver per hardware.Chia-I Wu
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.
2010-06-29st/egl: Introduce native_platform.Chia-I Wu
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.
2010-06-29st_api: Remove st_context::is_visual_supported.Chia-I Wu
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.
2010-06-23egl: Introduce platform displays internally.Chia-I Wu
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.
2010-06-10st/egl: Remove unnecessary header.Vinson Lee
2010-06-04st/egl: Fix compiler warnings.Chia-I Wu
Forgot to stage this chunk in last commit.
2010-06-04st/egl: Move sw screen creation to native helper.Chia-I Wu
The code is shared by ximage and gdi backend.
2010-05-31st/egl: Add helper functions for use by backends.Chia-I Wu
There is only resource_surface for now. It helps manage the resources of a software-based native surface such as XImage or GDI.
2010-05-31st/egl: Use OS-specific module suffices.Chia-I Wu
At least, .dll is used on Windows.
2010-05-31st/egl: Add GDI backend.Chia-I Wu
The backend uses Windows GDI driver to provide a software EGL implementation on Windows.
2010-05-30st/egl: Hook eglCreatePbufferFromClientBuffer.Chia-I Wu
This is some refactoring works. Creating a pbuffer from an EGL_OPENVG_IMAGE is still not supported.
2010-05-30st/egl: Fix eglCopyBuffers.Chia-I Wu
It was broken since surface_copy -> resource_copy_region transition.
2010-05-27egl_g3d: add missing param to egl_g3d_st_manager_get_egl_image()Brian Paul
2010-05-21st_api: Give get_egl_image arguments directly to the functionJakob Borncrantz