panfrost: implement line-smoothing support
This implements line-smoothing on Panfrost.
There's two sharp corners here:
- We need to immediately lower away the
load_poly_line_smooth_enabled
-intrinsic, because we already know at lowering-time if we want this or not. - We need to whack some state in the RSD right before draw on v7 and older, because we need to know the primitive type. This means some bespoke patching, unfortunately.
I don't think either of these are too bad to live with, but I'm open to ideas on how to improve it!
I've tested this on v6, v7 and v10 (extra patch needed there, because !26358 (merged) hasn't landed yet).
Closes: #10281 (closed)