From fde79061b98788c445e5a995cbdb9d4d45e870d5 Mon Sep 17 00:00:00 2001 From: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Date: Sun, 8 Dec 2024 00:00:12 +0300 Subject: [PATCH] Precompile pipelines for the custom gaussian blur shaders. --- UnleashedRecomp/gpu/video.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/UnleashedRecomp/gpu/video.cpp b/UnleashedRecomp/gpu/video.cpp index 5f427fc2..9459fb13 100644 --- a/UnleashedRecomp/gpu/video.cpp +++ b/UnleashedRecomp/gpu/video.cpp @@ -5464,8 +5464,23 @@ static void ModelConsumerThread() EnqueueGraphicsPipelineCompilation(msaaPipelineState, emptyHolderPair, "Precompiled Pipeline MSAA"); } - SanitizePipelineState(pipelineState); - EnqueueGraphicsPipelineCompilation(pipelineState, emptyHolderPair, "Precompiled Pipeline"); + // Compile the custom gaussian blur shaders that we pass to the game. + if (pipelineState.pixelShader != nullptr && + pipelineState.pixelShader->shaderCacheEntry != nullptr && + pipelineState.pixelShader->shaderCacheEntry->hash == 0x4294510C775F4EE8) + { + for (auto& shader : g_gaussianBlurShaders) + { + pipelineState.pixelShader = shader.get(); + SanitizePipelineState(pipelineState); + EnqueueGraphicsPipelineCompilation(pipelineState, emptyHolderPair, "Precompiled Gaussian Blur Pipeline"); + } + } + else + { + SanitizePipelineState(pipelineState); + EnqueueGraphicsPipelineCompilation(pipelineState, emptyHolderPair, "Precompiled Pipeline"); + } } g_pendingPipelineStateCache = false;