Note: This page is not actively updated anymore, and thus is not really representative of what has been done and what is remaining. See the TODO-list instead, which is up-to-date.
nouveau : required functionality
Here is the feature matrix for the functionality we need :
"TODO" means we need to figure out that feature and document it (basically find out which code is sent to the card for this feature).
"WIP" means it's in progress.
"N/A" means we don't need it.
"DONE" means... well that it's reversed but not implemented.
"IMP" means... well that it's already fully reversed and implemented.
Description |
NV03 |
NV10 |
NV20 |
NV30 |
NV40 |
G80 |
||
Vertex format |
How to submit vertices, and what's the data format. How to submit vertex attributes, like colors, texture coordinates... |
TODO |
DONE |
DONE |
DONE |
WIP |
||
Texturing |
How to use textures on primitives, how to specify the texture format, offset, size.. |
TODO |
DONE |
WIP |
TODO |
WIP |
WIP |
WIP |
Lighting |
How to use OpenGL lights. |
N/A |
N/A |
N/A |
N/A |
|||
Buffer clears |
How to clear front/back/depth buffers. Explore the hierarchical clearing techniques available on higher-end cards. Figure out what is faster : using a 2D primitive, using 3D primitives, or a special clear command... |
TODO |
TODO |
WIP |
TODO |
TODO |
TODO |
DONE |
Blending modes |
How to use the different glBlendFunc() modes. Also should document glBlendFuncSeparate if available |
TODO |
DONE |
DONE |
DONE |
DONE |
DONE |
|
Screen Clipping |
How to use the screen-space clipping functionality. |
TODO |
TODO |
TODO |
WIP |
|||
Object Clipping |
How to use the object-space clipping functionality. |
N/A |
N/A |
TODO |
WIP |
|||
DMA |
How to make use of the cards DMA functionality. In particular, how to upload textures, and how to do back->front blits. Some information about that can be gathered from the EXA patch, and from the nv DDX. |
TODO |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
TCL |
How to make use of the card's TCL engine, how to load a transformation matrix... |
N/A |
N/A |
DONE |
DONE |
DONE |
N/A |
N/A |
Vertex shaders |
How to specify a vertex shader. What is the program format, what is the available instruction set, how to enable vertex programs... |
N/A |
N/A |
N/A |
TODO |
TODO |
DONE |
|
Fragment shaders |
How to specify a fragment shader. What is the program format, what is the available instruction set, how to enable fragment programs... |
N/A |
N/A |
N/A |
TODO |
TODO |
DONE |
|
More informations on Object types present on each chip.

