public static class VulkanDiagnosticsEverything the validation layers have said, so that a test can assert they said nothing.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Validation-clean-in-debug is a stated non-negotiable ([00](../../docs/plan/00-vision-and-principles.md)), and a warning printed to the console is not a gate — it is a thing that scrolls past. This exists so the test suite can fail on one.
Written to by the debug-messenger callback, which Vulkan invokes on whatever thread hit the problem, so it is a concurrent collection rather than a list with a lock: the callback runs inside a driver call and blocking there is a good way to turn a warning into a deadlock.
Process-wide static, deliberately. The callback Vulkan holds is a bare function pointer with no room for a this, and the alternative — a pinned per-instance context — buys nothing when the question being asked is "did anything at all complain during this test".
Fields and properties (4)
public const int CapacityHow many messages to keep before dropping them.
public static int ErrorCountHow many errors the layers have reported.
public static int WarningCountHow many warnings the layers have reported.
public static IReadOnlyCollection<string> MessagesWhat they said, up to Capacity messages.
Methods (1)
public static void Reset()Forgets everything, so that a test can attribute what follows to itself.
Used by (32)
- AccelerationStructureDeviceTestsVixen.Graphics.Golden.Tests
- BindlessSamplingDeviceTestsVixen.Graphics.Golden.Tests
- BindlessTableDeviceTestsVixen.Graphics.Golden.Tests
- BufferTransferDeviceTestsVixen.Graphics.Golden.Tests
- ClusterCullingDeviceTestsVixen.Graphics.Golden.Tests
- FixtureVixen.Graphics.Golden.Tests
- IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
- IrradianceCaptureDeviceTestsVixen.Graphics.Golden.Tests
- IrradianceFillDeviceTestsVixen.Graphics.Golden.Tests
- IrradianceRepairDeviceTestsVixen.Graphics.Golden.Tests
- ReflectionRendererDeviceTestsVixen.Graphics.Golden.Tests
- ReflectionTraceDeviceTestsVixen.Graphics.Golden.Tests
- ScreenProbeAccumulateDeviceTestsVixen.Graphics.Golden.Tests
- ScreenProbeBilateralImageTestsVixen.Graphics.Golden.Tests
- ScreenProbeResolveDeviceTestsVixen.Graphics.Golden.Tests
- ScreenProbeTraceDeviceTestsVixen.Graphics.Golden.Tests
- ScreenProbeUpsampleImageTestsVixen.Graphics.Golden.Tests
- ScreenPyramidDeviceTestsVixen.Graphics.Golden.Tests
- ShaderRunVixen.Raven.Gpu.Tests
- SurfaceCacheRadiosityDeviceTestsVixen.Graphics.Golden.Tests
- SurfaceCacheRendererDeviceTestsVixen.Graphics.Golden.Tests
- SurfaceCardCaptureDeviceTestsVixen.Graphics.Golden.Tests
- UiFrameLifetimeTestsVixen.Graphics.Golden.Tests
- ValidationCleanTestsVixen.Graphics.Vulkan.Tests
- VfxAgreementTestsVixen.Vfx.Gpu.Tests
- VfxReapTestsVixen.Vfx.Gpu.Tests
- VfxSortTestsVixen.Vfx.Gpu.Tests
- ViewCullingDeviceTestsVixen.Graphics.Golden.Tests
- VulkanComputeTestsVixen.Graphics.Vulkan.Tests
- VulkanDrawTestsVixen.Graphics.Vulkan.Tests
- VulkanInstanceVixen.Graphics.Vulkan
- VulkanPipelineTestsVixen.Graphics.Vulkan.Tests