mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-25 17:05:58 +01:00
deps: update wlroots (#2734)
This commit is contained in:
parent
5c8a20be77
commit
8c9e2e1ff1
8 changed files with 46 additions and 21 deletions
|
@ -48,11 +48,11 @@
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"lastModified": 1686753331,
|
"lastModified": 1689611045,
|
||||||
"narHash": "sha256-KovjVFwcuoUO0eu/UiWrnD3+m/K+SHSAVIz4xF9K1XA=",
|
"narHash": "sha256-3RTOlQabkNetQ4O4UzSf57JPco9VGVHhSU1ls5uKBeE=",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "7e7633abf09b362d0bad9e3fc650fd692369291d",
|
"rev": "7791ffe0584c4ac13c170e1661ce33bdbd4a9b9e",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
28
nix/wlroots-nvidia.patch
Normal file
28
nix/wlroots-nvidia.patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
diff --git a/types/output/render.c b/types/output/render.c
|
||||||
|
index 2e38919a..97f78608 100644
|
||||||
|
--- a/types/output/render.c
|
||||||
|
+++ b/types/output/render.c
|
||||||
|
@@ -240,22 +240,7 @@ bool output_pick_format(struct wlr_output *output,
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t wlr_output_preferred_read_format(struct wlr_output *output) {
|
||||||
|
- struct wlr_renderer *renderer = output->renderer;
|
||||||
|
- assert(renderer != NULL);
|
||||||
|
-
|
||||||
|
- if (!renderer->impl->preferred_read_format || !renderer->impl->read_pixels) {
|
||||||
|
- return DRM_FORMAT_INVALID;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (!wlr_output_attach_render(output, NULL)) {
|
||||||
|
- return false;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- uint32_t fmt = renderer->impl->preferred_read_format(renderer);
|
||||||
|
-
|
||||||
|
- output_clear_back_buffer(output);
|
||||||
|
-
|
||||||
|
- return fmt;
|
||||||
|
+ return DRM_FORMAT_XRGB8888;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct wlr_render_pass *wlr_output_begin_render_pass(struct wlr_output *output,
|
|
@ -44,10 +44,7 @@ assert (lib.assertMsg (hidpiXWayland -> enableXWayland) ''
|
||||||
})
|
})
|
||||||
])
|
])
|
||||||
++ (lib.optionals nvidiaPatches [
|
++ (lib.optionals nvidiaPatches [
|
||||||
(fetchpatch {
|
./wlroots-nvidia.patch
|
||||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-nvidia-format-workaround.patch?h=hyprland-nvidia-screenshare-git";
|
|
||||||
sha256 = "A9f1p5EW++mGCaNq8w7ZJfeWmvTfUm4iO+1KDcnqYX8=";
|
|
||||||
})
|
|
||||||
]);
|
]);
|
||||||
postPatch =
|
postPatch =
|
||||||
(old.postPatch or "")
|
(old.postPatch or "")
|
||||||
|
|
|
@ -465,7 +465,7 @@ void CCompositor::startCompositor() {
|
||||||
throw std::runtime_error("The backend could not start!");
|
throw std::runtime_error("The backend could not start!");
|
||||||
}
|
}
|
||||||
|
|
||||||
wlr_xcursor_manager_set_cursor_image(m_sWLRXCursorMgr, "left_ptr", m_sWLRCursor);
|
wlr_cursor_set_xcursor(m_sWLRCursor, m_sWLRXCursorMgr, "left_ptr");
|
||||||
|
|
||||||
#ifdef USES_SYSTEMD
|
#ifdef USES_SYSTEMD
|
||||||
if (sd_booted() > 0)
|
if (sd_booted() > 0)
|
||||||
|
|
|
@ -300,9 +300,9 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
|
||||||
if (g_pHyprRenderer->m_bHasARenderedCursor) {
|
if (g_pHyprRenderer->m_bHasARenderedCursor) {
|
||||||
// TODO: maybe wrap?
|
// TODO: maybe wrap?
|
||||||
if (m_ecbClickBehavior == CLICKMODE_KILL)
|
if (m_ecbClickBehavior == CLICKMODE_KILL)
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "crosshair");
|
||||||
else
|
else
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "left_ptr");
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bEmptyFocusCursorSet = true;
|
m_bEmptyFocusCursorSet = true;
|
||||||
|
@ -372,7 +372,7 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
|
||||||
// if (!m_bCursorImageOverridden) {
|
// if (!m_bCursorImageOverridden) {
|
||||||
// if (!VECINRECT(m_vLastCursorPosFloored, pFoundWindow->m_vRealPosition.vec().x, pFoundWindow->m_vRealPosition.vec().y,
|
// if (!VECINRECT(m_vLastCursorPosFloored, pFoundWindow->m_vRealPosition.vec().x, pFoundWindow->m_vRealPosition.vec().y,
|
||||||
// pFoundWindow->m_vRealPosition.vec().x + pFoundWindow->m_vRealSize.vec().x, pFoundWindow->m_vRealPosition.vec().y + pFoundWindow->m_vRealSize.vec().y)) {
|
// pFoundWindow->m_vRealPosition.vec().x + pFoundWindow->m_vRealSize.vec().x, pFoundWindow->m_vRealPosition.vec().y + pFoundWindow->m_vRealSize.vec().y)) {
|
||||||
// wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
|
// wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "left_ptr");
|
||||||
// cursorSurfaceInfo.bUsed = false;
|
// cursorSurfaceInfo.bUsed = false;
|
||||||
// } else if (!cursorSurfaceInfo.bUsed) {
|
// } else if (!cursorSurfaceInfo.bUsed) {
|
||||||
// cursorSurfaceInfo.bUsed = true;
|
// cursorSurfaceInfo.bUsed = true;
|
||||||
|
@ -478,7 +478,7 @@ void CInputManager::processMouseRequest(wlr_seat_pointer_request_set_cursor_even
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_ecbClickBehavior == CLICKMODE_KILL) {
|
if (m_ecbClickBehavior == CLICKMODE_KILL) {
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "crosshair");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -504,7 +504,7 @@ void CInputManager::setClickMode(eClickBehaviorMode mode) {
|
||||||
case CLICKMODE_DEFAULT:
|
case CLICKMODE_DEFAULT:
|
||||||
Debug::log(LOG, "SetClickMode: DEFAULT");
|
Debug::log(LOG, "SetClickMode: DEFAULT");
|
||||||
m_ecbClickBehavior = CLICKMODE_DEFAULT;
|
m_ecbClickBehavior = CLICKMODE_DEFAULT;
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "left_ptr");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CLICKMODE_KILL:
|
case CLICKMODE_KILL:
|
||||||
|
@ -516,7 +516,7 @@ void CInputManager::setClickMode(eClickBehaviorMode mode) {
|
||||||
refocus();
|
refocus();
|
||||||
|
|
||||||
// set cursor
|
// set cursor
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "crosshair");
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
@ -1444,7 +1444,7 @@ void CInputManager::destroySwitch(SSwitchDevice* pDevice) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CInputManager::setCursorImageUntilUnset(std::string name) {
|
void CInputManager::setCursorImageUntilUnset(std::string name) {
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, name.c_str(), g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, name.c_str());
|
||||||
m_bCursorImageOverridden = true;
|
m_bCursorImageOverridden = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1454,7 +1454,7 @@ void CInputManager::unsetCursorImage() {
|
||||||
|
|
||||||
m_bCursorImageOverridden = false;
|
m_bCursorImageOverridden = false;
|
||||||
if (!g_pHyprRenderer->m_bWindowRequestedCursorHide)
|
if (!g_pHyprRenderer->m_bWindowRequestedCursorHide)
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "left_ptr");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CInputManager::deviceNameToInternalString(std::string in) {
|
std::string CInputManager::deviceNameToInternalString(std::string in) {
|
||||||
|
|
|
@ -57,7 +57,7 @@ void renderSurface(struct wlr_surface* surface, int x, int y, void* data) {
|
||||||
|
|
||||||
if (!g_pHyprRenderer->m_bBlockSurfaceFeedback) {
|
if (!g_pHyprRenderer->m_bBlockSurfaceFeedback) {
|
||||||
wlr_surface_send_frame_done(surface, RDATA->when);
|
wlr_surface_send_frame_done(surface, RDATA->when);
|
||||||
wlr_presentation_surface_sampled_on_output(g_pCompositor->m_sWLRPresentation, surface, RDATA->pMonitor->output);
|
wlr_presentation_surface_scanned_out_on_output(g_pCompositor->m_sWLRPresentation, surface, RDATA->pMonitor->output);
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset the UV, we might've set it above
|
// reset the UV, we might've set it above
|
||||||
|
@ -779,7 +779,7 @@ bool CHyprRenderer::attemptDirectScanout(CMonitor* pMonitor) {
|
||||||
timespec now;
|
timespec now;
|
||||||
clock_gettime(CLOCK_MONOTONIC, &now);
|
clock_gettime(CLOCK_MONOTONIC, &now);
|
||||||
wlr_surface_send_frame_done(PSURFACE, &now);
|
wlr_surface_send_frame_done(PSURFACE, &now);
|
||||||
wlr_presentation_surface_sampled_on_output(g_pCompositor->m_sWLRPresentation, PSURFACE, pMonitor->output);
|
wlr_presentation_surface_scanned_out_on_output(g_pCompositor->m_sWLRPresentation, PSURFACE, pMonitor->output);
|
||||||
|
|
||||||
if (wlr_output_commit(pMonitor->output)) {
|
if (wlr_output_commit(pMonitor->output)) {
|
||||||
if (!m_pLastScanout) {
|
if (!m_pLastScanout) {
|
||||||
|
@ -1918,7 +1918,7 @@ void CHyprRenderer::ensureCursorRenderingMode() {
|
||||||
m_bHasARenderedCursor = true;
|
m_bHasARenderedCursor = true;
|
||||||
|
|
||||||
if (!m_bWindowRequestedCursorHide)
|
if (!m_bWindowRequestedCursorHide)
|
||||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
|
wlr_cursor_set_xcursor(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sWLRXCursorMgr, "left_ptr");
|
||||||
|
|
||||||
Debug::log(LOG, "Showing the cursor (timeout)");
|
Debug::log(LOG, "Showing the cursor (timeout)");
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7e7633abf09b362d0bad9e3fc650fd692369291d
|
Subproject commit 7791ffe0584c4ac13c170e1661ce33bdbd4a9b9e
|
|
@ -1,7 +1,7 @@
|
||||||
[wrap-git]
|
[wrap-git]
|
||||||
directory = wlroots
|
directory = wlroots
|
||||||
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
|
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
|
||||||
revision = 6e8fb5509f2c94d09d4efa0f9b1f40b37bf73863
|
revision = 7791ffe0584c4ac13c170e1661ce33bdbd4a9b9e
|
||||||
depth = 1
|
depth = 1
|
||||||
|
|
||||||
diff_files = wlroots-meson-build.patch
|
diff_files = wlroots-meson-build.patch
|
||||||
|
|
Loading…
Reference in a new issue