TGSI_ATTRIB_x tokens still present and used in a few places.
Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning
of inputs/outputs. These tokens are in a crude state ATM.
Lots of #if 0 / disabled code to be removed yet, etc...
Softpipe and i915 drivers should be in working condition but not heavily tested.
Drivers can now create whatever they want from the state template. We
use cso_state object to store the template (necessary during lookups),
and the driver data. Convert blend state to the new semantics.
This is a step toward removing TGSI_ATTRIB_ tokens.
Basically, when translating Mesa programs to TGSI programs, pass in input and
output register re-maps, plus interpolation info.
There's some known breakage (cubemap.c) so more to be done...
In mesa_to_tgsi.c, use TGSI_INTERPOLATE_PERSPECTIVE by default (to match
post-transform vertex info convention). More to be done there...
In sp_quad_fs.c, interpolate W in addition to Z. This fixes the divide
by zero happening in perspective_interpolation() tgsi_exec.c
As it was, we were only getting perspective correction of texture coords
used by the TGSI_TEX instruction since it does a homogeneous divide.
Other coords/varyings were incorrect.
Replacing mesa's main hash with one that handles collisions, moving state_tracker
related caching to the state tracker to keep cso cache independent of it. Cleanups.
We want our state objects to be immutable, handled via the
create/bind/delete calls instead of struct propagation.
Only implementing the blend state to see how it would look like
and work.
Not quite finished yet.
Selection/feedback are done with a private instance of the 'draw' module
in the state tracker. Not quite all the draw context's state is set yet,
namely vertex format info. Hold off on that for a bit...
Correctly clear the pointer to the old buffer (not sure how this could build at
all before...) and only reference the new one when its pointer is non-NULL.
This replaces the temporary occlusion counter functions we had before.
Added new ctx->Driver.WaitQuery() function which should block until the result is ready.
Sketch out some code for vertex transformation feedback counters.