Skip to content

mesa/st:remap high varyings slots + r600: disable texcoord semantics

Gert Wollny requested to merge gerddie/mesa:mesa-st-remap-varyings into master

When texcoord semantics is not supported by the driver the varying slots 23 to 31 will be mapped out of the range of the supported VARYING_SLOT_MAX, and amongst other problems that arise from this an according assertion in nir_gather_info is triggered.

Since without texcoord semantics the VARYING_SLOT_TEX0-7 and PNTC are not used, remap VARYING_SLOT_VAR23-31 to these slots to give the driver a chance to support and handle 32 varyings.

v2: I've added the patches to handle the varyings in r600 to show why I need this and how I used it. As commented below, I tried to enable texcoord semantics, but it broke all related to point coordinates, I'd rather not touch the state emmission code to fix this there, and I think the change to mesa/st could help other drivers that don't want or can enable texcoord semantics.

In r600 I tried to make this CAP switchable, so that when I can figure out how to change the state code, that I can re-enable the CAP.

(For tess to work it will need !4982 (merged) too)

/cc @robclark @cwabbott0

Edited by Gert Wollny

Merge request reports