3d30cc82f9
The ALU-based implementation of the barycentric interpolation intrinsics introduced by a subsequent commit will require some primitive setup information not delivered in the PS thread payload unless explicitly requested: - "Source Depth and/or W Attribute Vertex Deltas" if a perspective-correct interpolation mode is used -- Note that this is already requested for CPS interpolation, we just need to enable it in more cases. - "Perspective Bary Planes" if a perspective-correct interpolation mode is used. - "Non-Perspective Bary Planes" if a non-perspective-corrected interpolation mode is used. - "Sample offsets" if any at_sample interpolation is used so the coordinate offsets of the sample can be calculated. This ALU implementation of barycentric interpolation will only be needed for *_at_offset and *_at_sample interpolation, since the fixed function hardware still computes barycentrics for us at the current sample coordinates, only the cases that previously relied on the Pixel Interpolator shared function need to be re-implemented with ALU instructions, since that shared function will no longer exist on Xe2 hardware. Thanks to Rohan for a bugfix of the uses_sample_offsets calculation, this patch includes his fix squashed in. Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29847>