summaryrefslogtreecommitdiff
path: root/GalliumStatus.mdwn
blob: 55437f8e113f3a38d79b2a88f83ec55cb9c6089b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67


## Current Status of Gallium3D Pipes and State Trackers

This table lists the current combinations of state trackers and pipe drivers. 

Explanation: 

* d3d1x: Direct 3D 10/11 
* g3dvl: Generic GPU-Accelerated Video Decoding 
* vega: OpenVG - The Standard for Vector Graphics Acceleration 
* egl: Windowing system trackers similar to dri of EGL standard. 
* wgl: Windowing system trackers similar to dri for MS Windows. 
Unlisted drivers: 

* identity: This is a skeleton driver, used for passthrough and wrapping of pipes. 
* nouveau: This is not actually a driver, but a set of routines common to all nv pipes. 
* trace: This is a passthrough driver that traces Gallium library calls. 
State tracker conformance tests: 

* mesa: tri, gears, piglit. tri and gears must render correctly and not crash; piglit must pass. 
* vega: None. 
* exa: rendercheck. This should be a goal for improving exa, drivers bound to exa, and rendercheck. 
* g3dvl: None. 
* dri: glxinfo. Must say that direct rendering is enabled. 
* xorg: Xorg. X server must come up. Input drivers do not matter. 
* egl: eglinfo, eglscreen, egltri. egltri must render correctly. 
* wgl: None. 
What do these mean? 

* "**DONE**" means that it is implemented and passes the state-tracker-specific conformance test. 
* "**MOSTLY**" means that it is implemented but does not pass the conformance test. 
* "**WIP**" means that the implementation is being worked on, but should not be considered ready for general testing. 
* "**SLOW**" means that the feature is DONE, but not performant due to known deficiencies in the code. 
* "**TODO**" means that the implementation is incomplete and nobody is working on it. 
* "**UNKNOWN**" means that the current status of this item isn't known. 
If you're the maintainer of any of this code, please update these when you can, especially UNKNOWN slots. 
[[!table header="no" class="mointable" data="""
  | **mesa**  | **vega**  | **exa**  | **g3dvl**  | **d3d1x**  | **opencl**  |   | **dri**  | **xorg**  | **egl**  | **wgl** 
i915 (Intel i915/i945)  | DONE  | UNKNOWN  | UNKNOWN  | UNKNOWN  | UNKNOWN  | TODO  |   | DONE  | DEPRECATED  | DONE  | UNKNOWN 
nv30 (nVidia NV30 and NV40)  | WIP  | UNKNOWN  | UNKNOWN  | UNKNOWN  | UNKNOWN  | N/A  |   | MOSTLY  | DEPRECATED  | DONE  | UNKNOWN 
nv50 (nVidia NV50/G80)  | DONE  | UNKNOWN  | UNKNOWN  | WIP<sup>1</sup>  | WIP  | WIP  |   | MOSTLY  | DEPRECATED  | DONE  | UNKNOWN 
nvc0 (nVidia NVC0/Fermi)  | DONE  | UNKNOWN  | UNKNOWN  | WIP  | DONE  | TODO  |   | MOSTLY  | DEPRECATED  | DONE  | UNKNOWN 
r300 (ATI R300/R400/R500)  | DONE  | WIP  | WIP  | WIP  | UNKNOWN  | TODO  |   | DONE  | DEPRECATED  | DONE  | TODO 
r600 (ATI R600/R700/R800/R900)  | DONE  | WIP  | WIP  | WIP  | UNKNOWN  | WIP  |   | DONE  | DEPRECATED  | DONE  | TODO 
radeonsi (AMD Southern Islands)  | WIP  | UNKNOWN  | UNKNOWN  | WIP  | UNKNOWN  | TODO  |   | WIP  | DEPRECATED  | WIP  | UNKNOWN 
softpipe  | MOSTLY  | MOSTLY  | UNKNOWN  | UNKNOWN  | UNKNOWN  | TODO  |   | DONE  | DEPRECATED  | DONE  | DONE 
svga (VMware Virtual GPU)  | DONE  | UNKNOWN  | UNKNOWN  | UNKNOWN  | UNKNOWN  | TODO  |   | MOSTLY  | DEPRECATED  | DONE  | UNKNOWN 
"""]]


### Notes

1 - mpeg2 hardware (not shaders) decoding DONE 


### Feature stacks that give equivalent functionality to the classic MESA implementation


[[!format txt """
Gallium3D         Classic MESA
---------------------------------
xorg + exa        DDX + Xv
dri + mesa        GL + GLSL
dri               DRI2
KMS + Gallium3D   DRM + DRI + DDX
"""]]