summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.hpp
Commit message (Collapse)AuthorAgeFilesLines
* protocols: add hyprland_surface_v1.set_visible_region implementation (#9120)outfoxxed2025-01-231-0/+1
|
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-231-1/+1
|
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-1/+0
| | | Cleanup some unneeded includes to speed up compilation
* renderer: unload background texture if it's disabledvaxerski2025-01-141-1/+3
| | | | ref #9031
* renderer: Add supercircular window corners (#8943)Pollux2025-01-051-59/+60
| | | | | | | 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-19/+19
| | | | fixes #8938
* groupbar: unify title renderingvaxerski2025-01-021-1/+1
| | | | moves the text renderer to the unified opengl impl
* protocols: add hyprland_surface_v1 implementation (#8877)outfoxxed2025-01-011-1/+2
|
* pass: improve pass debuggingvaxerski2025-01-011-41/+42
|
* renderer: use a render pass for render modif in client rendervaxerski2025-01-011-1/+0
| | | | fixes #8918
* Renderer: rewrite render scheduling (#8683)Vaxry2024-12-221-13/+26
| | | This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
* core: Add clang-tidy (#8664)Vaxry2024-12-071-2/+2
| | | | | 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-6/+7
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: Add a missing texture asset and a user checkVaxry2024-11-011-6/+8
| | | | | | | | 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.
* internal: cleanup CMonitor usage and fix a few ref hogsVaxry2024-10-261-18/+18
| | | | ref #8221
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-27/+27
| | | | | * move monitors to sp * XD
* Internal: move to Mat3x3 from hyprutils (#7902)Vaxry2024-09-251-29/+29
| | | | | | | | | * Meson: require hyprutils >= 0.2.3 * flake.lock: update hyprutils --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: better lockscreen dead behavior (#7574)Vaxry2024-08-291-2/+4
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: Explicit sync fixes (#7151)Vaxry2024-08-061-1/+3
| | | | | Enables explicit sync by default for most platforms `misc:no_direct_scanout` -> `render:direct_scanout`
* core: add a destructor to CHyprOpenglImpl and avoid wl_container_of ↵Tom Englund2024-07-291-0/+1
| | | | | | | | | | | | | | | 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
* renderer: drastically optimize bg texture creationvaxerski2024-07-261-0/+3
| | | | stop loading 20MB images every time, dumbass
* egl: support getting the device via platform_deviceVaxry2024-07-241-0/+2
| | | | a neat EXT
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-5/+47
| | | | | | | | | | | | | | 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>
* core: Move to hyprutils for MathVaxry2024-06-191-1/+1
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* egl: fixup format modifier lookups with implicit modifiersVaxry2024-06-141-1/+3
| | | | ref #6485
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-78/+81
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* cursor: move to a hyprland implVaxry2024-05-091-27/+32
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-4/+4
| | | | | | | | | | | 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.
* layerSurface: refactor/move to a memory-safe implVaxry2024-04-301-6/+6
| | | | | Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-10/+11
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* renderer: Fix mirrored displays when transformed and preserve aspect ratio ↵Virt2024-04-241-2/+2
| | | | | | | | | | | | | (#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
* renderer: block screen shader on screencopyVaxry2024-04-031-0/+1
|
* renderer: some fixes for renderModifVaxry2024-04-031-0/+5
|
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-1/+1
| | | | | * refactor workspaces to use ptrs * clang-format
* opengl: report shader compilation errors from screen_shader (#5138)jill2024-03-211-0/+1
| | | | | | | | | | | | | | | | | * opengl: report shader compilation errors from screen_shader * opengl: prefer .data() * opengl: move shader error logging to logError * opengl: quick glGetShaderiv -> glGetProgramiv fix * opengl: typo fix * opengl: format fixes * opengl: minor compile fixes * opengl: logError -> logShaderError
* layers: add fully featured animationsVaxry2024-02-281-1/+1
| | | | | | | | Adds configs and layerrules to handle them alas fixes #981 I have cooked
* renderer: nuke lastFrameDamage and rework finalDamageVaxry2024-02-231-1/+4
| | | | this fucking SUCKED
* renderer: Add new background infrastructureVaxry2024-01-291-4/+2
| | | | | | | | Adds new backgrounds from the winners of the contest Rewrites how it works Allows high color precision PNGs (RGB32F precisely) Fixes a small bug in renderTextureInternalWithDamage Nukes misc:force_hypr_chan
* opengl: add renderdata.forceIntrospectionvaxerski2024-01-071-0/+1
|
* renderer: overhaul renderModifDatavaxerski2024-01-071-2/+11
|
* style/ci: apply clang-format and verify it in ci (#4039)François Conzelmann2023-12-061-2/+1
| | | | | * style: apply clang-format * ci: add new clang-format job to CI
* renderer: use xray for background blur on small() surfacesVaxry2023-12-061-3/+2
| | | | ref #4050
* screencopy: use buffer format for glReadPixelsVaxry2023-12-041-43/+52
| | | | fixes #4029
* opengl: fix nvidia read formatsVaxry2023-12-021-0/+4
| | | | fixes #4023
* screencopy: fix shm exports with 10-bitVaxry2023-12-011-0/+2
| | | | fixes #4019
* deps: update wlrootsVaxry2023-11-301-3/+4
|
* renderer: use occlusion checks for buffer clearVaxry2023-11-261-1/+2
|
* opengl: better checking for required introspectionvaxerski2023-11-241-3/+4
| | | | performance woo
* renderer: Move to a full Hyprland GL rendering pipeline (#3920)Vaxry2023-11-241-7/+15
| | | Also updates wlroots
* opengl: switch to black-and-white for alpha mattesVaxry2023-11-091-1/+1
| | | | also fixes shadows on 10b