lima: assorted fixes for mesa-shader-db
What does this MR do and why?
lima: ppir: always use vec4 for output register
gl_FragDepth is a float, but the hardware still uses a vec4 register, .x component for depth and another component for stencil, so we have to always allocate a vec4 for output.
lima: ppir: use dummy program if FS has empty body
As per spec, any colors, or color components, associated with a fragment that are not written by the fragment shader are undefined.
So we might as well just write vec4(1.0) to output, since HW doesn't allow us to have an empty FS.
lima: gpir: abort compilation if load_uniform instrinsic src isn't const
GP supports indirect indexing of uniforms, but it's never been implemented in GPIR, so just abort compilation instead of crashing an app with assertion failure.