From b98f588afd4c16cc5b17220f21665ef471cb6e0e Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Sun, 15 Mar 2026 18:37:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=20tests/D3D12=20=E7=9A=84?= =?UTF-8?q?=20RootSignature=20=E6=9B=BF=E6=8D=A2=E4=B8=BA=20D3D12RootSigna?= =?UTF-8?q?ture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加全局变量 gRootSignature - 使用 D3D12RootSignature::Initialize 替代原生 API - 测试通过 --- tests/D3D12/main.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) 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(); } //=================================================================================