Skip to content

gallium: rename TGSI caps

Erik Faye-Lund requested to merge kusma/mesa:caps-non-tgsi into main

Many Gallium caps have TGSI in their name without being TGSI specific. Here's patches to rename some of those, and update the documentation to reflect reality.

I've left the following somewhat unclear or questionable caps behind. They are probably not TGSI-specific in nature, but:

  • PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: Only used by a few drivers, and just disables some strictness in the GLSL compiler. The GLSL compiler has this comment to say about it: XXX Remove these as soon as a better solution is available.
  • PIPE_CAP_TGSI_TEXCOORD: This cap is effectively required for NIR drivers, so it will probably go away at some point.
  • PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: This is only used by the Nine frontend, and is of questionable value. Since Nine only supports TGSI shaders, this is kinda implicitly TGSI specific.
  • PIPE_CAP_TGSI_ATOMFADD: Only supported by two drivers (nouveau/nvc0 and softpipe), and is kinda under-documented. Enables NV_shader_atomic_float, which doesn't seem to be terribly popular.
  • PIPE_CAP_TGSI_ATOMINC_WRAP: Only supported by two drivers (nouveau/nvc0 and radeonsi) and is kinda under-documented. Enables EXT_shader_image_load_store.

The two last caps probably deserves to be cleaned up and given some more love, but I'll leave that for later, as this MR is big enough as it is now.

There's also these TGSI specific caps, which are still truly TGSI specific:

  • PIPE_CAP_TGSI_MUL_ZERO_WINS
  • PIPE_CAP_TGSI_TEX_TXF_LZ
  • PIPE_CAP_TGSI_SKIP_SHRINK_IO_ARRAYS
  • PIPE_CAP_TGSI_DIV
  • PIPE_CAP_TGSI_TG4_COMPONENT_IN_SWIZZLE
Edited by Erik Faye-Lund

Merge request reports