Skip to content

ir3: Disallow `noperspective` texture preloads

Mark Collins requested to merge PixelyIon/mesa:fix-nopersp into main

The coord_offset pass is responsible for upgrading any eligible texture loads into prefetches, but a texture prefetch's capabilities are limited and cannot handle any interpolation modes aside from smooth.

An exception is carved out for flat interpolation modes, but this doesn't exclude upgrading noperspective texture loads and results in perspective-corrected samples being provided that can severely break applications depending on this behaviour.

Fixes incorrect lighting projection on Super Mario Odyssey on Skyline Emulator.

Before: SMO Broken

After: SMO Fixed

Merge request reports