Skip to content

intel/xe2+: Implement ALU-based pixel interpolation.

Francisco Jerez requested to merge currojerez/mesa:xe2-alu-pixel-interp into main

This series replaces our previous implementation of barycentric interpolation that used to rely on the Pixel Interpolator shared function, since the pixel interpolator is no longer present on Xe2+ hardware. Instead barycentric interpolation at an offset from the fragment coordinates (i.e. the *_at_offset and *_at_sample interpolation intrinsics) is now implemented manually in the shader.

This isn't particularly optimized beyond using the accumulator for the linear interpolation operations, a good chunk of assembly instructions is required per intrinsic, but that doesn't seem like much of a concern right now since these offset interpolation intrinsics are rare in real applications (interpolation at the current sample coordinates is of course still handled by the hardware).

Merge request reports