From 516b59467ddb807111baa304422c2af80bf22e1d Mon Sep 17 00:00:00 2001 From: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Date: Wed, 27 Nov 2024 14:37:51 +0300 Subject: [PATCH] Skip printing info for pipelines compiled during loading. --- UnleashedRecomp/gpu/video.cpp | 133 ++++++++++++++++++---------------- 1 file changed, 72 insertions(+), 61 deletions(-) diff --git a/UnleashedRecomp/gpu/video.cpp b/UnleashedRecomp/gpu/video.cpp index a2d24628..1181004a 100644 --- a/UnleashedRecomp/gpu/video.cpp +++ b/UnleashedRecomp/gpu/video.cpp @@ -2743,69 +2743,80 @@ static RenderPipeline* CreateGraphicsPipelineInRenderThread(PipelineState pipeli pipeline = CreateGraphicsPipeline(pipelineState); #ifdef ASYNC_PSO_DEBUG - ++g_pipelinesCreatedInRenderThread; - pipeline->setName(std::format("{} {} {:X}", + bool loading = *reinterpret_cast(g_memory.Translate(0x83367A4C)); + + if (loading) + ++g_pipelinesCreatedAsynchronously; + else + ++g_pipelinesCreatedInRenderThread; + + pipeline->setName(std::format("{} {} {} {:X}", loading ? "ASYNC" : "", pipelineState.vertexShader->name, pipelineState.pixelShader != nullptr ? pipelineState.pixelShader->name : "", hash)); - std::lock_guard lock(g_debugMutex); - g_pipelineDebugText = std::format( - "PipelineState {:X}:\n" - " vertexShader: {}\n" - " pixelShader: {}\n" - " instancing: {}\n" - " zEnable: {}\n" - " zWriteEnable: {}\n" - " srcBlend: {}\n" - " destBlend: {}\n" - " cullMode: {}\n" - " zFunc: {}\n" - " alphaBlendEnable: {}\n" - " blendOp: {}\n" - " slopeScaledDepthBias: {}\n" - " depthBias: {}\n" - " srcBlendAlpha: {}\n" - " destBlendAlpha: {}\n" - " blendOpAlpha: {}\n" - " colorWriteEnable: {:X}\n" - " primitiveTopology: {}\n" - " vertexStrides[0]: {}\n" - " vertexStrides[1]: {}\n" - " vertexStrides[2]: {}\n" - " vertexStrides[3]: {}\n" - " renderTargetFormat: {}\n" - " depthStencilFormat: {}\n" - " sampleCount: {}\n" - " enableAlphaToCoverage: {}\n" - " specConstants: {:X}\n", - hash, - pipelineState.vertexShader->name, - pipelineState.pixelShader != nullptr ? pipelineState.pixelShader->name : "", - pipelineState.instancing, - pipelineState.zEnable, - pipelineState.zWriteEnable, - magic_enum::enum_name(pipelineState.srcBlend), - magic_enum::enum_name(pipelineState.destBlend), - magic_enum::enum_name(pipelineState.cullMode), - magic_enum::enum_name(pipelineState.zFunc), - pipelineState.alphaBlendEnable, - magic_enum::enum_name(pipelineState.blendOp), - pipelineState.slopeScaledDepthBias, - pipelineState.depthBias, - magic_enum::enum_name(pipelineState.srcBlendAlpha), - magic_enum::enum_name(pipelineState.destBlendAlpha), - magic_enum::enum_name(pipelineState.blendOpAlpha), - pipelineState.colorWriteEnable, - magic_enum::enum_name(pipelineState.primitiveTopology), - pipelineState.vertexStrides[0], - pipelineState.vertexStrides[1], - pipelineState.vertexStrides[2], - pipelineState.vertexStrides[3], - magic_enum::enum_name(pipelineState.renderTargetFormat), - magic_enum::enum_name(pipelineState.depthStencilFormat), - pipelineState.sampleCount, - pipelineState.enableAlphaToCoverage, - pipelineState.specConstants) - + g_pipelineDebugText; + if (!loading) + { + std::lock_guard lock(g_debugMutex); + g_pipelineDebugText = std::format( + "PipelineState {:X}:\n" + " vertexShader: {}\n" + " pixelShader: {}\n" + " vertexDeclaration: {:X}\n" + " instancing: {}\n" + " zEnable: {}\n" + " zWriteEnable: {}\n" + " srcBlend: {}\n" + " destBlend: {}\n" + " cullMode: {}\n" + " zFunc: {}\n" + " alphaBlendEnable: {}\n" + " blendOp: {}\n" + " slopeScaledDepthBias: {}\n" + " depthBias: {}\n" + " srcBlendAlpha: {}\n" + " destBlendAlpha: {}\n" + " blendOpAlpha: {}\n" + " colorWriteEnable: {:X}\n" + " primitiveTopology: {}\n" + " vertexStrides[0]: {}\n" + " vertexStrides[1]: {}\n" + " vertexStrides[2]: {}\n" + " vertexStrides[3]: {}\n" + " renderTargetFormat: {}\n" + " depthStencilFormat: {}\n" + " sampleCount: {}\n" + " enableAlphaToCoverage: {}\n" + " specConstants: {:X}\n", + hash, + pipelineState.vertexShader->name, + pipelineState.pixelShader != nullptr ? pipelineState.pixelShader->name : "", + reinterpret_cast(pipelineState.vertexDeclaration), + pipelineState.instancing, + pipelineState.zEnable, + pipelineState.zWriteEnable, + magic_enum::enum_name(pipelineState.srcBlend), + magic_enum::enum_name(pipelineState.destBlend), + magic_enum::enum_name(pipelineState.cullMode), + magic_enum::enum_name(pipelineState.zFunc), + pipelineState.alphaBlendEnable, + magic_enum::enum_name(pipelineState.blendOp), + pipelineState.slopeScaledDepthBias, + pipelineState.depthBias, + magic_enum::enum_name(pipelineState.srcBlendAlpha), + magic_enum::enum_name(pipelineState.destBlendAlpha), + magic_enum::enum_name(pipelineState.blendOpAlpha), + pipelineState.colorWriteEnable, + magic_enum::enum_name(pipelineState.primitiveTopology), + pipelineState.vertexStrides[0], + pipelineState.vertexStrides[1], + pipelineState.vertexStrides[2], + pipelineState.vertexStrides[3], + magic_enum::enum_name(pipelineState.renderTargetFormat), + magic_enum::enum_name(pipelineState.depthStencilFormat), + pipelineState.sampleCount, + pipelineState.enableAlphaToCoverage, + pipelineState.specConstants) + + g_pipelineDebugText; + } #endif }