Skip to content

tgsi_to_nir: Always use a NIR system value for front facing.

Kenneth Graunke requested to merge kwg/mesa:ttn-frontface into master

NIR always treats gl_FrontFacing as a boolean system value. In GLSL IR, we sometimes make it an input, and sometimes a system value, but either way, glsl_to_nir turns it into a system value. So, tgsi_to_nir should not be generating NIR with input variables.

PIPE_CAP_TGSI_FS_FACE_IS_INTEGER_SYSVAL controls whether TGSI treats it as a system value and expects reads to return an integer vector, or if it treats it as an input and expects reads to return a float vector.

With this patch, in either case, we load a NIR system value, and produce the floating point or integer vector as required by the capability bit.

Merge request reports