Skip to content

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.

Edited by Vasily Khoruzhick

Merge request reports