diff --git a/UnleashedRecomp/gpu/video.cpp b/UnleashedRecomp/gpu/video.cpp index 59d6ff1f..2fcfdccd 100644 --- a/UnleashedRecomp/gpu/video.cpp +++ b/UnleashedRecomp/gpu/video.cpp @@ -2736,9 +2736,7 @@ static RenderPipeline* CreateGraphicsPipelineInRenderThread(PipelineState pipeli pipeline = CreateGraphicsPipeline(pipelineState); #ifdef ASYNC_PSO_DEBUG - if (pipelineState.zEnable) // Should ignore most post effect/2D shaders. - ++g_pipelinesCreatedInRenderThread; - + ++g_pipelinesCreatedInRenderThread; pipeline->setName(std::format("Render Thread Pipeline {:X}", hash)); #endif } @@ -2866,15 +2864,6 @@ static void FlushRenderStateForMainThread(GuestDevice* device, LocalRenderComman static void ProcSetBooleans(const RenderCommand& cmd) { SetDirtyValue(g_dirtyStates.sharedConstants, g_sharedConstants.booleans, cmd.setBooleans.booleans); - - // mrgHasBone - uint32_t specConstants = g_pipelineState.specConstants; - if ((cmd.setBooleans.booleans & 0x1) != 0) - specConstants |= SPEC_CONSTANT_HAS_BONE; - else - specConstants &= ~SPEC_CONSTANT_HAS_BONE; - - SetDirtyValue(g_dirtyStates.pipelineState, g_pipelineState.specConstants, specConstants); } static void ProcSetSamplerState(const RenderCommand& cmd) @@ -4320,7 +4309,6 @@ static void CreateGraphicsPipelineInPipelineThread(const PipelineState& pipeline struct CompilationArgs { - bool hasBone; bool noGI; }; @@ -4379,9 +4367,6 @@ static void CompileMeshPipeline(Hedgehog::Mirage::CMeshData* mesh, MeshLayer lay pipelineState.vertexStrides[0] = mesh->m_VertexSize; pipelineState.depthStencilFormat = RenderFormat::D32_FLOAT; - if (args.hasBone) - pipelineState.specConstants |= SPEC_CONSTANT_HAS_BONE; - if (layer == MeshLayer::PunchThrough) pipelineState.specConstants |= SPEC_CONSTANT_ALPHA_TEST; @@ -4443,9 +4428,6 @@ static void CompileMeshPipeline(Hedgehog::Mirage::CMeshData* mesh, MeshLayer lay if (pipelineState.vertexDeclaration->hasR11G11B10Normal) pipelineState.specConstants |= SPEC_CONSTANT_R11G11B10_NORMAL; - if (args.hasBone) - pipelineState.specConstants |= SPEC_CONSTANT_HAS_BONE; - if (Config::GITextureFiltering == EGITextureFiltering::Bicubic) pipelineState.specConstants |= SPEC_CONSTANT_BICUBIC_GI_FILTER; @@ -4525,14 +4507,9 @@ static void PipelineCompilerThread() } if (databaseData->m_pVftable.ptr == TERRAIN_MODEL_DATA_VFTABLE) - { - CompileMeshPipelines(*reinterpret_cast(databaseData.get()), { false, false }); - } + CompileMeshPipelines(*reinterpret_cast(databaseData.get()), { false }); else - { - auto modelData = reinterpret_cast(databaseData.get()); - CompileMeshPipelines(*modelData, { modelData->m_NodeNum > 1, true }); - } + CompileMeshPipelines(*reinterpret_cast(databaseData.get()), { true }); databaseData->m_Flags &= ~eDatabaseDataFlags_CompilingPipelines; diff --git a/thirdparty/ShaderRecomp b/thirdparty/ShaderRecomp index 31513fbf..bd987289 160000 --- a/thirdparty/ShaderRecomp +++ b/thirdparty/ShaderRecomp @@ -1 +1 @@ -Subproject commit 31513fbfbbd91a2062c700e4ac060bd0e92b6f2e +Subproject commit bd9872894411060e8b72c8eada341406a350d21d