diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2026-04-19 18:47:49 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-19 18:47:49 +0100 |
| commit | a360c31d0434898888e710f4a5f560200f50cecf (patch) | |
| tree | f68746c77b416654ec059f670e2e66af62581de3 /src/render | |
| parent | 889ee4f26d77ff0c36f5c4767ef0629371fd2c18 (diff) | |
errorOverlay: modernize, refactor, use GPU rendering (#14122)
Improves the overlay's rendering:
- GPU accelerated
- supports gradients
- wraps
- cleaner code a bit
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/OpenGL.cpp | 14 | ||||
| -rw-r--r-- | src/render/Renderer.cpp | 6 | ||||
| -rw-r--r-- | src/render/Shader.cpp | 4 |
3 files changed, 12 insertions, 12 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 9883d8fc..590330a3 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -33,7 +33,7 @@ #include "../event/EventBus.hpp" #include "../managers/screenshare/ScreenshareManager.hpp" #include "../notification/NotificationOverlay.hpp" -#include "hyprerror/HyprError.hpp" +#include "errorOverlay/Overlay.hpp" #include "macros.hpp" #include "pass/TexPassElement.hpp" #include "pass/RectPassElement.hpp" @@ -916,16 +916,16 @@ void CHyprOpenGLImpl::applyScreenShader(const std::string& path) { std::error_code ec; if (!std::filesystem::is_regular_file(absPath, ec)) { if (ec) - g_pHyprError->queueError("Screen shader parser: Failed to check screen shader path: " + ec.message()); + ErrorOverlay::overlay()->queueError("Screen shader parser: Failed to check screen shader path: " + ec.message()); else - g_pHyprError->queueError("Screen shader parser: Screen shader path is not a regular file"); + ErrorOverlay::overlay()->queueError("Screen shader parser: Screen shader path is not a regular file"); return; } std::ifstream infile(absPath); if (!infile.good()) { - g_pHyprError->queueError("Screen shader parser: Failed to open screen shader"); + ErrorOverlay::overlay()->queueError("Screen shader parser: Failed to open screen shader"); return; } @@ -952,9 +952,9 @@ void CHyprOpenGLImpl::applyScreenShader(const std::string& path) { // The screen shader uses the uniform // Since the screen shader could change every frame, damage tracking *needs* to be disabled - g_pHyprError->queueError(std::format("Screen shader: Screen shader uses uniform '{}', which requires debug:damage_tracking to be switched off.\n" - "WARNING:(Disabling damage tracking will *massively* increase GPU utilization!", - name)); + ErrorOverlay::overlay()->queueError(std::format("Screen shader: Screen shader uses uniform '{}', which requires debug:damage_tracking to be switched off.\n" + "WARNING:(Disabling damage tracking will *massively* increase GPU utilization!", + name)); }; // Allow glitch shader to use time uniform whighout damage tracking diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index acd83f8f..a77e855d 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -24,7 +24,7 @@ #include "../protocols/DRMSyncobj.hpp" #include "../protocols/LinuxDMABUF.hpp" #include "../helpers/sync/SyncTimeline.hpp" -#include "../hyprerror/HyprError.hpp" +#include "../errorOverlay/Overlay.hpp" #include "../debug/Overlay.hpp" #include "../notification/NotificationOverlay.hpp" #include "../layout/LayoutManager.hpp" @@ -159,7 +159,7 @@ IHyprRenderer::IHyprRenderer() { static auto P3 = Event::bus()->m_events.monitor.focused.listen([&](PHLMONITOR mon) { g_pEventLoopManager->doLater([this]() { - if (!g_pHyprError->active()) + if (!ErrorOverlay::overlay()->active()) return; for (auto& m : g_pCompositor->m_monitors) { arrangeLayersForMonitor(m->m_id); @@ -2067,7 +2067,7 @@ void IHyprRenderer::renderMonitor(PHLMONITOR pMonitor, bool commit) { if (pMonitor == Desktop::focusState()->monitor()) { Notification::overlay()->draw(pMonitor); - g_pHyprError->draw(); + ErrorOverlay::overlay()->draw(); } // for drawing the debug overlay diff --git a/src/render/Shader.cpp b/src/render/Shader.cpp index dfc9045a..14601560 100644 --- a/src/render/Shader.cpp +++ b/src/render/Shader.cpp @@ -1,5 +1,5 @@ #include "Shader.hpp" -#include "../hyprerror/HyprError.hpp" +#include "../errorOverlay/Overlay.hpp" #include "../config/ConfigValue.hpp" #include "OpenGL.hpp" @@ -45,7 +45,7 @@ void CShader::logShaderError(const GLuint& shader, bool program, bool silent) { Log::logger->log(Log::ERR, "Failed to link shader: {}", FULLERROR); if (!silent) - g_pHyprError->queueError(FULLERROR); + ErrorOverlay::overlay()->queueError(FULLERROR); } GLuint CShader::compileShader(const GLuint& type, std::string src, bool dynamic, bool silent) { |
