Compare commits

...

3 commits
v0.4.4 ... main

Author SHA1 Message Date
Vaxry
980ebd486b
version: bump to 0.4.5
Some checks failed
Build Hyprpicker (Nix) / Build (push) Has been cancelled
2025-05-01 01:54:26 +01:00
Honkazel
5dcb341c13
clang-tidy: fix some errors (#118) 2025-04-22 23:24:11 +02:00
nyx
5bbeaeebd3
LayerSurface: always render in callback (#117)
* LayerSurface: always render in callback
2025-04-21 20:47:47 +02:00
5 changed files with 8 additions and 15 deletions

View file

@ -1,12 +1,12 @@
WarningsAsErrors: '*' WarningsAsErrors: '*'
HeaderFilterRegex: '.*\.hpp' HeaderFilterRegex: '.*\.hpp'
FormatStyle: file FormatStyle: 'file'
Checks: > Checks: >
-*, -*,
bugprone-*, bugprone-*,
-bugprone-easily-swappable-parameters, -bugprone-easily-swappable-parameters,
-bugprone-forward-declararion-namespace, -bugprone-forward-declaration-namespace,
-bugprone-forward-declararion-namespace, -bugprone-forward-declaration-namespace,
-bugprone-macro-parentheses, -bugprone-macro-parentheses,
-bugprone-narrowing-conversions, -bugprone-narrowing-conversions,
-bugprone-branch-clone, -bugprone-branch-clone,

View file

@ -1 +1 @@
0.4.4 0.4.5

View file

@ -66,10 +66,7 @@ CLayerSurface::~CLayerSurface() {
static void onCallbackDone(CLayerSurface* surf, uint32_t when) { static void onCallbackDone(CLayerSurface* surf, uint32_t when) {
surf->frameCallback.reset(); surf->frameCallback.reset();
if (surf->dirty || !surf->rendered || surf->forceRerender)
g_pHyprpicker->renderSurface(surf); g_pHyprpicker->renderSurface(surf);
surf->forceRerender = false;
} }
void CLayerSurface::sendFrame() { void CLayerSurface::sendFrame() {
@ -79,6 +76,8 @@ void CLayerSurface::sendFrame() {
frameCallback = makeShared<CCWlCallback>(pSurface->sendFrame()); frameCallback = makeShared<CCWlCallback>(pSurface->sendFrame());
frameCallback->setDone([this](CCWlCallback* r, uint32_t when) { onCallbackDone(this, when); }); frameCallback->setDone([this](CCWlCallback* r, uint32_t when) { onCallbackDone(this, when); });
pSurface->sendDamageBuffer(0, 0, 0xFFFF, 0xFFFF);
pSurface->sendAttach(PBUFFER->buffer.get(), 0, 0); pSurface->sendAttach(PBUFFER->buffer.get(), 0, 0);
if (!g_pHyprpicker->m_bNoFractional) { if (!g_pHyprpicker->m_bNoFractional) {
pSurface->sendSetBufferScale(1); pSurface->sendSetBufferScale(1);
@ -86,10 +85,7 @@ void CLayerSurface::sendFrame() {
} else } else
pSurface->sendSetBufferScale(m_pMonitor->scale); pSurface->sendSetBufferScale(m_pMonitor->scale);
pSurface->sendDamageBuffer(0, 0, 0xFFFF, 0xFFFF);
pSurface->sendCommit(); pSurface->sendCommit();
dirty = false;
} }
void CLayerSurface::markDirty() { void CLayerSurface::markDirty() {

View file

@ -38,5 +38,4 @@ class CLayerSurface {
bool rendered = false; bool rendered = false;
SP<CCWlCallback> frameCallback = nullptr; SP<CCWlCallback> frameCallback = nullptr;
bool forceRerender = false;
}; };

View file

@ -169,10 +169,8 @@ void CHyprpicker::recheckACK() {
void CHyprpicker::markDirty() { void CHyprpicker::markDirty() {
for (auto& ls : m_vLayerSurfaces) { for (auto& ls : m_vLayerSurfaces) {
if (ls->frameCallback) { if (ls->frameCallback)
ls->forceRerender = true;
continue; continue;
}
ls->markDirty(); ls->markDirty();
} }