renderer: fix dgpu directscanout explicit sync (#13229)
* directscanout: fix dgpu directscanout explicit sync without setting an infence, AQ doesnt explicit sync, nor recreate the dgpu fence for the blit work. and as such attemptdirectscanout path artifacts and breaks. create a dummy CEGLSync even tho we dont really have any pending glwork to get a proper fence, and set it. * monitor: dont use new scheduling if direct scanout using the new_render_scheduling makes no sense in the direct scanout path, add a if guard against it.
This commit is contained in:
parent
1c767de9da
commit
1bf410e1fc
2 changed files with 13 additions and 2 deletions
|
|
@ -11,7 +11,7 @@ CMonitorFrameScheduler::CMonitorFrameScheduler(PHLMONITOR m) : m_monitor(m) {
|
|||
bool CMonitorFrameScheduler::newSchedulingEnabled() {
|
||||
static auto PENABLENEW = CConfigValue<Hyprlang::INT>("render:new_render_scheduling");
|
||||
|
||||
return *PENABLENEW && g_pHyprOpenGL->explicitSyncSupported();
|
||||
return *PENABLENEW && g_pHyprOpenGL->explicitSyncSupported() && m_monitor && !m_monitor->m_directScanoutIsActive;
|
||||
}
|
||||
|
||||
void CMonitorFrameScheduler::onSyncFired() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue