summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* st/egl: Build a single EGL driver.Chia-I Wu2010-06-299-137/+207
| | | | | | | | | | | | 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-2926-424/+556
| | | | | | | | | | 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-2923-347/+232
| | | | | | | 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-2910-87/+124
| | | | | | 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/egl: Make api_OpenGL support OpenGL ES.Chia-I Wu2010-06-295-8/+31
| | | | This allows api_OpenGL.so to support OpenGL ES.
* st_api: Remove st_context::is_visual_supported.Chia-I Wu2010-06-295-27/+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.
* mesa: initial support for ARB_geometry_shader4Zack Rusin2010-06-284-1/+10
| | | | | | laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
* util: reference surfaces and sampler views in blitter when saving themMarek Olšák2010-06-294-28/+49
| | | | Ooops. This should possibly fix some bugs...
* i915g: Add Galahad to targetsJakob Bornecrantz2010-06-284-4/+8
|
* r300g: Galahad for scons as wellJakob Bornecrantz2010-06-281-1/+2
|
* r300g: Add target defines for GalahadJakob Bornecrantz2010-06-283-3/+3
|
* glhd: Build with sconsJakob Bornecrantz2010-06-281-2/+2
|
* glhd: Re-integrate with the debug systemJakob Bornecrantz2010-06-282-1/+13
|
* glhd: Remove leftover fileJakob Bornecrantz2010-06-281-35/+0
|
* Merge branch 'gallium-drm-driver-drescriptor'Jakob Bornecrantz2010-06-28129-970/+994
|\ | | | | | | | | | | | | | | | | 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
| * nouveau: Remove reference to drm_apiJakob Bornecrantz2010-06-241-1/+1
| |
| * i965g: Remove last references to drm_apiJakob Bornecrantz2010-06-242-2/+2
| |
| * swrastg: Use target-helpersJakob Bornecrantz2010-06-243-54/+13
| |
| * gallium: Use debugging helper in all drm targetsJakob Bornecrantz2010-06-2437-16/+167
| |
| * gallium: Add debug target helperJakob Bornecrantz2010-06-241-0/+36
| |
| * gallium: Fix scons buildJakob Bornecrantz2010-06-242-1/+1
| |
| * gallium: Remove drm_api and all references to itJakob Bornecrantz2010-06-2411-373/+1
| |
| * r600g: Move bootstrap code to targetJakob Bornecrantz2010-06-248-36/+48
| |
| * nouveau: Move bootstrap code to targetsJakob Bornecrantz2010-06-236-23/+57
| | | | | | | | | | Well sorta, at least I removed the drm_api dependancy and the target can layer anything it wants to now.
| * nouveau: Rename winsys fileJakob Bornecrantz2010-06-233-4/+4
| |
| * gallium: Drop sw drm winsysJakob Bornecrantz2010-06-234-170/+0
| | | | | | | | Last user went away
| * i965g: Move bootstrap code to targetsJakob Bornecrantz2010-06-2313-51/+113
| |
| * i965g: Rename winsys fileJakob Bornecrantz2010-06-233-2/+2
| |
| * i965g: Moved pci_id to winsys structJakob Bornecrantz2010-06-236-14/+12
| |
| * target-helpers: Add inline helpersJakob Bornecrantz2010-06-232-0/+97
| |
| * swrastg: Fix glue fileJakob Bornecrantz2010-06-141-3/+3
| |
| * r300g: Move bootstrap code to targetsJakob Bornecrantz2010-06-0610-32/+70
| |
| * i915g: Move bootstrap code to targetsJakob Bornecrantz2010-06-0613-42/+87
| |
| * svga: Move bootstrap code to targetsJakob Bornecrantz2010-06-068-40/+138
| |
| * swrastg: Use new drm_driver interface in EGLJakob Bornecrantz2010-06-061-6/+7
| | | | | | | | | | | | | | The EGL state tracker is really weird in how it does software, in the past we would just not return a drm_api struct but now, there is no callback to get a function so we just set the create_screen hock to NULL to make it switch to software.
| * gallium: Make all drm drivers use the new drm compat helperJakob Bornecrantz2010-06-0642-13/+91
| |
| * gallium: drm api compat helperJakob Bornecrantz2010-06-061-0/+46
| | | | | | | | | | This is temporary untill all drivers have moved to the new drm driver descriptor interface.
| * gallium: Convert state trackers to drm driver interfaceJakob Bornecrantz2010-06-0613-98/+35
| |
| * gallium: Add drm driver interfaceJakob Bornecrantz2010-06-061-0/+71
| | | | | | | | | | | | | | This interfacre replaces the drm_api api it works very much the same way as drm_api but with the exception that its meant for the target to implement it. And it does not export a get function and neither a destroy function.
* | llvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy().José Fonseca2010-06-281-9/+17
| |
* | llvmpipe: Actually flush in lp_resource_copy()José Fonseca2010-06-281-2/+2
| | | | | | | | The cpu_access is redundant in a software rasterizer.
* | llvmpipe: Ensure outdated framebuffer state is not reused in ↵José Fonseca2010-06-282-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lp_setup_bind_framebuffer(). We were starting a scene whenever lp_setup_get_vertex_info() was called by the draw module. So when when all primitives were culled/clipped, not only did we create a new scene for nothing, but we end up using the old scene with the old framebuffer state instead of a new one. Fix consists in: - don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no longer necessary - always setting the scene state before binning a command -- query commands were bypassing it - assert no old scene is reused in lp_setup_bind_framebuffer()
* | r300g: fix a compile error on non-debug buildsMarek Olšák2010-06-271-1/+1
| |
* | util: fix a memory leak in blitterMarek Olšák2010-06-271-6/+1
| |
* | r300g: separate the hyperz state and pipelined FB regs out of the FB stateMarek Olšák2010-06-275-11/+76
| |
* | r300g: release referenced objects in destroy_contextMarek Olšák2010-06-271-9/+40
| |
* | r300g: reference surfaces in set_framebuffer_stateMarek Olšák2010-06-271-1/+19
| |
* | r300g: group debug messagesMarek Olšák2010-06-271-21/+24
| |
* | r300g: turn rasterizer state into a command bufferMarek Olšák2010-06-274-98/+122
| |