GPUDevice: Split submission and presentation

This commit is contained in:
Stenzek
2024-04-11 22:29:17 +10:00
parent 3e9ac99d54
commit 7344661801
15 changed files with 94 additions and 39 deletions

View File

@ -479,6 +479,7 @@ bool OpenGLDevice::CheckFeatures(FeatureMask disabled_features)
(!GLAD_GL_EXT_disjoint_timer_query || !glGetQueryObjectivEXT || !glGetQueryObjectui64vEXT));
m_features.partial_msaa_resolve = true;
m_features.memory_import = true;
m_features.explicit_present = false;
m_features.shader_cache = false;
@ -774,8 +775,9 @@ bool OpenGLDevice::BeginPresent(bool skip_present)
return true;
}
void OpenGLDevice::EndPresent()
void OpenGLDevice::EndPresent(bool explicit_present)
{
DebugAssert(!explicit_present);
DebugAssert(m_current_fbo == 0);
if (m_gpu_timing_enabled)
@ -789,6 +791,11 @@ void OpenGLDevice::EndPresent()
TrimTexturePool();
}
void OpenGLDevice::SubmitPresent()
{
Panic("Not supported by this API.");
}
void OpenGLDevice::CreateTimestampQueries()
{
const bool gles = m_gl_context->IsGLES();