polygon-mode differences
Vulkan doesn't support having different fill-modes for front- and back-faces. And it's not obvious how to emulate this without submitting each primitive as a separate draw (which doesn't work in all cases, I think... Need to read up on the GL spec here, I think).
Another detail to note is that polygon-mode doesn't currently work for quads, as they are lowered to triangles too early to tell the differences. Perhaps we need to implement something like edge-flags to mask the inner lines out?
Another approach is to use a geometry-shader for this instead. That still has the draw-order issue, but it's worth thinking about.
Most GL capable hardware can do this, though. So perhaps we can define a vulkan-extension to specify this?
That being said, draws on vulkan can be pretty cheap, so perhaps the fallback of drawing each primitive as a separate draw isn't that bad? Can we ignore tesselation and geometry shaders in this case?