diff --git a/renderdoc/driver/d3d12/d3d12_common.h b/renderdoc/driver/d3d12/d3d12_common.h index 79b535a41..436741baf 100644 --- a/renderdoc/driver/d3d12/d3d12_common.h +++ b/renderdoc/driver/d3d12/d3d12_common.h @@ -362,131 +362,91 @@ struct D3D12Descriptor; template <> void Serialiser::Serialise(const char *name, D3D12Descriptor &el); -#pragma region Chunks - -#define D3D12_CHUNKS \ - D3D12_CHUNK_MACRO(DEVICE_INIT = FIRST_CHUNK_ID, "ID3D12Device::Initialisation") \ - D3D12_CHUNK_MACRO(SET_RESOURCE_NAME, "ID3D12Object::SetName") \ - D3D12_CHUNK_MACRO(RELEASE_RESOURCE, "IUnknown::Release") \ - D3D12_CHUNK_MACRO(CREATE_SWAP_BUFFER, "IDXGISwapChain::GetBuffer") \ - \ - D3D12_CHUNK_MACRO(CAPTURE_SCOPE, "Capture") \ - \ - D3D12_CHUNK_MACRO(BEGIN_EVENT, "BeginEvent") \ - D3D12_CHUNK_MACRO(SET_MARKER, "SetMarker") \ - D3D12_CHUNK_MACRO(END_EVENT, "EndEvent") \ - \ - D3D12_CHUNK_MACRO(DEBUG_MESSAGES, "DebugMessageList") \ - \ - D3D12_CHUNK_MACRO(CONTEXT_CAPTURE_HEADER, "ContextBegin") \ - D3D12_CHUNK_MACRO(CONTEXT_CAPTURE_FOOTER, "ContextEnd") \ - \ - D3D12_CHUNK_MACRO(SET_SHADER_DEBUG_PATH, "SetShaderDebugPath") \ - \ - D3D12_CHUNK_MACRO(CREATE_COMMAND_QUEUE, "ID3D12Device::CreateCommandQueue") \ - D3D12_CHUNK_MACRO(CREATE_COMMAND_ALLOCATOR, "ID3D12Device::CreateCommandAllocator") \ - \ - D3D12_CHUNK_MACRO(CREATE_GRAPHICS_PIPE, "ID3D12Device::CreateGraphicsPipeline") \ - D3D12_CHUNK_MACRO(CREATE_COMPUTE_PIPE, "ID3D12Device::CreateComputePipeline") \ - D3D12_CHUNK_MACRO(CREATE_DESCRIPTOR_HEAP, "ID3D12Device::CreateDescriptorHeap") \ - D3D12_CHUNK_MACRO(CREATE_ROOT_SIG, "ID3D12Device::CreateRootSignature") \ - D3D12_CHUNK_MACRO(CREATE_COMMAND_SIG, "ID3D12Device::CreateCommandSignature") \ - \ - D3D12_CHUNK_MACRO(CREATE_HEAP, "ID3D12Device::CreateHeap") \ - D3D12_CHUNK_MACRO(CREATE_COMMITTED_RESOURCE, "ID3D12Device::CreateCommittedResource") \ - D3D12_CHUNK_MACRO(CREATE_PLACED_RESOURCE, "ID3D12Device::CreatePlacedResource") \ - \ - D3D12_CHUNK_MACRO(CREATE_QUERY_HEAP, "ID3D12Device::CreateQueryHeap") \ - D3D12_CHUNK_MACRO(CREATE_FENCE, "ID3D12Device::CreateFence") \ - \ - D3D12_CHUNK_MACRO(CLOSE_LIST, "ID3D12GraphicsCommandList::Close") \ - D3D12_CHUNK_MACRO(RESET_LIST, "ID3D12GraphicsCommandList::Reset") \ - \ - D3D12_CHUNK_MACRO(RESOURCE_BARRIER, "ID3D12GraphicsCommandList::ResourceBarrier") \ - \ - D3D12_CHUNK_MACRO(MAP_DATA_WRITE, "ID3D12Resource::Unmap") \ - D3D12_CHUNK_MACRO(WRITE_TO_SUB, "ID3D12Resource::WriteToSubresource") \ - \ - D3D12_CHUNK_MACRO(BEGIN_QUERY, "ID3D12GraphicsCommandList::BeginQuery") \ - D3D12_CHUNK_MACRO(END_QUERY, "ID3D12GraphicsCommandList::EndQuery") \ - D3D12_CHUNK_MACRO(RESOLVE_QUERY, "ID3D12GraphicsCommandList::ResolveQueryData") \ - D3D12_CHUNK_MACRO(SET_PREDICATION, "ID3D12GraphicsCommandList::SetPredication") \ - \ - D3D12_CHUNK_MACRO(DRAW_INDEXED_INST, "ID3D12GraphicsCommandList::DrawIndexedInstanced") \ - D3D12_CHUNK_MACRO(DRAW_INST, "ID3D12GraphicsCommandList::DrawInstanced") \ - D3D12_CHUNK_MACRO(DISPATCH, "ID3D12GraphicsCommandList::Dispatch") \ - D3D12_CHUNK_MACRO(EXEC_INDIRECT, "ID3D12GraphicsCommandList::ExecuteIndirect") \ - D3D12_CHUNK_MACRO(EXEC_BUNDLE, "ID3D12GraphicsCommandList::ExecuteBundle") \ - \ - D3D12_CHUNK_MACRO(COPY_BUFFER, "ID3D12GraphicsCommandList::CopyBufferRegion") \ - D3D12_CHUNK_MACRO(COPY_TEXTURE, "ID3D12GraphicsCommandList::CopyTextureRegion") \ - D3D12_CHUNK_MACRO(COPY_RESOURCE, "ID3D12GraphicsCommandList::CopyResource") \ - D3D12_CHUNK_MACRO(RESOLVE_SUBRESOURCE, "ID3D12GraphicsCommandList::ResolveSubresource") \ - \ - D3D12_CHUNK_MACRO(CLEAR_RTV, "ID3D12GraphicsCommandList::ClearRenderTargetView") \ - D3D12_CHUNK_MACRO(CLEAR_DSV, "ID3D12GraphicsCommandList::ClearDepthStencilView") \ - D3D12_CHUNK_MACRO(CLEAR_UAV_INT, "ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint") \ - D3D12_CHUNK_MACRO(CLEAR_UAV_FLOAT, "ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat") \ - D3D12_CHUNK_MACRO(DISCARD_RESOURCE, "ID3D12GraphicsCommandList::DiscardResource") \ - \ - D3D12_CHUNK_MACRO(SET_TOPOLOGY, "ID3D12GraphicsCommandList::IASetPrimitiveTopology") \ - D3D12_CHUNK_MACRO(SET_IBUFFER, "ID3D12GraphicsCommandList::IASetIndexBuffer") \ - D3D12_CHUNK_MACRO(SET_VBUFFERS, "ID3D12GraphicsCommandList::IASetVertexBuffers") \ - D3D12_CHUNK_MACRO(SET_SOTARGETS, "ID3D12GraphicsCommandList::SOSetTargets") \ - D3D12_CHUNK_MACRO(SET_VIEWPORTS, "ID3D12GraphicsCommandList::RSSetViewports") \ - D3D12_CHUNK_MACRO(SET_SCISSORS, "ID3D12GraphicsCommandList::RSSetScissors") \ - D3D12_CHUNK_MACRO(SET_PIPE, "ID3D12GraphicsCommandList::SetPipelineState") \ - D3D12_CHUNK_MACRO(SET_DESC_HEAPS, "ID3D12GraphicsCommandList::SetDescriptorHeaps") \ - D3D12_CHUNK_MACRO(SET_RTVS, "ID3D12GraphicsCommandList::OMSetRenderTargets") \ - D3D12_CHUNK_MACRO(SET_STENCIL, "ID3D12GraphicsCommandList::OMSetStencilRef") \ - D3D12_CHUNK_MACRO(SET_BLENDFACTOR, "ID3D12GraphicsCommandList::OMSetBlendFactor") \ - \ - D3D12_CHUNK_MACRO(SET_GFX_ROOT_TABLE, \ - "ID3D12GraphicsCommandList::SetGraphicsRootDescriptorTable") \ - D3D12_CHUNK_MACRO(SET_GFX_ROOT_SIG, "ID3D12GraphicsCommandList::SetGraphicsRootSignature") \ - D3D12_CHUNK_MACRO(SET_GFX_ROOT_CONST, "ID3D12GraphicsCommandList::SetGraphicsRoot32BitConstant") \ - D3D12_CHUNK_MACRO(SET_GFX_ROOT_CONSTS, \ - "ID3D12GraphicsCommandList::SetGraphicsRoot32BitConstants") \ - D3D12_CHUNK_MACRO(SET_GFX_ROOT_CBV, \ - "ID3D12GraphicsCommandList::SetGraphicsRootConstantBufferView") \ - D3D12_CHUNK_MACRO(SET_GFX_ROOT_SRV, \ - "ID3D12GraphicsCommandList::SetGraphicsRootShaderResourceView") \ - D3D12_CHUNK_MACRO(SET_GFX_ROOT_UAV, \ - "ID3D12GraphicsCommandList::SetGraphicsRootUnorderedAccessView") \ - \ - D3D12_CHUNK_MACRO(SET_COMP_ROOT_TABLE, \ - "ID3D12GraphicsCommandList::SetComputeRootDescriptorTable") \ - D3D12_CHUNK_MACRO(SET_COMP_ROOT_SIG, "ID3D12GraphicsCommandList::SetComputeRootSignature") \ - D3D12_CHUNK_MACRO(SET_COMP_ROOT_CONST, "ID3D12GraphicsCommandList::SetComputeRoot32BitConstant") \ - D3D12_CHUNK_MACRO(SET_COMP_ROOT_CONSTS, \ - "ID3D12GraphicsCommandList::SetComputeRoot32BitConstants") \ - D3D12_CHUNK_MACRO(SET_COMP_ROOT_CBV, \ - "ID3D12GraphicsCommandList::SetComputeRootConstantBufferView") \ - D3D12_CHUNK_MACRO(SET_COMP_ROOT_SRV, \ - "ID3D12GraphicsCommandList::SetComputeRootShaderResourceView") \ - D3D12_CHUNK_MACRO(SET_COMP_ROOT_UAV, \ - "ID3D12GraphicsCommandList::SetComputeRootUnorderedAccessView") \ - \ - D3D12_CHUNK_MACRO(DYN_DESC_WRITE, "Dynamic descriptor write") \ - D3D12_CHUNK_MACRO(DYN_DESC_COPIES, "Dynamic descriptor copies") \ - \ - D3D12_CHUNK_MACRO(EXECUTE_CMD_LISTS, "ID3D12GraphicsCommandQueue::ExecuteCommandLists") \ - D3D12_CHUNK_MACRO(SIGNAL, "ID3D12GraphicsCommandQueue::Signal") \ - D3D12_CHUNK_MACRO(WAIT, "ID3D12GraphicsCommandQueue::Wait") \ - \ - D3D12_CHUNK_MACRO(CREATE_RESERVED_RESOURCE, "ID3D12Device::CreateReservedResource") \ - D3D12_CHUNK_MACRO(COPY_TILES, "ID3D12GraphicsCommandList::CopyTiles") \ - D3D12_CHUNK_MACRO(UPDATE_TILE_MAPPINGS, "ID3D12GraphicsCommandQueue::UpdateTileMappings") \ - D3D12_CHUNK_MACRO(COPY_TILE_MAPPINGS, "ID3D12GraphicsCommandQueue::CopyTileMappings") \ - \ - D3D12_CHUNK_MACRO(NUM_D3D12_CHUNKS, "") - -enum D3D12ChunkType +enum class D3D12Chunk : uint32_t { -#undef D3D12_CHUNK_MACRO -#define D3D12_CHUNK_MACRO(enum, string) enum, - - D3D12_CHUNKS + CaptureBegin = (uint32_t)SystemChunk::FirstDriverChunk, + CaptureEnd, + CaptureScope, + SetName, + PushMarker, + SetMarker, + PopMarker, + SetShaderDebugPath, + CreateSwapBuffer, + Device_CreateCommandQueue, + Device_CreateCommandAllocator, + Device_CreateGraphicsPipeline, + Device_CreateComputePipeline, + Device_CreateDescriptorHeap, + Device_CreateRootSignature, + Device_CreateCommandSignature, + Device_CreateHeap, + Device_CreateCommittedResource, + Device_CreatePlacedResource, + Device_CreateQueryHeap, + Device_CreateFence, + Device_CreateReservedResource, + Device_CreateConstantBufferView, + Device_CreateShaderResourceView, + Device_CreateUnorderedAccessView, + Device_CreateRenderTargetView, + Device_CreateDepthStencilView, + Device_CreateSampler, + Device_CopyDescriptors, + Device_CopyDescriptorsSimple, + Queue_ExecuteCommandLists, + Queue_Signal, + Queue_Wait, + Queue_UpdateTileMappings, + Queue_CopyTileMappings, + List_Close, + List_Reset, + List_ResourceBarrier, + List_BeginQuery, + List_EndQuery, + List_ResolveQueryData, + List_SetPredication, + List_DrawIndexedInstanced, + List_DrawInstanced, + List_Dispatch, + List_ExecuteIndirect, + List_ExecuteBundle, + List_CopyBufferRegion, + List_CopyTextureRegion, + List_CopyResource, + List_ResolveSubresource, + List_ClearRenderTargetView, + List_ClearDepthStencilView, + List_ClearUnorderedAccessViewUint, + List_ClearUnorderedAccessViewFloat, + List_DiscardResource, + List_IASetPrimitiveTopology, + List_IASetIndexBuffer, + List_IASetVertexBuffers, + List_SOSetTargets, + List_RSSetViewports, + List_RSSetScissorRects, + List_SetPipelineState, + List_SetDescriptorHeaps, + List_OMSetRenderTargets, + List_OMSetStencilRef, + List_OMSetBlendFactor, + List_SetGraphicsRootDescriptorTable, + List_SetGraphicsRootSignature, + List_SetGraphicsRoot32BitConstant, + List_SetGraphicsRoot32BitConstants, + List_SetGraphicsRootConstantBufferView, + List_SetGraphicsRootShaderResourceView, + List_SetGraphicsRootUnorderedAccessView, + List_SetComputeRootDescriptorTable, + List_SetComputeRootSignature, + List_SetComputeRoot32BitConstant, + List_SetComputeRoot32BitConstants, + List_SetComputeRootConstantBufferView, + List_SetComputeRootShaderResourceView, + List_SetComputeRootUnorderedAccessView, + List_CopyTiles, + Resource_Unmap, + Resource_WriteToSubresource, + Max, }; - -#pragma endregion Chunks diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 10472180f..a8d8a6652 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -43,12 +43,6 @@ WRAPPED_POOL_INST(WrappedID3D12Device); -const char *D3D12ChunkNames[] = { -#undef D3D12_CHUNK_MACRO -#define D3D12_CHUNK_MACRO(enum, string) string, - - D3D12_CHUNKS}; - D3D12InitParams::D3D12InitParams() { SerialiseVersion = D3D12_SERIALISE_VERSION; @@ -75,23 +69,10 @@ ReplayStatus D3D12InitParams::Serialise() const char *WrappedID3D12Device::GetChunkName(uint32_t idx) { - if(idx == CREATE_PARAMS) - return "Create Params"; - if(idx == THUMBNAIL_DATA) - return "Thumbnail Data"; - if(idx == DRIVER_INIT_PARAMS) - return "Driver Init Params"; - if(idx == INITIAL_CONTENTS) - return "Initial Contents"; - if(idx < FIRST_CHUNK_ID || idx >= NUM_D3D12_CHUNKS) - return ""; - return D3D12ChunkNames[idx - FIRST_CHUNK_ID]; -} + if((SystemChunk)idx < SystemChunk::FirstDriverChunk) + return ToStr((SystemChunk)idx); -template <> -std::string DoStringise(const D3D12ChunkType &el) -{ - return WrappedID3D12Device::GetChunkName(el); + return ToStr((D3D12Chunk)idx); } ULONG STDMETHODCALLTYPE DummyID3D12InfoQueue::AddRef() @@ -336,12 +317,6 @@ WrappedID3D12Device::WrappedID3D12Device(ID3D12Device *realDevice, D3D12InitPara } m_InitParams = *params; - - ////////////////////////////////////////////////////////////////////////// - // Compile time asserts - - RDCCOMPILE_ASSERT(ARRAY_COUNT(D3D12ChunkNames) == NUM_D3D12_CHUNKS - FIRST_CHUNK_ID + 1, - "Not right number of chunk names"); } WrappedID3D12Device::~WrappedID3D12Device() diff --git a/renderdoc/driver/d3d12/d3d12_stringise.cpp b/renderdoc/driver/d3d12/d3d12_stringise.cpp index 6d34c1ffd..db8954a5d 100644 --- a/renderdoc/driver/d3d12/d3d12_stringise.cpp +++ b/renderdoc/driver/d3d12/d3d12_stringise.cpp @@ -25,6 +25,144 @@ #include "d3d12_common.h" #include "d3d12_resources.h" +template <> +std::string DoStringise(const D3D12Chunk &el) +{ + RDCCOMPILE_ASSERT((uint32_t)D3D12Chunk::Max == 1084, "Chunks changed without updating names"); + + BEGIN_ENUM_STRINGISE(D3D12Chunk) + { + STRINGISE_ENUM_CLASS_NAMED(CaptureBegin, "Beginning of Capture"); + STRINGISE_ENUM_CLASS_NAMED(CaptureEnd, "End of Capture"); + STRINGISE_ENUM_CLASS_NAMED(CaptureScope, "Frame Capture Metadata"); + STRINGISE_ENUM_CLASS_NAMED(SetName, "ID3D12Resource::SetName"); + STRINGISE_ENUM_CLASS_NAMED(PushMarker, "Push Debug Region"); + STRINGISE_ENUM_CLASS_NAMED(SetMarker, "Set Marker"); + STRINGISE_ENUM_CLASS_NAMED(PopMarker, "Pop Debug Region"); + STRINGISE_ENUM_CLASS_NAMED(SetShaderDebugPath, "SetShaderDebugPath"); + STRINGISE_ENUM_CLASS_NAMED(CreateSwapBuffer, "IDXGISwapChain::GetBuffer"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateCommandQueue, "ID3D12Device::CreateCommandQueue"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateCommandAllocator, + "ID3D12Device::CreateCommandAllocator"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateGraphicsPipeline, + "ID3D12Device::CreateGraphicsPipeline"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateComputePipeline, "ID3D12Device::CreateComputePipeline"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateDescriptorHeap, "ID3D12Device::CreateDescriptorHeap"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateRootSignature, "ID3D12Device::CreateRootSignature"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateCommandSignature, + "ID3D12Device::CreateCommandSignature"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateHeap, "ID3D12Device::CreateHeap"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateCommittedResource, + "ID3D12Device::CreateCommittedResource"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreatePlacedResource, "ID3D12Device::CreatePlacedResource"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateQueryHeap, "ID3D12Device::CreateQueryHeap"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateFence, "ID3D12Device::CreateFence"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateReservedResource, + "ID3D12Device::CreateReservedResource"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateConstantBufferView, + "ID3D12Device::CreateConstantBufferView"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateShaderResourceView, + "ID3D12Device::CreateShaderResourceView"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateUnorderedAccessView, + "ID3D12Device::CreateUnorderedAccessView"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateRenderTargetView, + "ID3D12Device::CreateRenderTargetView"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateDepthStencilView, + "ID3D12Device::CreateDepthStencilView"); + STRINGISE_ENUM_CLASS_NAMED(Device_CreateSampler, "ID3D12Device::CreateSampler"); + STRINGISE_ENUM_CLASS_NAMED(Device_CopyDescriptors, "ID3D12Device::CopyDescriptors"); + STRINGISE_ENUM_CLASS_NAMED(Device_CopyDescriptorsSimple, "ID3D12Device::CopyDescriptorsSimple"); + STRINGISE_ENUM_CLASS_NAMED(Queue_ExecuteCommandLists, + "ID3D12CommandQueue::ExecuteCommandLists"); + STRINGISE_ENUM_CLASS_NAMED(Queue_Signal, "ID3D12CommandQueue::Signal"); + STRINGISE_ENUM_CLASS_NAMED(Queue_Wait, "ID3D12CommandQueue::Wait"); + STRINGISE_ENUM_CLASS_NAMED(Queue_UpdateTileMappings, "ID3D12CommandQueue::UpdateTileMappings"); + STRINGISE_ENUM_CLASS_NAMED(Queue_CopyTileMappings, "ID3D12CommandQueue::CopyTileMappings"); + STRINGISE_ENUM_CLASS_NAMED(List_Close, "ID3D12GraphicsCommandList::Close"); + STRINGISE_ENUM_CLASS_NAMED(List_Reset, "ID3D12GraphicsCommandList::Reset"); + STRINGISE_ENUM_CLASS_NAMED(List_ResourceBarrier, "ID3D12GraphicsCommandList::ResourceBarrier"); + STRINGISE_ENUM_CLASS_NAMED(List_BeginQuery, "ID3D12GraphicsCommandList::BeginQuery"); + STRINGISE_ENUM_CLASS_NAMED(List_EndQuery, "ID3D12GraphicsCommandList::EndQuery"); + STRINGISE_ENUM_CLASS_NAMED(List_ResolveQueryData, + "ID3D12GraphicsCommandList::ResolveQueryData"); + STRINGISE_ENUM_CLASS_NAMED(List_SetPredication, "ID3D12GraphicsCommandList::SetPredication"); + STRINGISE_ENUM_CLASS_NAMED(List_DrawIndexedInstanced, + "ID3D12GraphicsCommandList::DrawIndexedInstanced"); + STRINGISE_ENUM_CLASS_NAMED(List_DrawInstanced, "ID3D12GraphicsCommandList::DrawInstanced"); + STRINGISE_ENUM_CLASS_NAMED(List_Dispatch, "ID3D12GraphicsCommandList::Dispatch"); + STRINGISE_ENUM_CLASS_NAMED(List_ExecuteIndirect, "ID3D12GraphicsCommandList::ExecuteIndirect"); + STRINGISE_ENUM_CLASS_NAMED(List_ExecuteBundle, "ID3D12GraphicsCommandList::ExecuteBundle"); + STRINGISE_ENUM_CLASS_NAMED(List_CopyBufferRegion, + "ID3D12GraphicsCommandList::CopyBufferRegion"); + STRINGISE_ENUM_CLASS_NAMED(List_CopyTextureRegion, + "ID3D12GraphicsCommandList::CopyTextureRegion"); + STRINGISE_ENUM_CLASS_NAMED(List_CopyResource, "ID3D12GraphicsCommandList::CopyResource"); + STRINGISE_ENUM_CLASS_NAMED(List_ResolveSubresource, + "ID3D12GraphicsCommandList::ResolveSubresource"); + STRINGISE_ENUM_CLASS_NAMED(List_ClearRenderTargetView, + "ID3D12GraphicsCommandList::ClearRenderTargetView"); + STRINGISE_ENUM_CLASS_NAMED(List_ClearDepthStencilView, + "ID3D12GraphicsCommandList::ClearDepthStencilView"); + STRINGISE_ENUM_CLASS_NAMED(List_ClearUnorderedAccessViewUint, + "ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint"); + STRINGISE_ENUM_CLASS_NAMED(List_ClearUnorderedAccessViewFloat, + "ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat"); + STRINGISE_ENUM_CLASS_NAMED(List_DiscardResource, "ID3D12GraphicsCommandList::DiscardResource"); + STRINGISE_ENUM_CLASS_NAMED(List_IASetPrimitiveTopology, + "ID3D12GraphicsCommandList::IASetPrimitiveTopology"); + STRINGISE_ENUM_CLASS_NAMED(List_IASetIndexBuffer, + "ID3D12GraphicsCommandList::IASetIndexBuffer"); + STRINGISE_ENUM_CLASS_NAMED(List_IASetVertexBuffers, + "ID3D12GraphicsCommandList::IASetVertexBuffers"); + STRINGISE_ENUM_CLASS_NAMED(List_SOSetTargets, "ID3D12GraphicsCommandList::SOSetTargets"); + STRINGISE_ENUM_CLASS_NAMED(List_RSSetViewports, "ID3D12GraphicsCommandList::RSSetViewports"); + STRINGISE_ENUM_CLASS_NAMED(List_RSSetScissorRects, + "ID3D12GraphicsCommandList::RSSetScissorRects"); + STRINGISE_ENUM_CLASS_NAMED(List_SetPipelineState, + "ID3D12GraphicsCommandList::SetPipelineState"); + STRINGISE_ENUM_CLASS_NAMED(List_SetDescriptorHeaps, + "ID3D12GraphicsCommandList::SetDescriptorHeaps"); + STRINGISE_ENUM_CLASS_NAMED(List_OMSetRenderTargets, + "ID3D12GraphicsCommandList::OMSetRenderTargets"); + STRINGISE_ENUM_CLASS_NAMED(List_OMSetStencilRef, "ID3D12GraphicsCommandList::OMSetStencilRef"); + STRINGISE_ENUM_CLASS_NAMED(List_OMSetBlendFactor, + "ID3D12GraphicsCommandList::OMSetBlendFactor"); + STRINGISE_ENUM_CLASS_NAMED(List_SetGraphicsRootDescriptorTable, + "ID3D12GraphicsCommandList::SetGraphicsRootDescriptorTable"); + STRINGISE_ENUM_CLASS_NAMED(List_SetGraphicsRootSignature, + "ID3D12GraphicsCommandList::SetGraphicsRootSignature"); + STRINGISE_ENUM_CLASS_NAMED(List_SetGraphicsRoot32BitConstant, + "ID3D12GraphicsCommandList::SetGraphicsRoot32BitConstant"); + STRINGISE_ENUM_CLASS_NAMED(List_SetGraphicsRoot32BitConstants, + "ID3D12GraphicsCommandList::SetGraphicsRoot32BitConstants"); + STRINGISE_ENUM_CLASS_NAMED(List_SetGraphicsRootConstantBufferView, + "ID3D12GraphicsCommandList::SetGraphicsRootConstantBufferView"); + STRINGISE_ENUM_CLASS_NAMED(List_SetGraphicsRootShaderResourceView, + "ID3D12GraphicsCommandList::SetGraphicsRootShaderResourceView"); + STRINGISE_ENUM_CLASS_NAMED(List_SetGraphicsRootUnorderedAccessView, + "ID3D12GraphicsCommandList::SetGraphicsRootUnorderedAccessView"); + STRINGISE_ENUM_CLASS_NAMED(List_SetComputeRootDescriptorTable, + "ID3D12GraphicsCommandList::SetComputeRootDescriptorTable"); + STRINGISE_ENUM_CLASS_NAMED(List_SetComputeRootSignature, + "ID3D12GraphicsCommandList::SetComputeRootSignature"); + STRINGISE_ENUM_CLASS_NAMED(List_SetComputeRoot32BitConstant, + "ID3D12GraphicsCommandList::SetComputeRoot32BitConstant"); + STRINGISE_ENUM_CLASS_NAMED(List_SetComputeRoot32BitConstants, + "ID3D12GraphicsCommandList::SetComputeRoot32BitConstants"); + STRINGISE_ENUM_CLASS_NAMED(List_SetComputeRootConstantBufferView, + "ID3D12GraphicsCommandList::SetComputeRootConstantBufferView"); + STRINGISE_ENUM_CLASS_NAMED(List_SetComputeRootShaderResourceView, + "ID3D12GraphicsCommandList::SetComputeRootShaderResourceView"); + STRINGISE_ENUM_CLASS_NAMED(List_SetComputeRootUnorderedAccessView, + "ID3D12GraphicsCommandList::SetComputeRootUnorderedAccessView"); + STRINGISE_ENUM_CLASS_NAMED(List_CopyTiles, "ID3D12GraphicsCommandList::CopyTiles"); + STRINGISE_ENUM_CLASS_NAMED(Resource_Unmap, "ID3D12Resource::Unmap"); + STRINGISE_ENUM_CLASS_NAMED(Resource_WriteToSubresource, "ID3D12Resource::WriteToSubresource"); + STRINGISE_ENUM_CLASS_NAMED(Max, "Max Chunk"); + } + END_ENUM_STRINGISE() +} + template <> std::string DoStringise(const D3D12Descriptor::DescriptorType &el) {