R600 NIR doesn't work correctly with array shader ouputs
I am testing Blender with the new NIR path for the R600 driver on an AMD HD5450 with the latest mesa master. When antialiasing is enabled, the viewport is rendered incorrectly. When debugging the issue, I hit the assert in VertexStageExportForFS::emit_varying_param
. The shader in question is workbench_effect_smaa_vert.glsl
which is indeed related to antialiasing. The number of outputs is 3, while the driver_location
is 4. The instruction is:
intrinsic store_output (ssa_79, ssa_63) (4, 3, 0, 160, 163) /* base=4 */ /* wrmask=xy */ /* component=0 */ /* src_type=float32 */ /* location=35 slots=1 */
My guess is that array shader outputs are not handled correctly. Let me know if you need more information.