Vixen
02b45cc4
csharp
public sealed class NullDevice

The graphics device with no GPU behind it.

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

Remarks

Two jobs, the same as Vixen.Platform.Headless's: it is what a dedicated server renders on, and it is what every RHI test runs against. Because the second happens on every build, the first is the most thoroughly exercised backend in the engine — docs/plan/05 calls that a pleasant consequence of the design rather than new work, and it is.

Resource creation genuinely does not allocate anything resource-shaped. A handle and its description, and nothing proportional to the size asked for — so a server that creates and destroys a 4K render target every frame stays flat. Handles are still generation-checked, so using one after destroying it is caught here rather than on a driver that would have crashed.

Fields and properties (11)

  • public CommandRecorder? Recorder

    The recorded command stream, or if recording is off.

  • 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 long FrameCount

    How many frames BeginFrame has started.

  • public int LiveResourceCount

    How many resources are alive, across every kind.

  • public static GraphicsDeviceFeatures Everything

    Everything a device could claim — what this one claims unless told otherwise.

  • public int DescriptorWrites

    How many descriptor writes this device has been given, over its whole life.

Methods (38)

Used by (94, showing 40)

  • FrameDocumentTestsThirdPersonShooter.Frame.Tests
  • AccelerationStructureTestsVixen.Graphics.Null.Tests
  • AlwaysCompilesVixen.Rendering.Tests
  • AlwaysCompilesVixen.Rendering.Tests
  • AlwaysCompilesVixen.Rendering.Tests
  • AlwaysCompilesVixen.Rendering.Tests
  • AssetTextureSourceTestsVixen.Engine.Renderer.Tests
  • AutoExposureTestsVixen.Rendering.PostFx.Tests
  • BindlessFrameTestsVixen.Rendering.Tests
  • BindlessSetLayoutTestsVixen.Shaders.Tests
  • BindlessTableTestsVixen.Graphics.Tests
  • BloomTestsVixen.Rendering.PostFx.Tests
  • BufferTransferTestsVixen.Rendering.Tests
  • ClusterRasterTestsVixen.Rendering.Tests
  • ClusterResolveTestsVixen.Rendering.Tests
  • ClusteredLightingTestsVixen.Rendering.Tests
  • CommandRecorderTestsVixen.Graphics.Null.Tests
  • CompilesVixen.Rendering.Tests
  • CompositorAssetTestsVixen.Rendering.Tests
  • DefaultFrameTestsVixen.Rendering.Tests
  • DepthPrepassTestsVixen.Rendering.Tests
  • DescriptorAllocatorTestsVixen.Graphics.Tests
  • DescriptorBindingTestsVixen.Rendering.Tests
  • DrawCompactionTestsVixen.Rendering.Tests
  • EffectCacheTestsVixen.Shaders.Tests
  • FixtureVixen.Rendering.Tests
  • FoliageCullPassTestsVixen.Rendering.Terrain.Tests
  • ForwardFrameTestsVixen.Rendering.Tests
  • ForwardLightingTestsVixen.Rendering.Tests
  • GeometryBufferTestsVixen.Rendering.Tests
  • GlobalDistanceFieldRendererTestsVixen.Rendering.Tests
  • GlobalDistanceFieldTextureTestsVixen.Rendering.Tests
  • GpuDrivenCompositorTestsVixen.Rendering.Tests
  • GpuVisibilityGroupTestsVixen.Rendering.Tests
  • GraphicsCompositorTestsVixen.Rendering.Tests
  • GrassDispatchTestsVixen.Rendering.Terrain.Tests
  • GrassDrawPassTestsVixen.Rendering.Terrain.Tests
  • ImpostorBakeTestsVixen.Rendering.Tests
  • ImpostorCapturePassTestsVixen.Rendering.Tests
  • IrradianceFieldTextureTestsVixen.Rendering.Tests