aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/render/OpenGL.cpp
AgeCommit message (Collapse)Author
2024-11-06renderer: don't rely on datarootdir for local shareVaxry
2024-11-05shadow: fix double premultiplicationVaxry
shader takes straight alpha aaaa
2024-11-05shadow: add sharp and refactor optionsVaxry
options moved to decoration:shadow:
2024-11-03renderer: safeguard against non-sampleable currentFB in blurMainFbVaxry
fixes #8325
2024-11-02renderer: improve api around new framebuffer changesVaxry
ref #8325
2024-11-01renderer: Add a missing texture asset and a user checkVaxry
When an asset is missing, instead of a black screen, render an obnoxious, yet standard, missing texture. Additionally, warn the user assets failed to load. Shoutout to Arch for having their assets broken for months. Fix your shit. I am tired of it, and it's negatively impacting users.
2024-10-27core: move internal structures to monitor pointers (#8266)Vaxry
2024-10-19internal: Move CMonitor to SP (#8178)Vaxry
* move monitors to sp * XD
2024-10-05opengl: use GL_CLAMP_TO_EDGE instead of GL_CLAMPVaxry
avoid error spam on select hw
2024-10-05renderer: Fix resize artifacts (stretching, bumps) (#7499)Vaxry
2024-09-26opengl: remove debug logVaxry
2024-09-25Internal: move to Mat3x3 from hyprutils (#7902)Vaxry
* Meson: require hyprutils >= 0.2.3 * flake.lock: update hyprutils --------- Co-authored-by: Mihai Fufezan <[email protected]>
2024-08-30xdg-dialog: implement new protocolVaxry
2024-08-29renderer: better lockscreen dead behavior (#7574)Vaxry
--------- Co-authored-by: Mihai Fufezan <[email protected]>
2024-08-26misc: constify the remaining for loops (#7534)Tom Englund
now we roll loops at blazing constified speed.
2024-08-26core: make most for loops use const references (#7527)Tom Englund
why not let the compiler optimise things for us at hyprspeeds when we can.
2024-08-14logs: Add file path to asset ERR log (#7336)davc0n
2024-08-08internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund
overflow (#7216) * framebuffer: avoid gluint overflow GLuint was being initialized to -1 and rolling over to unsigned int max, its defined behaviour but very unnecessery. add a bool and use it for checking if allocated or not. * opengl: avoid gluint rollover -1 rolls over to unsigned int max, use 0xFF instead. * core: big uint64_t to int type conversion there were a few uint64_t to int implicit conversions overflowing int and causing UB, make all monitor/workspaces/windows use the new typedefs. also fix the various related 64 to 32 implicit conversions going around found with -Wshorten-64-to-32
2024-08-06renderer: fixup crashes on inaccessible files for bgVaxry
2024-08-06renderer: Explicit sync fixes (#7151)Vaxry
Enables explicit sync by default for most platforms `misc:no_direct_scanout` -> `render:direct_scanout`
2024-08-04CMake, Meson: install config and wallpapers to DATADIR/hyprMihai Fufezan
OpenGL: get wallpapers dir from DATAROOTDIR
2024-07-29core: add a destructor to CHyprOpenglImpl and avoid wl_container_of ↵Tom Englund
undefined behaviour (#7101) * protocols: avoid undefined behaviour in C macro to safely use wl_container_of with a class the class has to be no virtual functions, no inheritance, and uniform access control (e.g all public) work around this by putting this into a destroywrapper struct. * opengl: clean memory on destruction add a destructor and free the allocated memory and close the fd
2024-07-29egl: attempt a 3.2 egl context firstVaxry
2024-07-29egl: require gles 3.0 onlyVaxry
No clue what could break, hopefully nothing ref #6973
2024-07-27opengl: destroy cairo image surface after usevaxerski
2024-07-26renderer: drastically optimize bg texture creationvaxerski
stop loading 20MB images every time, dumbass
2024-07-24egl: support getting the device via platform_deviceVaxry
a neat EXT
2024-07-22egl: avoid setting debug mode and handle legacyrendererVaxry
ref #6973
2024-07-22renderer: untransform textures matching display transformVaxry
fixes #6754 This will break if the client uses a transform that is not equal to the display, reverting to old behavior. Combining transforms is left as a todo for the future.
2024-07-21Core: Move to aquamarine (#6608)Vaxry
Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <[email protected]> Co-authored-by: Mihai Fufezan <[email protected]> Co-authored-by: Jan Beich <[email protected]> Co-authored-by: vaxerski <[email protected]> Co-authored-by: UjinT34 <[email protected]> Co-authored-by: Tom Englund <[email protected]> Co-authored-by: Ikalco <[email protected]> Co-authored-by: diniamo <[email protected]>
2024-07-16renderer: Make shader time always count from zero (#6903)Party Wumpus
* testing out an initialtime variable * Make time universally start at zero instead of exposing an initial time * Appease the CI
2024-07-16config: use hyprutils helper (#6891)Mihai Fufezan
* flake.lock: update nix/overlays: remove xwayland overlay (merged upstream) * config: use hyprutils helper * flake.lock: update * CMake & Meson: update required versions
2024-07-13renderer: partially revert previous xray fix (#6868)MightyPlaza
modified: src/render/OpenGL.cpp
2024-07-12renderer: fix a few xray regressions (#6855)MightyPlaza
* fix xray unset modified: src/render/OpenGL.cpp * fix xwray unset modified: src/render/OpenGL.cpp
2024-07-11core: Improve handling of window properties (#6776)MightyPlaza
* add mWindowProperties modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp * support int values modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * create m_sWindowData modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * simplify some properties modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/managers/KeybindManager.cpp * store multiple values in CWindowOverridableVar modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * clean up modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/config/ConfigManager.cpp modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp * use SET_PROP priority for exec rules modified: src/config/ConfigManager.hpp modified: src/desktop/Window.cpp * add default value modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * add setprop toggle modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp * add setprop toggle modified: src/debug/HyprCtl.cpp * make window rules functional modified: src/config/ConfigManager.cpp modified: src/desktop/Window.cpp * minor fixes modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.hpp * properly clean layout data modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp * remove newline modified: src/events/Windows.cpp * fixes modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * use CamelCase modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-06-19core: Move to hyprutils for MathVaxry
Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
2024-06-14egl: fixup format modifier lookups with implicit modifiersVaxry
ref #6485
2024-06-09egl: assume implicit modifiers are available for old driversVaxry
fixes #6367
2024-06-08wayland/core: move to new impl (#6268)Vaxry
* wayland/core/dmabuf: move to new impl it's the final countdown
2024-05-22renderer: render fonts with pango, add global `font_family` config option ↵giskard
(#6138)
2024-05-09config: move various cursor-related vars to cursor:Vaxry
2024-05-09layer-shell: move to new implVaxry
Also bumps the hw-s dep
2024-05-09cursor: move to a hyprland implVaxry
This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-05internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry
moves std::shared_ptrs to a new implementation Advantages: - you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired. - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.) - weak_ptrs are still valid while the SP is being destroyed. - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection) - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though. - this is useful in destructors and callbacks.
2024-04-30layerSurface: refactor/move to a memory-safe implVaxry
Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface
2024-04-27internal: Window storage rework - part 1 (#5762)Vaxry
* Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
2024-04-24renderer: Fix mirrored displays when transformed and preserve aspect ratio ↵Virt
(#5697) * renderer: transform mirror buffer and preserve mirror aspect ratio * renderer: render mirrors directly from offloadFB * renderer: fix formatting * renderer: use monitorMirrorFB again, but properly damage mirrors * renderer: clean mirrors after reload and support cursor zoom mirroring
2024-04-20HookSystem: improve callback safetyVaxry
2024-04-03renderer: block screen shader on screencopyVaxry
2024-04-03blur: block modif only on no new optimizeVaxry