Class D3D12PlaybackSupport
Defined in File d3d12-playback-support.h
Nested Relationships
Nested Types
Class Documentation
-
class D3D12PlaybackSupport
Public Functions
-
D3D12PlaybackSupport()
-
~D3D12PlaybackSupport()
-
void TranslateD3D12GPUVirtualAddress(D3D12_GPU_VIRTUAL_ADDRESS &address)
-
void TranslateD3D12CPUDescriptorHandle(D3D12_CPU_DESCRIPTOR_HANDLE &address)
-
void TranslateD3D12GPUDescriptorHandle(D3D12_GPU_DESCRIPTOR_HANDLE &address)
-
void OnGetGPUVirtualAddress(ID3D12Resource *resource, uint64_t captureTimeValue, GPADispatchTable const *&table)
-
void OnCreateOrAddToStateObject(ID3D12StateObject *stateObject, D3D12_STATE_OBJECT_DESC const *pDesc, ID3D12StateObject *stateObjectToGrowFrom)
-
void OnGetShaderIdentifier(ID3D12StateObjectProperties *properties, LPCWSTR pExportName, void *captureTimeIdentifier, GPADispatchTable const *&table)
-
std::map<gpa::utility::directx::D3D12ShaderIdentifier, gpa::utility::directx::D3D12ShaderIdentifier> const &GetReverseShaderMapping(ID3D12StateObject *stateObj)
-
void ApplySubcaptureReverseShaderMapping(ID3D12StateObject *stateObject, std::map<gpa::utility::directx::D3D12ShaderIdentifier, gpa::utility::directx::D3D12ShaderIdentifier> const &revMapping)
-
void OnPreCreateDescriptorHeap(uint64_t captureDeviceKey)
-
void OnPostCreateDescriptorHeap(ID3D12DescriptorHeap *heap)
-
void OnGetDescriptorHandleIncrementSize(uint64_t captureDeviceKey, D3D12_DESCRIPTOR_HEAP_TYPE descriptorHeapType, uint32_t captureIncrementSize)
-
void OnGetCPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap *heap, D3D12_CPU_DESCRIPTOR_HANDLE *captureTimeValue, GPADispatchTable const *&table)
-
void OnGetGPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap *heap, D3D12_GPU_DESCRIPTOR_HANDLE *captureTimeValue, GPADispatchTable const *&table)
-
std::map<uint64_t, D3D12_GPU_VIRTUAL_ADDRESS_RANGE> &GetGpuVirtualAddressMap()
-
uint64_t GetGpuVirtualAddressMapUpdateTimestamp()
-
utility::directx::D3D12ShaderIdentifier const *GetCaptureD3D12ShaderIdentifier(utility::directx::D3D12ShaderIdentifier const &playbackIdentifier, ID3D12StateObject *stateObj) const
-
std::map<uint64_t, DescriptorHeapDataDX12*> &GetDescriptorHeapByCaptureAddressMap()
-
uint64_t GetDescriptorHeapByCaptureAddressMapUpdateTimestamp()
-
std::vector<DescriptorHeapDataDX12*> &GetDescriptorHeapByIndexVec()
-
void EnumerateKnownStateObjects(std::function<void(ID3D12StateObject*)> callback)
-
std::map<ID3D12DescriptorHeap*, uint64_t> &GetCaptureDeviceKeyByHeap()
-
std::map<std::pair<uint64_t, D3D12_DESCRIPTOR_HEAP_TYPE>, uint32_t> &GetCaptureDescriptorIncrementSizeByHeapTypeMap()
-
void Clear()
-
void RegisterRaytracingArgumentsNotifier(raytracing::directx::RaytracingArgumentsNotifier *notifier)
-
raytracing::directx::RaytracingArgumentsNotifier *GetRegisteredRaytracingArgumentsNotifier()
-
void UnregisterRaytracingArgumentsNotifier()
-
bool UseOldRaytracingPatching() const
-
void EnableOldRaytracingPatching()
-
bool PrintPlaybackSizeMismatchMessages() const
-
void MutePlaybackSizeMismatchMessages()
-
bool UseAccelerationStructureReplacements() const
-
void EnableAccelerationStructureReplacements()
-
void RegisterAccelerationStructureReplacement(D3D12_GPU_VIRTUAL_ADDRESS org, D3D12_GPU_VIRTUAL_ADDRESS replacement)
-
void UnregisterAccelerationStructureReplacement(D3D12_GPU_VIRTUAL_ADDRESS org)
-
void TranslateD3D12GPUVirtualAddressSkipASReplacement(D3D12_GPU_VIRTUAL_ADDRESS &address)
-
std::map<D3D12_GPU_VIRTUAL_ADDRESS, D3D12_GPU_VIRTUAL_ADDRESS> const &GetGpuVirtualAddressASReplacementMap() const
-
uint64_t GetGpuVirtualAddressASReplacementMapUpdateTimestamp() const
-
cross_gpu::playback::D3D12ResourcePlacementManager *GetOrCreateResourcePlacementManager(cross_gpu::TObjectKey deviceKey)
-
cross_gpu::playback::D3D12AccelerationStructurePlacementManager *GetAccelerationStructurePlacementManager()
Public Static Functions
-
static bool TranslateD3D12ShaderIdentifier(utility::directx::D3D12ShaderIdentifier &identifier, ID3D12StateObject *stateObj, std::wstring const **ppExportName)
-
static void EnumerateKnownShaderMapping(ID3D12StateObject *stateObject, std::function<void(gpa::utility::directx::D3D12ShaderIdentifier captureTime, gpa::utility::directx::D3D12ShaderIdentifier playbackTime, std::wstring const *exportName)> cb)
-
static size_t GetKnownShaderMappingCount(ID3D12StateObject *stateObject)
-
static uint64_t GetLastMappingUpdateTimestamp(ID3D12StateObject *stateObj)
-
static void OnGetShaderIdentifier(ID3D12StateObject *stateObject, ID3D12StateObjectProperties *properties, LPCWSTR pExportName, void *captureTimeIdentifier, GPADispatchTable const *&table)
-
struct DescriptorHeapDataDX12
Public Members
-
uint32_t uniqueSequentialID = 0
-
uint32_t incrementSize = 0
-
uint32_t captureIncrementSize = 0
-
D3D12_DESCRIPTOR_HEAP_TYPE descriptorHeapType = D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
-
D3D12_CPU_DESCRIPTOR_HANDLE cpuHandle = {}
-
D3D12_GPU_DESCRIPTOR_HANDLE gpuHandle = {}
-
ID3D12DescriptorHeap *heap = nullptr
-
uint32_t uniqueSequentialID = 0
-
D3D12PlaybackSupport()