This test (RenderPassSubpassZeroTransitionsApplied) violates the following sentence of the spec:
Self-dependencies must only include pipeline stage bits that are graphics stages.
ALL_COMMANDS is not a graphics stage (or at least includes more than just graphics stages). Not to mention the created dependency includes all stages on both sides of the dependency which violates:
Self-dependencies must not have any earlier pipeline stages depend on any later pipeline stages. More precisely, this means that whatever is the last pipeline stage in srcStageMask must be no later than whatever is the first pipeline stage in dstStageMask (the latest source stage can be equal to the earliest destination stage).
This would also mean that ALL_GRAPHICS is not allowed because there is no way to make a sensible dependency with it.
Proposals for failing tests,
using a non-graphics stage in the masks like transfer or compute
using srcStageMask = Fragment and dst = Vertex (violating the order constraint)
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/tests/layer_validation_tests.cpp#L3135
This test (RenderPassSubpassZeroTransitionsApplied) violates the following sentence of the spec:
ALL_COMMANDS is not a graphics stage (or at least includes more than just graphics stages). Not to mention the created dependency includes all stages on both sides of the dependency which violates:
This would also mean that ALL_GRAPHICS is not allowed because there is no way to make a sensible dependency with it.
Proposals for failing tests,