renderer: Explicit sync fixes (#7151)

Enables explicit sync by default for most platforms

`misc:no_direct_scanout` -> `render:direct_scanout`
This commit is contained in:
Vaxry
2024-08-06 14:52:19 +01:00
committed by GitHub
parent 0e86808e59
commit 640d161851
24 changed files with 378 additions and 165 deletions

View File

@@ -39,6 +39,10 @@ class CToplevelExportProtocolManager;
class CInputManager;
struct SSessionLockSurface;
struct SExplicitSyncSettings {
bool explicitEnabled = false, explicitKMSEnabled = false;
};
class CHyprRenderer {
public:
CHyprRenderer();
@@ -73,6 +77,7 @@ class CHyprRenderer {
bool isNvidia();
void makeEGLCurrent();
void unsetEGL();
SExplicitSyncSettings getExplicitSyncSettings();
// if RENDER_MODE_NORMAL, provided damage will be written to.
// otherwise, it will be the one used.
@@ -142,6 +147,7 @@ class CHyprRenderer {
friend class CToplevelExportFrame;
friend class CInputManager;
friend class CPointerManager;
friend class CMonitor;
};
inline std::unique_ptr<CHyprRenderer> g_pHyprRenderer;