summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
Commit message (Collapse)AuthorAgeFilesLines
* st/egl: Add support for !GLX_DIRECT_RENDERING.Chia-I Wu2010-07-064-41/+79
| | | | | | | st/egl uses GLX code for DRI2 support. It should honor GLX_DIRECT_RENDERING. Also updates configure.ac to define GLX_DIRECT_RENDERING for st/egl.
* st/egl: Remove unnecessary headers.Vinson Lee2010-07-031-3/+0
|
* st/egl: Manually free configs on terminate.Chia-I Wu2010-06-301-1/+13
| | | | | The configs should be FREE()ed, not free()ed. We cannot rely on _eglCleanupDisplay here.
* egl: Store screens in a dynamic array.Chia-I Wu2010-06-301-7/+10
|
* egl: Store configs in a dynamic array.Chia-I Wu2010-06-301-3/+3
|
* st/vega: Match MALLOC/FREE for vg_shader.Chia-I Wu2010-06-301-1/+1
| | | | A vg_shader is destroyed with FREE.
* st/vega: s/free/FREE for matching MALLOC/CALLOCnobled2010-06-309-15/+15
| | | | [Manually fix a conflict in vg_context.c by Chia-I Wu]
* st/xorg: s/free/FREE for matching MALLOC/CALLOCnobled2010-06-301-1/+1
|
* st/egl: Add egl-gdi target.Chia-I Wu2010-06-301-1/+1
| | | | | | | | | 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.
* egl: Remove st/egl probe code.Chia-I Wu2010-06-298-149/+1
| | | | It is no longer needed.
* st/egl: Build a single EGL driver.Chia-I Wu2010-06-291-74/+2
| | | | | | | | | | | | 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: Move module loading code to targets.Chia-I Wu2010-06-2918-389/+213
| | | | | | | | | | 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.
* st/egl: Reorganize targets.Chia-I Wu2010-06-292-7/+7
| | | | | | | 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.
* st/egl: One driver per hardware.Chia-I Wu2010-06-299-31/+90
| | | | | | 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.
* st/egl: Introduce native_platform.Chia-I Wu2010-06-298-107/+137
| | | | | | 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.
* st_api: Remove st_context::is_visual_supported.Chia-I Wu2010-06-294-21/+34
| | | | | | | | 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.
* Merge branch 'gallium-drm-driver-drescriptor'Jakob Bornecrantz2010-06-2812-99/+35
|\ | | | | | | | | | | | | | | | | Conflicts: src/gallium/state_trackers/egl/x11/native_dri2.c src/gallium/state_trackers/egl/x11/native_x11.c src/gallium/state_trackers/egl/x11/native_x11.h src/gallium/state_trackers/xorg/xorg_driver.c src/gallium/winsys/radeon/drm/radeon_drm.c
| * gallium: Convert state trackers to drm driver interfaceJakob Bornecrantz2010-06-0612-98/+34
| |
* | egl: Introduce platform displays internally.Chia-I Wu2010-06-2310-28/+23
| | | | | | | | | | | | | | | | | | | | | | 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-171-3/+3
| | | | | | | | | | A platform is already used to mean a window system in EGL. No need to use a different term.
* | st/egl: Add fbdev backend.Chia-I Wu2010-06-112-3/+484
| | | | | | | | | | The backend is pure software. It implements EGL_MESA_screen_surface extension, and is kept simple by only exporting the current mode.
* | st/egl: Remove unnecessary header.Vinson Lee2010-06-101-1/+0
| |
* | st/xorg: Add a customizable option to disable 3D.Thomas Hellstrom2010-06-092-3/+17
|/ | | | | | | If no customizer is present, 3D will be enabled by default. Otherwise the option will default to the customizer value. Signed-off-by: Thomas Hellstrom <[email protected]>
* st/egl: Fix compiler warnings.Chia-I Wu2010-06-041-0/+1
| | | | Forgot to stage this chunk in last commit.
* st/egl: Move sw screen creation to native helper.Chia-I Wu2010-06-045-93/+52
| | | | The code is shared by ximage and gdi backend.
* Merge branch 'gallium-newclear'Roland Scheidegger2010-06-031-8/+35
|\ | | | | | | | | Conflicts: src/gallium/state_trackers/python/p_context.i
| * gallium: rename clearRT / clearDS to clear_render_target / clear_depth_stencilRoland Scheidegger2010-06-031-13/+13
| | | | | | | | | | more consistent with rest of gallium naming conventions. Also rename driver-internal names for these the same.
| * st/python: adapt to clear interface changesRoland Scheidegger2010-05-291-13/+26
| |
* | gallium: add interpolation parameter to simple shader functionsBrian Paul2010-06-031-1/+2
| | | | | | | | | | This lets us specify linear interpolation instead of perspective interpolation for blit operations. Might be a bit faster.
* | st/xorg, vmware: Make throttling configurable.Thomas Hellstrom2010-05-314-20/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The xorg state tracker gets two new options to let the user choose whether to enable / disable dirty throttling and swapbuffer throttling. The default value of these options are enabled, unless the winsys supplies a customizer with other values. The customizer record has been extended to allow this, and also to set winsys-based throttling on a per- context basis. The vmware part of this patch disables the dirty throttling if the kernel supports command submission throttling, and also in that case sets kernel based throttling for everything but swapbuffers. The vmware winsys does not set throttling per context, even if it theoretically could, but instead sets throttling per screen. This should perhaps be changed, should the xorg state tracker start to use multiple rendering contexts. Kernel throttling is off by default for all new screens/contexts, so the dri state tracker is not affected. This significantly improves interactivity of the vmware xorg driver. Cherry-picked from commit a8f3b3f88acc1f0193fa740e76e9d815f07f32ab Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* | st/xorg: Fix Xv cliprect scaling.Thomas Hellstrom2010-05-313-9/+9
| | | | | | | | | | | | | | Due to a quantization error, different cliprects of scaled video windows may not have identical x / y scale. Signed-off-by: Thomas Hellstrom <[email protected]>
* | st/xorg Avoid advertizing rotation / reflection support.Thomas Hellstrom2010-05-311-3/+6
| | | | | | | | | | | | | | We don't support it yet since we don't implement the shadow allocate functions. Signed-off-by: Thomas Hellstrom <[email protected]>
* | st/egl: Use stamps only to avoid unnecessary geometry update.Chia-I Wu2010-05-312-20/+16
| | | | | | | | | | | | resource_surface_add_resources should still be called even when the stamps match. For example, a caller may ask for two different sets of attachments.
* | gallium: fix TFP on galliumDave Airlie2010-05-311-0/+2
| | | | | | | | | | | | | | | | This fixes an uninitialised value use in the dri2 st when doing TFP. It uses the driContextPriv which isn't initialised at alloc time. Signed-off-by: Dave Airlie <[email protected]>
* | st/egl: Update KMS backend to use resource_surface.Chia-I Wu2010-05-312-50/+28
| |
* | st/egl: Update GDI backend to use resource_surface.Chia-I Wu2010-05-311-146/+51
| |
* | st/egl: Update ximage backend to use resource_surface.Chia-I Wu2010-05-311-186/+52
| |
* | st/egl: Add helper functions for use by backends.Chia-I Wu2010-05-313-0/+306
| | | | | | | | | | There is only resource_surface for now. It helps manage the resources of a software-based native surface such as XImage or GDI.
* | st/vega: Use SConscript for Windows build.Chia-I Wu2010-05-314-9/+61
| | | | | | | | Fix several portability issues and add SConscript for Windows build.
* | st/egl: Use OS-specific module suffices.Chia-I Wu2010-05-311-6/+17
| | | | | | | | At least, .dll is used on Windows.
* | st/egl: Add GDI backend.Chia-I Wu2010-05-313-1/+556
| | | | | | | | | | The backend uses Windows GDI driver to provide a software EGL implementation on Windows.
* | st/python: Expose region_copy/fill_region instead of deprecated ↵José Fonseca2010-05-301-52/+20
| | | | | | | | surface_copy/fill
* | st/vega: Use FREE.Chia-I Wu2010-05-301-1/+1
| | | | | | | | | | Match MALLOC with FREE. Otherwise, it causes weird segfaults when built with memory debugging.
* | st/egl: Hook eglCreatePbufferFromClientBuffer.Chia-I Wu2010-05-303-20/+141
| | | | | | | | | | This is some refactoring works. Creating a pbuffer from an EGL_OPENVG_IMAGE is still not supported.
* | st/egl: Fix eglCopyBuffers.Chia-I Wu2010-05-301-2/+1
| | | | | | | | It was broken since surface_copy -> resource_copy_region transition.
* | st/egl: Initialize KMS backend from an fd.Chia-I Wu2010-05-301-6/+31
| | | | | | | | | | Check if the native native is EGL_DEFAULT_DISPLAY. If not, treat it as an fd.
* | egl/mks: remove extra param from function callBrian Paul2010-05-271-1/+1
| |
* | egl_g3d: add missing param to egl_g3d_st_manager_get_egl_image()Brian Paul2010-05-271-0/+1
| |
* | st/xorg: Remove unnecessary headers.Vinson Lee2010-05-262-2/+0
| |
* | st/dri: Remove dri.c from SCons build.Vinson Lee2010-05-261-1/+0
|/ | | | | This was missed in commit f501230db3a94c9328b8e769d9c17b2c3792e19c. Fixes SCons build.