summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
Commit message (Collapse)AuthorAgeFilesLines
* st/glx: use PIPE_TEXTURE_RECT if appropriateLuca Barbieri2010-08-201-1/+6
|
* st/dri: use PIPE_TEXTURE_RECT if appropriateLuca Barbieri2010-08-204-3/+9
|
* st/egl: Fix win32 build.Chia-I Wu2010-08-191-0/+1
| | | | Add new source files to SConscripts.
* st/egl: Add support for EGL_KHR_fence_sync.Chia-I Wu2010-08-173-0/+71
| | | | The extension is implemented by pipe_fence_handle.
* st/egl: Add support for EGL_KHR_reusable_sync.Chia-I Wu2010-08-175-0/+297
| | | | The extension is implemented by pipe_condvar.
* st/dri: make dri_drawable_validate_att staticGeorge Sapountzis2010-08-132-7/+2
|
* st/dri: move TFP code to dri_drawable.cGeorge Sapountzis2010-08-133-52/+55
| | | | | | | | | | | | | | | | | | | | This is based on a patch by nobled <[email protected]> and allows the TFP extension to be enabled for DRISW also. This patch does not enable TFP for DRISW though, because testing on xephyr segfaults here (for both classic and gallium): Program received signal SIGSEGV, Segmentation fault. 0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788 788 ASSERT_OUTSIDE_BEGIN_END(ctx); (gdb) (gdb) where \#0 0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788 \#1 0x0817a004 in __glXDisp_GenTextures () \#2 0x08168498 in __glXDispatch () \#3 0x0808b6ce in Dispatch () \#4 0x08084435 in main () The TFP code is generic except for the teximage call. We need to verify that DRISW correclty implements whatever hook teximage finally calls.
* st/dri: Fix segmentation fault in sw driversnobled2010-08-131-2/+2
|
* st/dri: dri_drawable_get_format is shared between DRI2 and DRISWGeorge Sapountzis2010-08-131-31/+2
|
* st/dri: fix crash when dri2_drawable_get_buffers failsMarek Olšák2010-08-041-1/+2
| | | | | | | | | | | | | | | | | It's easily reproducible with Compiz with its Resize window mode set to Normal (which is usually not the default mode). https://bugs.freedesktop.org/show_bug.cgi?id=28658 https://bugs.freedesktop.org/show_bug.cgi?id=29303 This is actually a workaround to prevent Compiz crashes. Instead, a completely white titlebar might show up during resizing transparent windows (a rare case). The underlying cause should be fixed by someone who has more knowledge about the code. (dri2_drawable_get_buffers should not return NULL) Acked-By: Jakob Bornecrantz <[email protected]>
* egl: Add checks for EGL_MESA_screen_surface.Chia-I Wu2010-07-312-4/+10
| | | | | This allows Mesa EGL to be compiled with eglext.h that does not define EGL_MESA_screen_surface.
* st/dri: Remove unnecessary headers.Vinson Lee2010-07-312-2/+0
|
* st/dri: move backend hooks to appropriate objectGeorge Sapountzis2010-07-307-29/+78
|
* st/dri: drop dri1_helperGeorge Sapountzis2010-07-3013-229/+23
|
* st/dri: mv driDriverAPI to backendsGeorge Sapountzis2010-07-306-130/+49
|
* st/python: Adapt to interface change.Chia-I Wu2010-07-291-21/+18
| | | | This is only compile tested.
* gallium: Use unified pipe_context::draw_vbo.Chia-I Wu2010-07-291-2/+1
| | | | Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
* Untangle gallium/egl/glx source sharing mess and make it compile againKristian Høgsberg2010-07-283-114/+58
|
* swrastg: Add SWRAST_NO_PRESENT option to not send updates to X serverJakob Bornecrantz2010-07-271-1/+9
| | | | | There seem to be a problem with this path and freeglut where the window wont open if SWRAST_NO_PRESENT is set to true.
* st/egl: Fix debug linenobled2010-07-261-1/+1
| | | | Acked-by: Jakob Bornecrantz <[email protected]>
* st/xorg: fix use-after-freenobled2010-07-261-1/+1
| | | | Acked-by: Jakob Bornecrantz <[email protected]>
* st/xorg: Init the Gallium3D / libkms resources in pre-init.Thomas Hellstrom2010-07-232-86/+75
| | | | | | | | This makes it possible to prune modes already in pre-init. We also keep these resources alive across server generations, and they are implicitly closed on server exit. Signed-off-by: Thomas Hellstrom <[email protected]>
* st/xorg: Kill a couple of compilation warningsThomas Hellstrom2010-07-232-2/+2
| | | | Signed-off-by: Thomas Hellstrom <[email protected]>
* st/xorg vmwgfx/xorg: Add a pre-init customizer callbackThomas Hellstrom2010-07-232-2/+6
| | | | | | | | Add a customizer callback just before initial config setting, so that the customizer code can initialize the mode validator using the drm file-descriptor. Signed-off-by: Thomas Hellstrom <[email protected]>
* st/xorg: Add a possibility to prune modes and limit fb allocation size based ↵Thomas Hellstrom2010-07-233-0/+23
| | | | | | on max fb size. Signed-off-by: Thomas Hellstrom <[email protected]>
* st/egl: Fixes for recent GLX cleanup.Chia-I Wu2010-07-202-19/+45
| | | | | Mainly, the type of __GLXdisplayPrivateRec::screenConfigs has changed from "__GLXscreenConfigs *" to "__GLXscreenConfigs **".
* st/dri: Remove driFrameTrackingExtension.Chia-I Wu2010-07-201-1/+0
| | | | | The extension has been removed in 22266c391fbe17603b15a83d4ccf5fa9455ccf8d.
* gallium/st/dri2: add dri2 vblank query extension supportSven Arvidsson2010-07-181-0/+1
| | | | | | | from bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28771 Signed-off-by: Dave Airlie <[email protected]>
* 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
| |