I imagine we instead get validation layer errors from this with the Vulkan backend?
Vulkan has no problems running with no fragment shader, the only validation layer errors I'm getting are about not properly respecting values reported by `VkMemoryRequirements::alignment`.
I would have expected a fragment shader to be required unless "rasterizerDiscardEnable" was enabled, but it looks like it's indeed not. However, the spec does say this: "If a fragment shader is omitted, fragment color outputs have undefined values, and the fragment depth value is unmodified." That may match d3d11 (would have to look that up), but it's not quite the same as the behaviour expected by the test.
In any case, it shouldn't be too hard to fix GL, just link in an essentially empty fragment shader. That doesn't need to be in this MR, and I could look into it myself if you prefer, but it may be something nice and small to fix.
+ /* Need to restart render pass or the clear won't happen. */ + context_invalidate_state(context, STATE_FRAMEBUFFER);
So why are we invalidating STATE_FRAMEBUFFER instead of calling wined3d_context_vk_end_current_render_pass()? :) (Sure, it'll have the same effect; there's a conceptual difference though.)