<div dir="ltr">Hi guys,<div><br></div><div>I'm rebasing the mesa-lima code from 17.3 to 18.0 and found the NIR changes</div><div>in 18.0 will always do nir_lower_io_to_scalar_early() for the output of vertex</div><div>shader and input of fragment shader. My first question is:</div><div>Is it for the link time optimization that we can drop un-used channel in a slot</div><div>and merge channels in different slots to one slot if possible?</div><div><br></div><div>Mali4xx GPU has different processor for vertex shader (GP) and fragment</div><div>shader (PP). Scalar is OK for GP, but PP more like vec ops. So this scalar</div><div>change make PP not comfortable. I like the link time optimization, so don't</div><div>want to just disable it. My second question is:</div><div>Is there any NIR helper that I can use to merge scalar input to vector again?</div><div>Or what's the right way to make the scalar input vector again?</div><div><br></div><div>I see master mesa branch will further do nir_lower_alu_to_scalar</div><div>for all nir which will get more pain for mali PP, so my third question is:</div><div>How other vec GPU solve this problem or anyway to disable it?</div><div><br></div><div>Thanks,</div><div>Qiang</div></div>