From Tungsten Graphics
Gallium3D TODO list
Driver interface
- Add an extension/errata mechanism to the Gallium driver interface.
- Occlusion query support in the interface and softpipe.
- Make p_winsys more independent of p_context
- support allocating/freeing surfaces without a context
- surfaces -- remove _quad_* interfaces in favour of the tile interfaces.
- surfaces -- make tiles a fixed size
State tracker
- Flesh out pixel path operations
- Flesh out operations that might require blits, figure out whether we can drop blit support altogether, or perhaps treat the blitter as a piece of extended hardware functionality, present in some devices but optional overall.
TGSI
- LLVM backend, initial target CPU acceleration of vertex shaders
- Finish conditional support in interpreter.
i915simple / intel_winsys
- Allocate tiled backbuffers
- Allocate/use indirect state buffers
- Fallbacks using the failover module.
- Advertise extensions/unsupported functionality correctly.
- Advertise a full list of supported render/texture/scanout buffer formats.
- Use softpipe/sp_prim_vbuf.c mechanism to build proper vertex buffers.
- Make sure performance can match the mainline driver.
Softpipe
- Create tile-based render caches instead of direct _quad_* reads/writes
- Combine the multiple color, z reads/writes.
- Restore early-z functionality.
- Architectural-level performance tuning (as opposed to tweaking)