Skip printing info for pipelines compiled during loading.

This commit is contained in:
Skyth 2024-11-27 14:37:51 +03:00
parent 8cbccf4b6e
commit 516b59467d

View file

@ -2743,69 +2743,80 @@ static RenderPipeline* CreateGraphicsPipelineInRenderThread(PipelineState pipeli
pipeline = CreateGraphicsPipeline(pipelineState); pipeline = CreateGraphicsPipeline(pipelineState);
#ifdef ASYNC_PSO_DEBUG #ifdef ASYNC_PSO_DEBUG
++g_pipelinesCreatedInRenderThread; bool loading = *reinterpret_cast<bool*>(g_memory.Translate(0x83367A4C));
pipeline->setName(std::format("{} {} {:X}",
if (loading)
++g_pipelinesCreatedAsynchronously;
else
++g_pipelinesCreatedInRenderThread;
pipeline->setName(std::format("{} {} {} {:X}", loading ? "ASYNC" : "",
pipelineState.vertexShader->name, pipelineState.pixelShader != nullptr ? pipelineState.pixelShader->name : "<none>", hash)); pipelineState.vertexShader->name, pipelineState.pixelShader != nullptr ? pipelineState.pixelShader->name : "<none>", hash));
std::lock_guard lock(g_debugMutex); if (!loading)
g_pipelineDebugText = std::format( {
"PipelineState {:X}:\n" std::lock_guard lock(g_debugMutex);
" vertexShader: {}\n" g_pipelineDebugText = std::format(
" pixelShader: {}\n" "PipelineState {:X}:\n"
" instancing: {}\n" " vertexShader: {}\n"
" zEnable: {}\n" " pixelShader: {}\n"
" zWriteEnable: {}\n" " vertexDeclaration: {:X}\n"
" srcBlend: {}\n" " instancing: {}\n"
" destBlend: {}\n" " zEnable: {}\n"
" cullMode: {}\n" " zWriteEnable: {}\n"
" zFunc: {}\n" " srcBlend: {}\n"
" alphaBlendEnable: {}\n" " destBlend: {}\n"
" blendOp: {}\n" " cullMode: {}\n"
" slopeScaledDepthBias: {}\n" " zFunc: {}\n"
" depthBias: {}\n" " alphaBlendEnable: {}\n"
" srcBlendAlpha: {}\n" " blendOp: {}\n"
" destBlendAlpha: {}\n" " slopeScaledDepthBias: {}\n"
" blendOpAlpha: {}\n" " depthBias: {}\n"
" colorWriteEnable: {:X}\n" " srcBlendAlpha: {}\n"
" primitiveTopology: {}\n" " destBlendAlpha: {}\n"
" vertexStrides[0]: {}\n" " blendOpAlpha: {}\n"
" vertexStrides[1]: {}\n" " colorWriteEnable: {:X}\n"
" vertexStrides[2]: {}\n" " primitiveTopology: {}\n"
" vertexStrides[3]: {}\n" " vertexStrides[0]: {}\n"
" renderTargetFormat: {}\n" " vertexStrides[1]: {}\n"
" depthStencilFormat: {}\n" " vertexStrides[2]: {}\n"
" sampleCount: {}\n" " vertexStrides[3]: {}\n"
" enableAlphaToCoverage: {}\n" " renderTargetFormat: {}\n"
" specConstants: {:X}\n", " depthStencilFormat: {}\n"
hash, " sampleCount: {}\n"
pipelineState.vertexShader->name, " enableAlphaToCoverage: {}\n"
pipelineState.pixelShader != nullptr ? pipelineState.pixelShader->name : "<none>", " specConstants: {:X}\n",
pipelineState.instancing, hash,
pipelineState.zEnable, pipelineState.vertexShader->name,
pipelineState.zWriteEnable, pipelineState.pixelShader != nullptr ? pipelineState.pixelShader->name : "<none>",
magic_enum::enum_name(pipelineState.srcBlend), reinterpret_cast<size_t>(pipelineState.vertexDeclaration),
magic_enum::enum_name(pipelineState.destBlend), pipelineState.instancing,
magic_enum::enum_name(pipelineState.cullMode), pipelineState.zEnable,
magic_enum::enum_name(pipelineState.zFunc), pipelineState.zWriteEnable,
pipelineState.alphaBlendEnable, magic_enum::enum_name(pipelineState.srcBlend),
magic_enum::enum_name(pipelineState.blendOp), magic_enum::enum_name(pipelineState.destBlend),
pipelineState.slopeScaledDepthBias, magic_enum::enum_name(pipelineState.cullMode),
pipelineState.depthBias, magic_enum::enum_name(pipelineState.zFunc),
magic_enum::enum_name(pipelineState.srcBlendAlpha), pipelineState.alphaBlendEnable,
magic_enum::enum_name(pipelineState.destBlendAlpha), magic_enum::enum_name(pipelineState.blendOp),
magic_enum::enum_name(pipelineState.blendOpAlpha), pipelineState.slopeScaledDepthBias,
pipelineState.colorWriteEnable, pipelineState.depthBias,
magic_enum::enum_name(pipelineState.primitiveTopology), magic_enum::enum_name(pipelineState.srcBlendAlpha),
pipelineState.vertexStrides[0], magic_enum::enum_name(pipelineState.destBlendAlpha),
pipelineState.vertexStrides[1], magic_enum::enum_name(pipelineState.blendOpAlpha),
pipelineState.vertexStrides[2], pipelineState.colorWriteEnable,
pipelineState.vertexStrides[3], magic_enum::enum_name(pipelineState.primitiveTopology),
magic_enum::enum_name(pipelineState.renderTargetFormat), pipelineState.vertexStrides[0],
magic_enum::enum_name(pipelineState.depthStencilFormat), pipelineState.vertexStrides[1],
pipelineState.sampleCount, pipelineState.vertexStrides[2],
pipelineState.enableAlphaToCoverage, pipelineState.vertexStrides[3],
pipelineState.specConstants) magic_enum::enum_name(pipelineState.renderTargetFormat),
+ g_pipelineDebugText; magic_enum::enum_name(pipelineState.depthStencilFormat),
pipelineState.sampleCount,
pipelineState.enableAlphaToCoverage,
pipelineState.specConstants)
+ g_pipelineDebugText;
}
#endif #endif
} }