R300 To Do list
And here is the long R300 to do list; if you feel something is missing please add it. If you have done something and it no longer needs to be investigated, happily erase it from here :).
General Optimization
- [HARD] Cleanup the code which really needs it. You could help by looking at the code, see what's useless, and propose to erase it.
- [HARD] Rework the way we handle state change, we are likely the worst example among all DRI drivers on the way we handle this. Take a look at the i915 or nouveau driver to see how this could be improved. Another great example is i965.
Features
[HARD] Smooth/Alpha shading see https://bugs.freedesktop.org/show_bug.cgi?id=8273
[HARD] Implement smooth lines (see https://bugs.freedesktop.org/show_bug.cgi?id=7370). You need to alter the vertex and fragment program in what seems to be quite special (ping me so I post a dump of fglrx).
- [HARD] Rework clear buffer to make use of special features like HYPER-Z?
[????] Workaround rendering limit of hardware (r300 on ATI 9600 => maximum width 2650): https://bugs.freedesktop.org/show_bug.cgi?id=8357
[HARD] implement texture tiling - some initial work can be found here https://bugs.freedesktop.org/show_bug.cgi?id=8056
[MEDIUM] Add GLSL support. This is currently work in progress for r300g, see here
- [MEDIUM] Implement OpenGL 2.0 and up. Apart from GLSL (which is mentioned above), this requires:
- ARB_draw_buffers
- ARB_texture_non_power_of_two: Note that fglrx claims to support OpenGL 2.0 without exposing this extension, which is code for "Mip-mapped npot textures with repeat/mirror modes are broken"
- [????] ARB_pixel_buffer_object
- Implement features that are currently handled by software fallbacks:
- smooth lines
- smooth points
- smooth polygons
- line stipple
- polygon stipple
- And other things I may have missed (feel free to add if you see any) like HYPER-Z, FSAA...
Bugs
All open bugs assigned to Drivers/DRI/r300, Drivers/DRI/Radeon (also include common bugs for radeon/r200/r300/r600 drivers) or DRM/Radeon
- glean/exactRGBA: This error is bogus, we should ignore it.
- glean/paths: We should support polygon stippling in hardware.
- texturing/cubemap: The LOD calculation in hardware is somewhat incorrect, nothing we can do about it.


