From 45fd25dce3801a2ebe1e5f9cc2b3bcb6ee5f0133 Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Fri, 20 Mar 2026 19:05:22 +0800 Subject: [PATCH] D3D12: Add triangle integration test with rainbow gradient - Add triangle test with vertex buffer and custom pipeline state - Add triangle.hlsl shader with position and color per vertex - Fix cull mode (NONE) and disable depth test for correct rendering - Register D3D12_Triangle_Integration CTest - Add GT.ppm golden image --- tests/RHI/D3D12/integration/CMakeLists.txt | 53 +++ tests/RHI/D3D12/integration/triangle/GT.ppm | Bin 0 -> 2764816 bytes .../triangle/Res/Shader/triangle.hlsl | 20 + tests/RHI/D3D12/integration/triangle/main.cpp | 360 ++++++++++++++++++ 4 files changed, 433 insertions(+) create mode 100644 tests/RHI/D3D12/integration/triangle/GT.ppm create mode 100644 tests/RHI/D3D12/integration/triangle/Res/Shader/triangle.hlsl create mode 100644 tests/RHI/D3D12/integration/triangle/main.cpp diff --git a/tests/RHI/D3D12/integration/CMakeLists.txt b/tests/RHI/D3D12/integration/CMakeLists.txt index 75f4fba2..09b147f5 100644 --- a/tests/RHI/D3D12/integration/CMakeLists.txt +++ b/tests/RHI/D3D12/integration/CMakeLists.txt @@ -97,6 +97,50 @@ add_custom_command(TARGET D3D12_RenderModel POST_BUILD $/ ) +# Triangle test - renders a rainbow gradient triangle +add_executable(D3D12_Triangle + WIN32 + triangle/main.cpp +) + +target_include_directories(D3D12_Triangle PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/triangle + ${ENGINE_ROOT_DIR}/include +) + +target_compile_definitions(D3D12_Triangle PRIVATE + UNICODE + _UNICODE +) + +target_link_libraries(D3D12_Triangle PRIVATE + d3d12 + dxgi + d3dcompiler + winmm + XCEngine +) + +# Copy Res folder to output directory for Triangle test +add_custom_command(TARGET D3D12_Triangle POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_CURRENT_SOURCE_DIR}/triangle/Res + $/Res +) + +# Copy test scripts to output directory for Triangle test +add_custom_command(TARGET D3D12_Triangle POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/run.bat + $/ + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/compare_ppm.py + $/ + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/run_integration_test.py + $/ +) + # Register integration tests with CTest add_test(NAME D3D12_Minimal_Integration COMMAND ${Python3_EXECUTABLE} $/run_integration_test.py @@ -115,3 +159,12 @@ add_test(NAME D3D12_RenderModel_Integration 5 WORKING_DIRECTORY $ ) + +add_test(NAME D3D12_Triangle_Integration + COMMAND ${Python3_EXECUTABLE} $/run_integration_test.py + $ + triangle.ppm + ${CMAKE_CURRENT_SOURCE_DIR}/triangle/GT.ppm + 5 + WORKING_DIRECTORY $ +) diff --git a/tests/RHI/D3D12/integration/triangle/GT.ppm b/tests/RHI/D3D12/integration/triangle/GT.ppm new file mode 100644 index 0000000000000000000000000000000000000000..6fd275e4432526b4d35a9043f34e93f99f633af0 GIT binary patch literal 2764816 zcmeF)*_WQ>ft~$#p67Y2d7cN&5~JG$Ur5=9Ahfl@{;ODKR^KomfR5Zf5zINfn~ zr@y`L=UE(OCEXncSzK#fM|SZHzxS?#T}!L#|GQM$Ke)0tclltiba3%vDUtXWLI42- z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ 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�WdAaOuf#R`mkE3$ZrQ&~;5+f2{mTUY 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�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

