diff --git a/CMakeLists.txt b/CMakeLists.txt index a00879fe..d2f23696 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,8 +73,8 @@ add_definitions(-DEMULATOR_VERSION_PATCH=${EMULATOR_VERSION_PATCH}) set_property(GLOBAL PROPERTY USE_FOLDERS ON) # enable link time optimization for release builds -set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON) -set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON) +#set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)# +#set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON)# if (MSVC) set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT CemuBin) diff --git a/src/Cafe/HW/Latte/Renderer/Metal/MetalPipelineCompiler.cpp b/src/Cafe/HW/Latte/Renderer/Metal/MetalPipelineCompiler.cpp index 6193ab10..737554ed 100644 --- a/src/Cafe/HW/Latte/Renderer/Metal/MetalPipelineCompiler.cpp +++ b/src/Cafe/HW/Latte/Renderer/Metal/MetalPipelineCompiler.cpp @@ -176,8 +176,8 @@ static RendererShaderMtl* rectsEmulationGS_generate(MetalRenderer* metalRenderer gsSrc.append("}\r\n"); - auto mtlShader = new RendererShaderMtl(metalRenderer, RendererShader::ShaderType::kGeometry, 0, 0, false, false, gsSrc); - mtlShader->PreponeCompilation(true); + auto mtlShader = new RendererShaderMtl(metalRenderer, RendererShader::ShaderType::kGeometry, 0, 0, false, false, std::move(gsSrc)); + mtlShader->PreponeCompilation(); return mtlShader; } @@ -321,11 +321,11 @@ bool MetalPipelineCompiler::Compile(bool forceCompile, bool isRenderThread, bool { // if some shader stages are not compiled yet, compile them now if (m_vertexShaderMtl && !m_vertexShaderMtl->IsCompiled()) - m_vertexShaderMtl->PreponeCompilation(isRenderThread); + m_vertexShaderMtl->PreponeCompilation(); if (m_geometryShaderMtl && !m_geometryShaderMtl->IsCompiled()) - m_geometryShaderMtl->PreponeCompilation(isRenderThread); + m_geometryShaderMtl->PreponeCompilation(); if (m_pixelShaderMtl && !m_pixelShaderMtl->IsCompiled()) - m_pixelShaderMtl->PreponeCompilation(isRenderThread); + m_pixelShaderMtl->PreponeCompilation(); } else { diff --git a/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp b/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp index a6f9d5aa..bf94bddc 100644 --- a/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp +++ b/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp @@ -231,7 +231,7 @@ RendererShaderMtl::~RendererShaderMtl() m_function->release(); } -void RendererShaderMtl::PreponeCompilation(bool isRenderThread) +void RendererShaderMtl::PreponeCompilation() { shaderMtlThreadPool.s_compilationQueueMutex.lock(); bool isStillQueued = m_compilationState.hasState(COMPILATION_STATE::QUEUED); diff --git a/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.h b/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.h index 64b42fd0..0246223a 100644 --- a/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.h +++ b/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.h @@ -36,7 +36,7 @@ public: return m_function; } - void PreponeCompilation(bool isRenderThread) override; + void PreponeCompilation() override; bool IsCompiled() override; bool WaitForCompiled() override;