Skip to content

Commit 5d3c50f

Browse files
committed
added early "generate mips 2D/3D" PSO creation in DX12 due to potential race conditions later
1 parent 92dbadb commit 5d3c50f

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

source/EveryRay_Core/RHI/DX12/ER_RHI_DX12.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,11 @@ namespace EveryRay_Core
304304
mGenerateMips2DRS->InitDescriptorTable(this, 1, { ER_RHI_DESCRIPTOR_RANGE_TYPE::ER_RHI_DESCRIPTOR_RANGE_TYPE_UAV }, { 0 }, { 1 });
305305
mGenerateMips2DRS->InitConstant(this, 2, 0, 3);
306306
mGenerateMips2DRS->Finalize(this, "ER_RHI_GPURootSignature: Generate Mips 2D");
307+
308+
InitializePSO(mGenerateMips2DPSOName, true);
309+
SetRootSignatureToPSO(mGenerateMips2DPSOName, mGenerateMips2DRS, true);
310+
SetShader(mGenerateMips2DCS);
311+
FinalizePSO(mGenerateMips2DPSOName, true);
307312
}
308313

309314
mGenerateMips3DRS = CreateRootSignature(3, 1);
@@ -314,6 +319,11 @@ namespace EveryRay_Core
314319
mGenerateMips3DRS->InitDescriptorTable(this, 1, { ER_RHI_DESCRIPTOR_RANGE_TYPE::ER_RHI_DESCRIPTOR_RANGE_TYPE_UAV }, { 0 }, { 1 });
315320
mGenerateMips3DRS->InitConstant(this, 2, 0, 4);
316321
mGenerateMips3DRS->Finalize(this, "ER_RHI_GPURootSignature: Generate Mips 3D");
322+
323+
InitializePSO(mGenerateMips3DPSOName, true);
324+
SetRootSignatureToPSO(mGenerateMips3DPSOName, mGenerateMips3DRS, true);
325+
SetShader(mGenerateMips3DCS);
326+
FinalizePSO(mGenerateMips3DPSOName, true);
317327
}
318328
}
319329

0 commit comments

Comments
 (0)