EA9Eza;Q{`nQwCFA2Pm{_SA# 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 zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC r1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00sVkF7W>W65g6~ literal 0 HcmV?d00001 diff --git a/tests/RHI/D3D12/integration/triangle/Res/Shader/triangle.hlsl b/tests/RHI/D3D12/integration/triangle/Res/Shader/triangle.hlsl new file mode 100644 index 00000000..8606c24e --- /dev/null +++ b/tests/RHI/D3D12/integration/triangle/Res/Shader/triangle.hlsl @@ -0,0 +1,20 @@ +struct Vertex { + float4 pos : POSITION; + float4 col : COLOR; +}; + +struct VSOut { + float4 pos : SV_POSITION; + float4 col : COLOR; +}; + +VSOut MainVS(Vertex v) { + VSOut o; + o.pos = v.pos; + o.col = v.col; + return o; +} + +float4 MainPS(VSOut i) : SV_TARGET { + return i.col; +} \ No newline at end of file diff --git a/tests/RHI/D3D12/integration/triangle/main.cpp b/tests/RHI/D3D12/integration/triangle/main.cpp new file mode 100644 index 00000000..1b969522 --- /dev/null +++ b/tests/RHI/D3D12/integration/triangle/main.cpp @@ -0,0 +1,360 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "XCEngine/RHI/RHIEnums.h" +#include "XCEngine/RHI/RHITypes.h" +#include "XCEngine/RHI/D3D12/D3D12Device.h" +#include "XCEngine/RHI/D3D12/D3D12CommandQueue.h" +#include "XCEngine/RHI/D3D12/D3D12CommandAllocator.h" +#include "XCEngine/RHI/D3D12/D3D12CommandList.h" +#include "XCEngine/RHI/D3D12/D3D12DescriptorHeap.h" +#include "XCEngine/RHI/D3D12/D3D12Fence.h" +#include "XCEngine/RHI/D3D12/D3D12SwapChain.h" +#include "XCEngine/RHI/D3D12/D3D12Buffer.h" +#include "XCEngine/RHI/D3D12/D3D12Texture.h" +#include "XCEngine/RHI/D3D12/D3D12RenderTargetView.h" +#include "XCEngine/RHI/D3D12/D3D12DepthStencilView.h" +#include "XCEngine/RHI/D3D12/D3D12Shader.h" +#include "XCEngine/RHI/D3D12/D3D12RootSignature.h" +#include "XCEngine/RHI/D3D12/D3D12PipelineState.h" +#include "XCEngine/RHI/D3D12/D3D12Screenshot.h" +#include "XCEngine/Debug/Logger.h" +#include "XCEngine/Debug/ConsoleLogSink.h" +#include "XCEngine/Debug/FileLogSink.h" +#include "XCEngine/Containers/String.h" + +using namespace XCEngine::RHI; +using namespace XCEngine::Debug; +using namespace XCEngine::Containers; + +#pragma comment(lib,"d3d12.lib") +#pragma comment(lib,"dxgi.lib") +#pragma comment(lib,"dxguid.lib") +#pragma comment(lib,"d3dcompiler.lib") +#pragma comment(lib,"winmm.lib") + +D3D12Device gDevice; +D3D12CommandQueue gCommandQueue; +D3D12SwapChain gSwapChain; +D3D12CommandAllocator gCommandAllocator; +D3D12CommandList gCommandList; +D3D12Texture gDepthStencil; +D3D12DescriptorHeap gRTVHeap; +D3D12DescriptorHeap gDSVHeap; +D3D12RenderTargetView gRTVs[2]; +D3D12DepthStencilView gDSV; + +D3D12Shader gVertexShader; +D3D12Shader gPixelShader; +D3D12RootSignature gRootSignature; +D3D12PipelineState gPipelineState; +D3D12Buffer gVertexBuffer; + +UINT gRTVDescriptorSize = 0; +UINT gDSVDescriptorSize = 0; +int gCurrentRTIndex = 0; + +HWND gHWND = nullptr; +int gWidth = 1280; +int gHeight = 720; + +void Log(const char* format, ...) { + char buffer[1024]; + va_list args; + va_start(args, format); + vsnprintf(buffer, sizeof(buffer), format, args); + va_end(args); + Logger::Get().Debug(LogCategory::Rendering, String(buffer)); +} + +LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + switch (msg) { + case WM_CLOSE: + PostQuitMessage(0); + break; + } + return DefWindowProc(hwnd, msg, wParam, lParam); +} + +bool InitD3D12() { + RHIDeviceDesc deviceDesc; + deviceDesc.windowHandle = gHWND; + deviceDesc.width = gWidth; + deviceDesc.height = gHeight; + deviceDesc.adapterIndex = 0; + deviceDesc.enableDebugLayer = false; + deviceDesc.enableGPUValidation = false; + + if (!gDevice.Initialize(deviceDesc)) { + Log("[ERROR] Failed to initialize D3D12 device"); + return false; + } + + ID3D12Device* device = gDevice.GetDevice(); + IDXGIFactory4* factory = gDevice.GetFactory(); + + if (!gCommandQueue.Initialize(device, CommandQueueType::Direct)) { + Log("[ERROR] Failed to initialize command queue"); + return false; + } + + if (!gSwapChain.Initialize(factory, gCommandQueue.GetCommandQueue(), gHWND, gWidth, gHeight, 2)) { + Log("[ERROR] Failed to initialize swap chain"); + return false; + } + + gDepthStencil.InitializeDepthStencil(device, gWidth, gHeight); + + gRTVHeap.Initialize(device, DescriptorHeapType::RTV, 2); + gRTVDescriptorSize = gDevice.GetDescriptorHandleIncrementSize(DescriptorHeapType::RTV); + + gDSVHeap.Initialize(device, DescriptorHeapType::DSV, 1); + gDSVDescriptorSize = gDevice.GetDescriptorHandleIncrementSize(DescriptorHeapType::DSV); + + for (int i = 0; i < 2; i++) { + D3D12Texture& backBuffer = gSwapChain.GetBackBuffer(i); + CPUDescriptorHandle rtvCpuHandle = gRTVHeap.GetCPUDescriptorHandle(i); + D3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = { rtvCpuHandle.ptr }; + gRTVs[i].InitializeAt(device, backBuffer.GetResource(), rtvHandle, nullptr); + } + + D3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc = D3D12DepthStencilView::CreateDesc(Format::D24_UNorm_S8_UInt); + CPUDescriptorHandle dsvCpuHandle = gDSVHeap.GetCPUDescriptorHandle(0); + D3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = { dsvCpuHandle.ptr }; + gDSV.InitializeAt(device, gDepthStencil.GetResource(), dsvHandle, &dsvDesc); + + gCommandAllocator.Initialize(device, CommandQueueType::Direct); + gCommandList.Initialize(device, CommandQueueType::Direct, gCommandAllocator.GetCommandAllocator()); + + if (!gVertexShader.CompileFromFile(L"Res/Shader/triangle.hlsl", "MainVS", "vs_5_1")) { + Log("[ERROR] Failed to compile vertex shader"); + return false; + } + Log("[INFO] Vertex shader compiled, bytecode size: %zu", gVertexShader.GetBytecodeSize()); + + if (!gPixelShader.CompileFromFile(L"Res/Shader/triangle.hlsl", "MainPS", "ps_5_1")) { + Log("[ERROR] Failed to compile pixel shader"); + return false; + } + Log("[INFO] Pixel shader compiled, bytecode size: %zu", gPixelShader.GetBytecodeSize()); + + D3D12_ROOT_SIGNATURE_DESC rsDesc = D3D12RootSignature::CreateDesc(nullptr, 0); + if (!gRootSignature.Initialize(device, rsDesc)) { + Log("[ERROR] Failed to initialize root signature"); + return false; + } + + D3D12_INPUT_ELEMENT_DESC inputElements[] = { + D3D12PipelineState::CreateInputElement("POSITION", 0, Format::R32G32B32A32_Float, 0, 0), + D3D12PipelineState::CreateInputElement("COLOR", 0, Format::R32G32B32A32_Float, 0, 16), + }; + + D3D12_SHADER_BYTECODE emptyGs = {}; + + D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {}; + psoDesc.pRootSignature = gRootSignature.GetRootSignature(); + psoDesc.VS = gVertexShader.GetD3D12Bytecode(); + psoDesc.PS = gPixelShader.GetD3D12Bytecode(); + psoDesc.GS = emptyGs; + psoDesc.InputLayout.NumElements = 2; + psoDesc.InputLayout.pInputElementDescs = inputElements; + psoDesc.RTVFormats[0] = DXGI_FORMAT_R8G8B8A8_UNORM; + psoDesc.DSVFormat = DXGI_FORMAT_D24_UNORM_S8_UINT; + psoDesc.SampleDesc.Count = 1; + psoDesc.SampleDesc.Quality = 0; + psoDesc.SampleMask = 0xffffffff; + psoDesc.NumRenderTargets = 1; + psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; + psoDesc.RasterizerState.FillMode = D3D12_FILL_MODE_SOLID; + psoDesc.RasterizerState.CullMode = D3D12_CULL_MODE_NONE; + psoDesc.RasterizerState.FrontCounterClockwise = FALSE; + psoDesc.RasterizerState.DepthClipEnable = TRUE; + psoDesc.DepthStencilState.DepthEnable = FALSE; + psoDesc.DepthStencilState.DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ZERO; + psoDesc.DepthStencilState.DepthFunc = D3D12_COMPARISON_FUNC_LESS; + psoDesc.BlendState.RenderTarget[0].BlendEnable = FALSE; + psoDesc.BlendState.RenderTarget[0].SrcBlend = D3D12_BLEND_ONE; + psoDesc.BlendState.RenderTarget[0].DestBlend = D3D12_BLEND_ZERO; + psoDesc.BlendState.RenderTarget[0].BlendOp = D3D12_BLEND_OP_ADD; + psoDesc.BlendState.RenderTarget[0].SrcBlendAlpha = D3D12_BLEND_ONE; + psoDesc.BlendState.RenderTarget[0].DestBlendAlpha = D3D12_BLEND_ZERO; + psoDesc.BlendState.RenderTarget[0].BlendOpAlpha = D3D12_BLEND_OP_ADD; + psoDesc.BlendState.RenderTarget[0].RenderTargetWriteMask = D3D12_COLOR_WRITE_ENABLE_ALL; + + if (!gPipelineState.Initialize(device, psoDesc)) { + Log("[ERROR] Failed to initialize pipeline state"); + return false; + } + + struct Vertex { + float pos[4]; + float col[4]; + }; + + Vertex vertices[] = { + { { 0.0f, 0.5f, 0.0f, 1.0f }, { 1.0f, 0.0f, 0.0f, 1.0f } }, + { { -0.5f, -0.5f, 0.0f, 1.0f }, { 0.0f, 1.0f, 0.0f, 1.0f } }, + { { 0.5f, -0.5f, 0.0f, 1.0f }, { 0.0f, 0.0f, 1.0f, 1.0f } }, + }; + + if (!gVertexBuffer.InitializeWithData(device, gCommandList.GetCommandList(), vertices, sizeof(vertices), D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER)) { + Log("[ERROR] Failed to initialize vertex buffer"); + return false; + } + gVertexBuffer.SetStride(sizeof(Vertex)); + gVertexBuffer.SetBufferType(BufferType::Vertex); + + Log("[INFO] D3D12 initialized successfully"); + return true; +} + +void WaitForGPU() { + gCommandQueue.WaitForIdle(); +} + +void ExecuteCommandList() { + gCommandList.Close(); + void* commandLists[] = { gCommandList.GetCommandList() }; + gCommandQueue.ExecuteCommandLists(1, commandLists); +} + +void BeginRender() { + gCurrentRTIndex = gSwapChain.GetCurrentBackBufferIndex(); + + D3D12Texture& currentBackBuffer = gSwapChain.GetBackBuffer(gCurrentRTIndex); + gCommandList.TransitionBarrier(currentBackBuffer.GetResource(), + ResourceStates::Present, ResourceStates::RenderTarget); + + CPUDescriptorHandle rtvCpuHandle = gRTVHeap.GetCPUDescriptorHandle(gCurrentRTIndex); + CPUDescriptorHandle dsvCpuHandle = gDSVHeap.GetCPUDescriptorHandle(0); + D3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = { rtvCpuHandle.ptr }; + D3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = { dsvCpuHandle.ptr }; + + gCommandList.SetRenderTargetsHandle(1, &rtvHandle, &dsvHandle); + + Viewport viewport = { 0.0f, 0.0f, (float)gWidth, (float)gHeight, 0.0f, 1.0f }; + Rect scissorRect = { 0, 0, gWidth, gHeight }; + gCommandList.SetViewport(viewport); + gCommandList.SetScissorRect(scissorRect); + + float clearColor[] = { 0.0f, 0.0f, 1.0f, 1.0f }; + gCommandList.ClearRenderTargetView(rtvHandle, clearColor, 0, nullptr); + gCommandList.ClearDepthStencilView(dsvHandle, D3D12_CLEAR_FLAG_DEPTH | D3D12_CLEAR_FLAG_STENCIL, 1.0f, 0, 0, nullptr); +} + +void EndRender() { + D3D12Texture& currentBackBuffer = gSwapChain.GetBackBuffer(gCurrentRTIndex); + gCommandList.TransitionBarrier(currentBackBuffer.GetResource(), + ResourceStates::RenderTarget, ResourceStates::Present); +} + +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { + Logger::Get().Initialize(); + Logger::Get().AddSink(std::make_unique()); + Logger::Get().SetMinimumLevel(LogLevel::Debug); + + Log("[INFO] D3D12 Triangle Test Starting"); + + WNDCLASSEX wc = {}; + wc.cbSize = sizeof(WNDCLASSEX); + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = WindowProc; + wc.hInstance = hInstance; + wc.lpszClassName = L"D3D12TriangleTest"; + + if (!RegisterClassEx(&wc)) { + MessageBox(NULL, L"Failed to register window class", L"Error", MB_OK); + return -1; + } + + RECT rect = { 0, 0, gWidth, gHeight }; + AdjustWindowRect(&rect, WS_OVERLAPPEDWINDOW, FALSE); + + gHWND = CreateWindowEx(0, L"D3D12TriangleTest", L"D3D12 Triangle Test", + WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, + rect.right - rect.left, rect.bottom - rect.top, + NULL, NULL, hInstance, NULL); + + if (!gHWND) { + MessageBox(NULL, L"Failed to create window", L"Error", MB_OK); + return -1; + } + + if (!InitD3D12()) { + MessageBox(NULL, L"Failed to initialize D3D12", L"Error", MB_OK); + return -1; + } + + ShowWindow(gHWND, nShowCmd); + UpdateWindow(gHWND); + + MSG msg = {}; + int frameCount = 0; + const int targetFrameCount = 30; + + while (true) { + if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + if (msg.message == WM_QUIT) { + break; + } + TranslateMessage(&msg); + DispatchMessage(&msg); + } else { + if (frameCount > 0) { + gCommandQueue.WaitForPreviousFrame(); + } + + gCommandAllocator.Reset(); + gCommandList.Reset(); + + BeginRender(); + + gCommandList.SetPipelineState(gPipelineState.GetPipelineState()); + gCommandList.SetRootSignature(gRootSignature.GetRootSignature()); + gCommandList.SetPrimitiveTopology(PrimitiveTopology::TriangleList); + gCommandList.SetVertexBuffer(0, gVertexBuffer.GetResource(), 0, gVertexBuffer.GetStride()); + gCommandList.Draw(3, 1, 0, 0); + + frameCount++; + + if (frameCount >= targetFrameCount) { + Log("[INFO] Reached target frame count %d - taking screenshot before present!", targetFrameCount); + ExecuteCommandList(); + WaitForGPU(); + Log("[INFO] GPU idle, taking screenshot..."); + bool screenshotResult = D3D12Screenshot::Capture( + gDevice, + gCommandQueue, + gSwapChain.GetBackBuffer(gCurrentRTIndex), + "triangle.ppm" + ); + if (screenshotResult) { + Log("[INFO] Screenshot saved to triangle.ppm"); + } else { + Log("[ERROR] Screenshot failed"); + } + break; + } + + EndRender(); + ExecuteCommandList(); + gSwapChain.Present(0, 0); + } + } + + gCommandList.Shutdown(); + gCommandAllocator.Shutdown(); + gSwapChain.Shutdown(); + gDevice.Shutdown(); + + Logger::Get().Shutdown(); + + Log("[INFO] D3D12 Triangle Test Finished"); + return 0; +} \ No newline at end of file