mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-07-31 20:21:54 -07:00
core: disable esync for non-linux kernels
ref #10437, BSD doesn't support timeline fds
This commit is contained in:
@@ -359,6 +359,7 @@ void CCompositor::initServer(std::string socketName, int socketFd) {
|
||||
m_drmFD = m_aqBackend->drmFD();
|
||||
Debug::log(LOG, "Running on DRMFD: {}", m_drmFD);
|
||||
|
||||
#if defined(__linux__)
|
||||
if (m_drmFD >= 0) {
|
||||
uint64_t cap = 0;
|
||||
int ret = drmGetCap(m_drmFD, DRM_CAP_SYNCOBJ_TIMELINE, &cap);
|
||||
@@ -368,6 +369,10 @@ void CCompositor::initServer(std::string socketName, int socketFd) {
|
||||
m_bDrmSyncobjTimelineSupported = false;
|
||||
Debug::log(LOG, "DRM syncobj timeline support: no (no DRM FD)");
|
||||
}
|
||||
#else
|
||||
Debug::log(LOG, "DRM syncobj timeline support: no (not linux)");
|
||||
m_bDrmSyncobjTimelineSupported = false;
|
||||
#endif
|
||||
|
||||
if (!socketName.empty() && socketFd != -1) {
|
||||
fcntl(socketFd, F_SETFD, FD_CLOEXEC);
|
||||
|
@@ -347,10 +347,15 @@ CHyprOpenGLImpl::CHyprOpenGLImpl() : m_drmFD(g_pCompositor->m_drmFD) {
|
||||
|
||||
Debug::log(LOG, "Supported EGL display extensions: ({}) {}", std::ranges::count(EGLEXTENSIONS_DISPLAY, ' '), EGLEXTENSIONS_DISPLAY);
|
||||
|
||||
#if defined(__linux__)
|
||||
m_exts.EGL_ANDROID_native_fence_sync_ext = EGLEXTENSIONS_DISPLAY.contains("EGL_ANDROID_native_fence_sync");
|
||||
|
||||
if (!m_exts.EGL_ANDROID_native_fence_sync_ext)
|
||||
Debug::log(WARN, "Your GPU does not support explicit sync via the EGL_ANDROID_native_fence_sync extension.");
|
||||
#else
|
||||
m_exts.EGL_ANDROID_native_fence_sync_ext = false;
|
||||
Debug::log(WARN, "Forcefully disabling explicit sync: BSD is missing support for proper timeline export");
|
||||
#endif
|
||||
|
||||
#ifdef USE_TRACY_GPU
|
||||
|
||||
|
Reference in New Issue
Block a user