> I can't really use a routing table state to produce a cso, because the hw
> routing table I generate depends on rasterizer state, e.g. I must not
> put in back face colour (we have a 2 to 1 mapping here) if twoside
> is disabled.
>
> Also, I'm routing based on the scalar *components* the FP reads,
> not whole TGSI pseudo vec4 registers (NUM_INTERPOLATORS will
> thus be inaccurate) - set_routing_table will have to pass me the
> respective programs too.
> Well, I can still use the cso and insert it into the rest of the routing
> table that still need to be assembled on the fly, I did that before the
> 1:1 mapping between FP and VP regs was removed.

You are right, the routing table CSO needs to contain the fragment and
vertex shader handles, and ideally light_twoside should be moved to
the vertex->fragment routing table since it is really an attribute of
that and not polygon rasterization/setup.

You can then just look at your internal data structure and construct a
scalar routing table from the vec4 one provided by Gallium.

We could also, as a further extension, support scalar routing tables
directly in Gallium.
Note however that radeon hardware presumably only supports vector
ones, so we would need all 3 options with caps.
A further intermediate step could be vector routing tables with swizzling.

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to