Vixen
02b45cc4
csharp
public sealed class VulkanDevice

The Vulkan logical device: everything the RHI can do, done.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Handles index tables this object owns. Nothing here is finalisable and nothing is reference-counted by the collector: a GPU object's lifetime belongs to the renderer, and destruction is deferred by FramesInFlight frames so that a resource released while the GPU is still reading it stays alive until it is not.

Recording is thread-safe; creation and destruction are serialised by a lock. That split is deliberate — command recording is the hot path a renderer parallelises, and resource creation is not.

Fields and properties (9)

  • public IGraphicsAdapter Adapter

    The adapter this device runs on.

  • public GraphicsDeviceFeatures Features

    What it can do.

  • public ICommandSubmitter GraphicsQueue

    The queue that can do everything.

  • public ICommandSubmitter ComputeQueue

    The compute queue, which is GraphicsQueue where the hardware has only one.

  • public ICommandSubmitter TransferQueue

    The transfer queue, which is GraphicsQueue where the hardware has only one.

  • public int FramesInFlight

    How many frames may be recorded before the first has to have finished.

  • public bool ValidationEnabled

    Whether the validation layers are watching this device.

  • public VulkanNativeHandles NativeHandles

    The raw objects something sharing this device needs.

  • public bool UsesDynamicRendering

    Whether rendering goes through VK_KHR_dynamic_rendering rather than a pass object.

Methods (39)

Used by (63, showing 40)

  • PbrShowcaseGamePbrShowcase
  • TriangleGameHelloTriangle
  • UiHostHelloUi
  • VideoGameVideoPlayback
  • VirtualGeometryGameVirtualGeometry
  • AccelerationStructureDeviceTestsVixen.Graphics.Golden.Tests
  • BindlessSamplingDeviceTestsVixen.Graphics.Golden.Tests
  • BindlessTableDeviceTestsVixen.Graphics.Golden.Tests
  • BufferTransferDeviceTestsVixen.Graphics.Golden.Tests
  • ChainVixen.Graphics.Golden.Tests
  • ClusterCullingDeviceTestsVixen.Graphics.Golden.Tests
  • ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
  • CompilerVixen.Graphics.Golden.Tests
  • CompositorImageTestsVixen.Graphics.Golden.Tests
  • DistanceFieldAoImageTestsVixen.Graphics.Golden.Tests
  • EditorGizmoFacingDeviceTestsVixen.Graphics.Golden.Tests
  • FixtureVixen.Graphics.Golden.Tests
  • FlatVixen.Graphics.Golden.Tests
  • IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
  • IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceCaptureDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceFillDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceRepairDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
  • ParticleSpriteDeviceTestsVixen.Graphics.Golden.Tests
  • PipelineStateImageTestsVixen.Graphics.Golden.Tests
  • ReflectionRendererDeviceTestsVixen.Graphics.Golden.Tests
  • ReflectionTraceDeviceTestsVixen.Graphics.Golden.Tests
  • RenderPassCacheVixen.Graphics.Vulkan
  • SceneVixen.Graphics.Golden.Tests
  • ScreenProbeAccumulateDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeBilateralImageTestsVixen.Graphics.Golden.Tests
  • ScreenProbeGatherImageTestsVixen.Graphics.Golden.Tests
  • ScreenProbeResolveDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeTraceDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeUpsampleImageTestsVixen.Graphics.Golden.Tests
  • ScreenPyramidDeviceTestsVixen.Graphics.Golden.Tests
  • ShaderRunVixen.Raven.Gpu.Tests
  • ShadowedVixen.Graphics.Golden.Tests
  • SurfaceCacheRadiosityDeviceTestsVixen.Graphics.Golden.Tests