Fix RHI constant binding and add sphere test

This commit is contained in:
2026-03-26 01:23:29 +08:00
parent c5605c2a32
commit 39edb0b497
17 changed files with 959 additions and 35 deletions

View File

@@ -156,7 +156,7 @@ void RHIIntegrationFixture::BeginRender() {
Log("[TEST] BeginRender: backBufferIndex=%d", mCurrentBackBufferIndex);
}
void RHIIntegrationFixture::SetRenderTargetForClear() {
void RHIIntegrationFixture::SetRenderTargetForClear(bool includeDepthStencil) {
if (GetParam() == RHIType::D3D12) {
Log("[TEST] SetRenderTargetForClear: D3D12 branch, mRTVs.size=%d, index=%d",
(int)mRTVs.size(), mCurrentBackBufferIndex);
@@ -167,7 +167,7 @@ void RHIIntegrationFixture::SetRenderTargetForClear() {
d3d12CmdList->TransitionBarrier(backBuffer->GetResource(), ResourceStates::Present, ResourceStates::RenderTarget);
RHIResourceView* rtv = mRTVs[mCurrentBackBufferIndex];
Log("[TEST] SetRenderTargetForClear: calling SetRenderTargets, rtv=%p", (void*)rtv);
mCommandList->SetRenderTargets(1, &rtv, nullptr);
mCommandList->SetRenderTargets(1, &rtv, includeDepthStencil ? mDSV : nullptr);
Log("[TEST] SetRenderTargetForClear: done");
} else {
Log("[TEST] SetRenderTargetForClear: skipped - condition failed");