[idd] transport: intersect frame capabilities

This commit is contained in:
Geoffrey McRae
2026-08-12 23:53:52 +10:00
parent c601468871
commit 5b09d4f90a
16 changed files with 334 additions and 176 deletions

View File

@@ -272,7 +272,7 @@ void CDeviceContext::InitAdapter()
return;
}
DEBUG_TRACE("Loading configured display modes");
if (!m_displayConfiguration.Load(m_transport->GetMemoryLimits()))
if (!m_displayConfiguration.Load(*m_transport))
{
m_initInProgress.store(0);
return;
@@ -405,8 +405,7 @@ void CDeviceContext::ReplugMonitor()
void CDeviceContext::ReloadSettings()
{
if (!m_displayConfiguration.ReloadSettings(
m_transport->GetMemoryLimits()))
if (!m_displayConfiguration.ReloadSettings(*m_transport))
return;
ReplugMonitor();
@@ -449,7 +448,7 @@ void CDeviceContext::SetResolution(uint32_t width, uint32_t height)
{
const CDisplayConfiguration::ResolutionResult result =
m_displayConfiguration.SetResolution(
width, height, m_transport->GetMemoryLimits());
width, height, *m_transport);
switch (result.status)
{
@@ -464,6 +463,10 @@ void CDeviceContext::SetResolution(uint32_t width, uint32_t height)
g_pipe.ResolutionRejected(width, height, result.requiredMiB);
break;
case CDisplayConfiguration::ResolutionStatus::UNSUPPORTED:
g_pipe.ResolutionRejected(width, height, 0);
break;
default:
break;
}