summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* protocols: add hyprland_surface_v1 implementation (#8877)outfoxxed2025-01-011-3/+4
|
* Renderer: rewrite render scheduling (#8683)Vaxry2024-12-221-269/+53
| | | This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
* internal: Make static analysis more happy (#8767)Ikalco2024-12-191-1/+1
| | | | | | | | | * make functions used in 1 file static * fix invalid substr param -1 * give default initializer to borderGradier * move RASSERT from printf to std::print
* internal: remove dead code (#8748)Ikalco2024-12-171-7/+0
|
* opengl: fixup missed /4 in oklab parsingVaxry2024-12-161-1/+1
|
* opengl: fixup invalid ogl uniform readsVaxry2024-12-161-2/+3
|
* core: Add clang-tidy (#8664)Vaxry2024-12-071-12/+9
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-031-25/+132
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: simplify blur enabling logicVaxry2024-11-171-3/+1
|
* renderer: don't rely on datarootdir for local shareVaxry2024-11-061-0/+1
|
* shadow: fix double premultiplicationVaxry2024-11-051-1/+1
| | | | shader takes straight alpha aaaa
* shadow: add sharp and refactor optionsVaxry2024-11-051-3/+3
| | | | options moved to decoration:shadow:
* renderer: safeguard against non-sampleable currentFB in blurMainFbVaxry2024-11-031-0/+5
| | | | fixes #8325
* renderer: improve api around new framebuffer changesVaxry2024-11-021-35/+40
| | | | ref #8325
* renderer: Add a missing texture asset and a user checkVaxry2024-11-011-44/+103
| | | | | | | | 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.
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-271-6/+6
|
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-11/+11
| | | | | * move monitors to sp * XD
* opengl: use GL_CLAMP_TO_EDGE instead of GL_CLAMPVaxry2024-10-051-2/+2
| | | | avoid error spam on select hw
* renderer: Fix resize artifacts (stretching, bumps) (#7499)Vaxry2024-10-051-0/+3
|
* opengl: remove debug logVaxry2024-09-261-2/+0
|
* Internal: move to Mat3x3 from hyprutils (#7902)Vaxry2024-09-251-82/+60
| | | | | | | | | * Meson: require hyprutils >= 0.2.3 * flake.lock: update hyprutils --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* xdg-dialog: implement new protocolVaxry2024-08-301-3/+2
|
* renderer: better lockscreen dead behavior (#7574)Vaxry2024-08-291-9/+110
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-27/+27
| | | now we roll loops at blazing constified speed.
* core: make most for loops use const references (#7527)Tom Englund2024-08-261-4/+4
| | | | why not let the compiler optimise things for us at hyprspeeds when we can.
* logs: Add file path to asset ERR log (#7336)davc0n2024-08-141-1/+1
|
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-8/+8
| | | | | | | | | | | | | | | | | | | | 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
* renderer: fixup crashes on inaccessible files for bgVaxry2024-08-061-6/+4
|
* renderer: Explicit sync fixes (#7151)Vaxry2024-08-061-14/+18
| | | | | Enables explicit sync by default for most platforms `misc:no_direct_scanout` -> `render:direct_scanout`
* CMake, Meson: install config and wallpapers to DATADIR/hyprMihai Fufezan2024-08-041-3/+5
| | | | OpenGL: get wallpapers dir from DATAROOTDIR
* core: add a destructor to CHyprOpenglImpl and avoid wl_container_of ↵Tom Englund2024-07-291-0/+16
| | | | | | | | | | | | | | | 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
* egl: attempt a 3.2 egl context firstVaxry2024-07-291-3/+21
|
* egl: require gles 3.0 onlyVaxry2024-07-291-1/+1
| | | | | | No clue what could break, hopefully nothing ref #6973
* opengl: destroy cairo image surface after usevaxerski2024-07-271-0/+2
|
* renderer: drastically optimize bg texture creationvaxerski2024-07-261-58/+83
| | | | stop loading 20MB images every time, dumbass
* egl: support getting the device via platform_deviceVaxry2024-07-241-14/+79
| | | | a neat EXT
* egl: avoid setting debug mode and handle legacyrendererVaxry2024-07-221-2/+5
| | | | ref #6973
* renderer: untransform textures matching display transformVaxry2024-07-221-3/+7
| | | | | | 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.
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-113/+370
| | | | | | | | | | | | | | Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
* renderer: Make shader time always count from zero (#6903)Party Wumpus2024-07-161-4/+6
| | | | | | | * testing out an initialtime variable * Make time universally start at zero instead of exposing an initial time * Appease the CI
* config: use hyprutils helper (#6891)Mihai Fufezan2024-07-161-1/+1
| | | | | | | | | | | * flake.lock: update nix/overlays: remove xwayland overlay (merged upstream) * config: use hyprutils helper * flake.lock: update * CMake & Meson: update required versions
* renderer: partially revert previous xray fix (#6868)MightyPlaza2024-07-131-1/+1
| | | modified: src/render/OpenGL.cpp
* renderer: fix a few xray regressions (#6855)MightyPlaza2024-07-121-2/+2
| | | | | | | * fix xray unset modified: src/render/OpenGL.cpp * fix xwray unset modified: src/render/OpenGL.cpp
* core: Improve handling of window properties (#6776)MightyPlaza2024-07-111-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* core: Move to hyprutils for MathVaxry2024-06-191-19/+19
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* egl: fixup format modifier lookups with implicit modifiersVaxry2024-06-141-10/+22
| | | | ref #6485
* egl: assume implicit modifiers are available for old driversVaxry2024-06-091-1/+5
| | | | fixes #6367
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-196/+257
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* renderer: render fonts with pango, add global `font_family` config option ↵giskard2024-05-221-13/+24
| | | | (#6138)
* config: move various cursor-related vars to cursor:Vaxry2024-05-091-1/+1
|