03:47 mareko: Venemo: I'm gonna add the per-vertex and explicit interpolation into nir_opt_varyings if you haven't started working on it
04:00 mareko: Venemo: INTERP_MODE_EXPLICIT needs separate slots for FP32 and FP16, but per_vertex can mix FP32 and FP16 in the same slot, right?
10:01 Venemo: mareko: to the first question: it enables early primitive export when the shader only has 1 block
10:02 Venemo: mareko: to the second question, it seems that EXPLICIT and per_vertex can't be mixed with each other or with other variable types
10:03 Venemo: I am unsure about mixing fp16 and fp32. but considering that both of these are different ways to do custom interpolation, I would assume they can be mixed
10:05 Venemo: mareko: the main problem is that currently NIR can't distinguish between them. my plan was to add a separate intrinsic for per_vertex
10:10 Venemo: I can get back to this topic in a few days at the soonest
14:33 mareko: Venemo: IMO vec4 slots can mix different types of per_vertex inputs because the VS outputs are loaded in PS as-is, while "explicit" interpolation computes deltas between vertices, which requires whole vec4 slots to be either FP32 or FP16
15:22 mareko: Venemo: actually it's different, both explicit and per_vertex are pretty much identical, the only difference is that RADV implements per_vertex by forcing the provoking vertex to be in P0, while explicit allows any vertex order in P0, P1, P2
15:24 mareko: so the only difference between the two is where the provoking vertex ends up
15:25 mareko: it's a silly difference and not functionally significant if you are not doing flat shading with that
15:26 mareko: it would be correct to upgrade explicit to per_vertex unconditionally
15:50 mareko: Venemo: we should give them better names than "explicit" and "per_vertex", such as "explicit_random_order" and "explicit_strict_order"
20:06 Venemo: mareko: I tried to always set ROTATE_PC_PTR for EXPLICIT but that broke some tests, so I think it'd be better to keep them separate for now
20:06 Venemo: mareko: I agree about giving better names to the intrinsics
20:07 Venemo: the current name is pretty stupid