- Add code to validate textures before use.
- Simplify vertex paths for now.
- Make vertex paths validate textures. This is done pretty
with some pretty heavy-handed use of the dri lock - fixing this is
a priority.
- Add lots of debug statements
demos/texobj renders, but textures are incorrect.
Add another layer on top of the simple 2d regions in intel_regions.[ch]
which keeps track of a whole, well-defined mipmap tree. These are a
fixed layout on intel hardware and managing them is complicated in the
face of GL's TexImage function calls where data can arrive in any order,
making it difficult to guess a layout ahead of time.
Wrapping mipmap trees up in a struct and programming interface like this
reduces the burden elsewhere.
Add a faked-out implementation of the buffer manager that uses the same
techniques as the old dri memory manager behind the new interface. Will
use this to port the i915 driver to this interface to hopefully get
some easy insights from using the interface.
Lots of changes, and fixes for some badness on my behalf.
1. Disposable data used during fp compile is now per-context,
rather than per-program to save memory.
2. Track usage of INPUT/TEMP registers from Mesa program, free
them when no longer required so the hw temps can be re-used.
3. Changed LAST_NODE to OUTPUT_COLOR (see r300_reg.h)
4. Implemented remaining ARB_f_p instructions, with the exception
of the trig/LIT opcodes.
5. Treat ZERO/ONE swizzles the same way as other native swizzles.
6. emit_arith changes, basically a complete re-write. Should
produce cleaner instructions, but no real functional changes.
internal reg -> hw reg routines shared with emit_tex. A bit
messy still.
cube maps on r100 require newer drm than the same feature on r200 (regression from introducing unfied initialization). Fix wrong (so far unused) family assignment for r100 cards.