Files
Juliet/Romeo/docs/Juliet_src_Graphics_D3D12_D3D12Synchronization.md

1.6 KiB

Juliet\src\Graphics\D3D12\D3D12Synchronization

Source Files

  • Header: Juliet\src\Graphics\D3D12\D3D12Synchronization.h
  • Source: Juliet\src\Graphics\D3D12\D3D12Synchronization.cpp

AI Description

This C++ component provides synchronization primitives for managing GPU operations in a DirectX 12 environment. It includes functions to wait until the GPU is idle, wait for multiple fences, query fence values, and release fences. The implementation uses a pool of available fences to efficiently manage resources and ensure that commands are executed on the correct GPU.

Symbols

Namespace Juliet::D3D12

Classes, Structs & Unions

  • struct D3D12Fence

Functions & Methods

  • extern bool WaitUntilGPUIsIdle(NonNullPtr<GPUDriver> driver)
  • extern bool Wait(NonNullPtr<GPUDriver> driver, bool waitForAll, Fence* const* fences, uint32 numFences JULIET_DEBUG_PARAM(String querier))
  • extern bool QueryFence(NonNullPtr<GPUDriver> driver, NonNullPtr<Fence> fence)
  • extern void ReleaseFence(NonNullPtr<GPUDriver> driver, NonNullPtr<Fence> fence JULIET_DEBUG_PARAM(String querier))

Namespace Juliet::D3D12::Internal

Functions & Methods

  • extern void ResourceBarrier(NonNullPtr<D3D12CommandList> commandList, D3D12_RESOURCE_STATES sourceState, D3D12_RESOURCE_STATES destinationState, ID3D12Resource* resource, uint32 subresourceIndex, bool needsUavBarrier)
  • extern D3D12Fence* AcquireFence(NonNullPtr<D3D12Driver> driver JULIET_DEBUG_PARAM(String querier))
  • extern void DestroyFence(NonNullPtr<D3D12Fence> fence)