summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.cpp
Commit message (Collapse)AuthorAgeFilesLines
* core: reserve vector sizes as much as we can (#9118)Tom Englund2025-01-191-3/+11
| | | | | avoid reallocations as much as possible with a few edge cases where the reservation overshoots a tiny bit. but a few bytes of memory short term is better used then the overhead of potential reallocation.
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-0/+3
| | | Cleanup some unneeded includes to speed up compilation
* renderer: unload background texture if it's disabledvaxerski2025-01-141-7/+14
| | | | ref #9031
* opengl: fix crash on null fb stencil opvaxerski2025-01-081-2/+5
|
* opengl: only allocate offMainFB on demandvaxerski2025-01-081-1/+9
| | | | These are not used by hyprland, only potentially plugins. No need to keep the VRAM allocated all the time
* core: move parts of the animation system to hyprutils (#8868)Maximilian Seidler2025-01-071-4/+4
| | | | | | | | | | | | | * core: change animation manager to use Hyprutils::Animation * config: move animation config to hyprutils animation tree * use g_pAnimationManager->createAnimation and the new PHLANIMVAR template * core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks * core: adapt animated variable usage (dereference the shared pointer) * misc: bump CMakeLists to hyprutils 0.3.3
* renderer: Add supercircular window corners (#8943)Pollux2025-01-051-47/+59
| | | | | | | renderer: Add supercircular shadows and borders config: Add rounding_power to default and example configs rule: add `roundingpower` window rule
* groupbar: fix missing ellipsize for textvaxerski2025-01-041-1/+7
| | | | fixes #8938
* groupbar: unify title renderingvaxerski2025-01-021-2/+2
| | | | moves the text renderer to the unified opengl impl
* 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