summaryrefslogtreecommitdiff
path: root/GalliumStatus.mdwn
blob: dc578aa138764d91aa90586d188e36a4097e041a (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
68
69
70

## 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? 

* "[[!color background=lightgreen text=**DONE**]]" means that it is implemented and passes the state-tracker-specific conformance test. 
* "[[!color background=yellow text=**MOSTLY**]]" means that it is implemented but does not pass the conformance test. 
* "[[!color background=orange text=**WIP**]]" means that the implementation is being worked on, but should not be considered ready for general testing. 
* "[[!color background=pink text=**SLOW**]]" means that the feature is DONE, but not performant due to known deficiencies in the code. 
* "[[!color background=red text=**TODO**]]" means that the implementation is incomplete and nobody is working on it. 
* "[[!color background=lightgray text=**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="ColorTable" data="""
  | **mesa**  | **vega**  | **exa**  | **g3dvl**  | **d3d1x**  | **opencl**  | | **dri**  | **xorg**  | **egl**  | **wgl** 
i915 (Intel i915/i945) | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=red text=TODO ]] | | [[!color background=lightgreen text=DONE ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]]
nv30 (nVidia NV30 and NV40) | [[!color background=orange text=WIP ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=N/A ]] | | [[!color background=yellow text=MOSTLY ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]]
nv50 (nVidia NV50/G80) | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=orange text=WIP<sup>1</sup> ]] | [[!color background=orange text=WIP ]] | [[!color background=orange text=WIP ]] | | [[!color background=yellow text=MOSTLY ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]]
nvc0 (nVidia NVC0/Fermi) | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=orange text=WIP ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=red text=TODO ]] | | [[!color background=yellow text=MOSTLY ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]]
r300 (ATI R300/R400/R500) | [[!color background=lightgreen text=DONE ]] | [[!color background=orange text=WIP ]] | [[!color background=orange text=WIP ]] | [[!color background=orange text=WIP ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=red text=TODO ]] | | [[!color background=lightgreen text=DONE ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=red text=TODO ]]
r600 (ATI R600/R700/R800/R900) | [[!color background=lightgreen text=DONE ]] | [[!color background=orange text=WIP ]] | [[!color background=orange text=WIP ]] | [[!color background=orange text=WIP ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=orange text=WIP ]] | | [[!color background=lightgreen text=DONE ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=red text=TODO ]]
radeonsi (AMD Southern Islands) | [[!color background=orange text=WIP ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=orange text=WIP ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=red text=TODO ]] | | [[!color background=orange text=WIP ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=orange text=WIP ]] | [[!color background=lightgray text=UNKNOWN ]]
softpipe | [[!color background=yellow text=MOSTLY ]] | [[!color background=yellow text=MOSTLY ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=red text=TODO ]] | | [[!color background=lightgreen text=DONE ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgreen text=DONE ]]
svga (VMware Virtual GPU) | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=lightgray text=UNKNOWN ]] | [[!color background=red text=TODO ]] | | [[!color background=yellow text=MOSTLY ]] | [[!color background=lightblue text=DEPRECATED ]] | [[!color background=lightgreen text=DONE ]] | [[!color background=lightgray text=UNKNOWN ]]
"""]]


### Notes

1 - mpeg2 hardware (not shaders) decoding DONE 


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


[[!table header="yes" class="mointable" data="""
Gallium3D | Classic MESA
xorg + exa | DDX + Xv
dri + mesa | GL + GLSL
dri | DRI2
KMS + Gallium3D | DRM + DRI + DDX
"""]]