diff --git a/tests/D3D12/main.cpp b/tests/D3D12/main.cpp index a2725d95..3a931a64 100644 --- a/tests/D3D12/main.cpp +++ b/tests/D3D12/main.cpp @@ -21,6 +21,7 @@ #include "XCEngine/RHI/D3D12/D3D12DescriptorHeap.h" #include "XCEngine/RHI/D3D12/D3D12Fence.h" #include "XCEngine/RHI/D3D12/D3D12SwapChain.h" +#include "XCEngine/RHI/D3D12/D3D12RootSignature.h" #include "XCEngine/RHI/D3D12/D3D12Screenshot.h" #include "XCEngine/Debug/Logger.h" #include "XCEngine/Debug/ConsoleLogSink.h" @@ -65,6 +66,7 @@ UINT gDSVDescriptorSize = 0; // 命令相关 XCEngine::RHI::D3D12CommandAllocator gCommandAllocator; XCEngine::RHI::D3D12CommandList gCommandList; +XCEngine::RHI::D3D12RootSignature gRootSignature; // 同步对象 XCEngine::RHI::D3D12Fence gFence; @@ -277,14 +279,9 @@ ID3D12RootSignature* InitRootSignature() { rootSignatureDesc.pStaticSamplers = samplerDesc; rootSignatureDesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT; - ID3DBlob* signature; - HRESULT hResult = D3D12SerializeRootSignature(&rootSignatureDesc, D3D_ROOT_SIGNATURE_VERSION_1, &signature, nullptr); - ID3D12RootSignature* d3d12RootSignature; - gDevice.GetDevice()->CreateRootSignature( - 0, signature->GetBufferPointer(), signature->GetBufferSize(), - IID_PPV_ARGS(&d3d12RootSignature)); + gRootSignature.Initialize(gDevice.GetDevice(), rootSignatureDesc); - return d3d12RootSignature; + return gRootSignature.GetRootSignature(); } //=================================================================================