gallium: Cleanup predicate and condition code TGSI tokens.
authorMichal Krol <michal@vmware.com>
Sat, 31 Oct 2009 09:09:26 +0000 (09:09 +0000)
committerMichal Krol <michal@vmware.com>
Mon, 2 Nov 2009 09:44:18 +0000 (09:44 +0000)
commit0a7d50ed7e7608eaccba8e9648685e740065c384
tree8525d690d38b8ec4c71573173ced3666584859a2
parenteb699d64ec7057032139baccedcb0694ca41d706
gallium: Cleanup predicate and condition code TGSI tokens.

There is little point in having a special TGSI token just to handle
predicate register updates. Remove tgsi_dst_register_ext_predicate token
and instead use a new PREDICATE register file to update predicates.
Actually, the contents of the obsolete token are being moved
to tgsi_instruction_ext_predicate, where they should be
from the very beginning.

Remove the NVIDIA-specific condition code tokens -- nobody uses them
and they can be emulated with predicates if needed.

Introduce PIPE_CAP_SM3 that indicates whether a driver supports
SM3-level instructions, and in particular predicates.

Add PIPE_CAP_MAX_PREDICATE_REGISTERS that can be used to query the driver
how many predicate registers it supports (currently it would be 1).
src/gallium/include/pipe/p_defines.h
src/gallium/include/pipe/p_shader_tokens.h