mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-22 13:37:06 +00:00
Remove LatteShader_FinishCompilation
CleanupAfterCompile is already done in LatteShader_CreateRendererShader WaitForCompiled is already done in PreponeCompilation
This commit is contained in:
parent
25c8f0a5ff
commit
55d2ac0e43
4 changed files with 9 additions and 18 deletions
|
|
@ -357,19 +357,6 @@ void LatteShader_CreateRendererShader(LatteDecompilerShader* shader, bool compil
|
|||
LatteShader_CleanupAfterCompile(shader);
|
||||
}
|
||||
|
||||
void LatteShader_FinishCompilation(LatteDecompilerShader* shader)
|
||||
{
|
||||
if (shader->hasError)
|
||||
{
|
||||
cemuLog_logDebug(LogType::Force, "LatteShader_finishCompilation(): Skipped because of error in shader {:x}", shader->baseHash);
|
||||
return;
|
||||
}
|
||||
shader->shader->WaitForCompiled();
|
||||
|
||||
LatteShader_prepareSeparableUniforms(shader);
|
||||
LatteShader_CleanupAfterCompile(shader);
|
||||
}
|
||||
|
||||
void LatteSHRC_RegisterShader(LatteDecompilerShader* shader, uint64 baseHash, uint64 auxHash)
|
||||
{
|
||||
auto& cache = LatteSHRC_GetCacheByType(shader->shaderType);
|
||||
|
|
@ -768,7 +755,7 @@ LatteDecompilerShader* LatteShader_CompileSeparableVertexShader(uint64 baseHash,
|
|||
{
|
||||
if (vertexShader->shader)
|
||||
vertexShader->shader->PreponeCompilation();
|
||||
LatteShader_FinishCompilation(vertexShader);
|
||||
LatteShader_prepareSeparableUniforms(vertexShader);
|
||||
}
|
||||
|
||||
LatteSHRC_RegisterShader(vertexShader, vertexShader->baseHash, vertexShader->auxHash);
|
||||
|
|
@ -797,7 +784,7 @@ LatteDecompilerShader* LatteShader_CompileSeparableGeometryShader(uint64 baseHas
|
|||
{
|
||||
if (geometryShader->shader)
|
||||
geometryShader->shader->PreponeCompilation();
|
||||
LatteShader_FinishCompilation(geometryShader);
|
||||
LatteShader_prepareSeparableUniforms(geometryShader);
|
||||
}
|
||||
|
||||
LatteSHRC_RegisterShader(geometryShader, geometryShader->baseHash, geometryShader->auxHash);
|
||||
|
|
@ -826,7 +813,7 @@ LatteDecompilerShader* LatteShader_CompileSeparablePixelShader(uint64 baseHash,
|
|||
{
|
||||
if (pixelShader->shader)
|
||||
pixelShader->shader->PreponeCompilation();
|
||||
LatteShader_FinishCompilation(pixelShader);
|
||||
LatteShader_prepareSeparableUniforms(pixelShader);
|
||||
}
|
||||
|
||||
LatteSHRC_RegisterShader(pixelShader, _shaderBaseHash_ps, psAuxHash);
|
||||
|
|
|
|||
|
|
@ -99,7 +99,6 @@ void LatteShader_GetDecompilerOptions(struct LatteDecompilerOptions& options, La
|
|||
LatteDecompilerShader* LatteShader_CreateShaderFromDecompilerOutput(LatteDecompilerOutput_t& decompilerOutput, uint64 baseHash, bool calculateAuxHash, uint64 optionalAuxHash, uint32* contextRegister);
|
||||
|
||||
void LatteShader_CreateRendererShader(LatteDecompilerShader* shader, bool compileAsync);
|
||||
void LatteShader_FinishCompilation(LatteDecompilerShader* shader);
|
||||
|
||||
void LatteShader_prepareSeparableUniforms(LatteDecompilerShader* shader);
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,10 @@ void LatteShaderCache_updateCompileQueue(sint32 maxRemainingEntries)
|
|||
break;
|
||||
auto shader = shaderCompileQueue.entry[0].shader;
|
||||
if (shader)
|
||||
LatteShader_FinishCompilation(shader);
|
||||
{
|
||||
shader->shader->PreponeCompilation();
|
||||
LatteShader_prepareSeparableUniforms(shader);
|
||||
}
|
||||
LatteShaderCache_removeFromCompileQueue(0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ void LatteShader_prepareSeparableUniforms(LatteDecompilerShader* shader)
|
|||
{
|
||||
if (g_renderer->GetType() == RendererAPI::Vulkan)
|
||||
return;
|
||||
if(shader->hasError)
|
||||
return;
|
||||
|
||||
auto shaderGL = (RendererShaderGL*)shader->shader;
|
||||
// setup uniform info
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue