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

@ -190,6 +190,7 @@ void D3D11Device::SetFeatures(FeatureMask disabled_features)
m_features.geometry_shaders = !(disabled_features & FEATURE_MASK_GEOMETRY_SHADERS);
m_features.partial_msaa_resolve = false;
m_features.memory_import = false;
m_features.explicit_present = false;
m_features.gpu_timing = true;
m_features.shader_cache = true;
m_features.pipeline_cache = false;
@ -644,8 +645,9 @@ bool D3D11Device::BeginPresent(bool skip_present)
return true;
}
void D3D11Device::EndPresent()
void D3D11Device::EndPresent(bool explicit_present)
{
DebugAssert(!explicit_present);
DebugAssert(m_num_current_render_targets == 0 && !m_current_depth_target);
if (m_vsync_enabled && m_gpu_timing_enabled)
@ -665,6 +667,11 @@ void D3D11Device::EndPresent()
TrimTexturePool();
}
void D3D11Device::SubmitPresent()
{
Panic("Not supported by this API.");
}
GPUDevice::AdapterAndModeList D3D11Device::StaticGetAdapterAndModeList()
{
AdapterAndModeList ret;