summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* config: move various cursor-related vars to cursor:Vaxry2024-05-091-1/+1
|
* layer-shell: move to new implVaxry2024-05-091-0/+1
| | | | Also bumps the hw-s dep
* cursor: move to a hyprland implVaxry2024-05-091-9/+77
| | | | | | | 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-17/+15
| | | | | 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-35/+36
| | | | | | | | | | | | | | | | | * 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-12/+40
| | | | | | | | | | | | | (#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
* HookSystem: improve callback safetyVaxry2024-04-201-1/+1
|
* renderer: block screen shader on screencopyVaxry2024-04-031-1/+2
|
* blur: block modif only on no new optimizeVaxry2024-04-031-0/+4
|
* opengl: fix modif in blurVaxry2024-04-031-2/+0
|
* renderer: some fixes for renderModifVaxry2024-04-031-6/+55
|
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-4/+4
| | | | | * refactor workspaces to use ptrs * clang-format
* renderer: allow blurring ls popupsVaxry2024-03-251-1/+20
|
* opengl: report shader compilation errors from screen_shader (#5138)jill2024-03-211-3/+25
| | | | | | | | | | | | | | | | | * 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
* opengl: minor adjustment to getPreferredReadFormatVaxry2024-03-191-3/+3
| | | | fixes #4791
* screenShader: allow camel for screensizeVaxry2024-03-181-0/+2
| | | | ref #5059
* screenshader: add screen_size uniformVaxry2024-03-181-0/+3
| | | | fixes #5059
* renderer: add support for gles3.2 screen shadersVaxry2024-03-181-1/+1
|
* config: improve config value infrastructureVaxry2024-03-031-81/+82
|
* renderer: minor fixes to transformationsVaxry2024-03-031-1/+1
|
* opengl: fix compilation on legacy renderer (#4928)Julien Roy2024-03-031-3/+13
|
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-15/+15
| | | | | | | | | | | | | | | | | | | | | | | * animation: Refactor AnimatedVariable This commit decomposes the AnimatedVariable class into a base class with the common attribute to all variable types and a templated derived type containing strongly typed info on the type being animated. Access to the typed version is perfomed using the visitor pattern. A utility is provided to build a visitor on the fly using lambdas. Adding a new type to be animated should just be a matter of adding the typed in the list defined by the ANIMABLE_TYPES macro The size of the commit is justified by the API change in the AnimatedVariable class. No more vec(), fl() or col() method but a unified value() method. * animation: Remove visitor pattern * animation: Fix coding style * animation: Fix coding style
* layers: add fully featured animationsVaxry2024-02-281-3/+12
| | | | | | | | Adds configs and layerrules to handle them alas fixes #981 I have cooked
* config: add opengl:force_introspectionVaxry2024-02-231-4/+7
| | | | fixes #4819
* opengl: check bottom/bg layers for required introspectionVaxry2024-02-231-0/+11
| | | | ref #4818
* renderer: nuke lastFrameDamage and rework finalDamageVaxry2024-02-231-3/+9
| | | | this fucking SUCKED
* renderer: minor fixes for introspection detectionVaxry2024-02-221-2/+2
|
* renderer: Update splash text properties to be configurable (#4707)Hiram Muñoz2024-02-211-3/+9
| | | | | | | * Update splash text properties to be configurable The splash text's font and color properties have been updated to be configurable. This change includes adding new configuration values for the splash screen color and font. The rendering of the splash screen is also adjusted to use these new config values, allowing for easy customization of the splash text appearance. * Updated to use Hyprlang config manager
* Migrate the config to hyprlang (#4656)Vaxry2024-02-181-70/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Migrate to hyprlang * pop up errors * fix swapped args * Meson & Nix: build with hyprlang * CI: add hyprlang to setup action * add infra for plugin stuff * fix hyprctl getoption * fix hyprctl getoption with json * format * fix post parse logic * fix autogen config * oops missed exec-once * fmt * fix ws rules * require 0.3.0 for hyprlang * nix: flaek * minor type fixes * fix cfg usages in swipe * use cvarlist for ws rules * fix throw in addPluginConfigVar * Nix: update hyprlang * minor fixes * fix disableLogs * mention hyprlang docs * bump hyprlang dep in cmake * Meson: bump min hyprlang version Nix: update hyprlang * minor fix * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* screenshader: rename output uniform to wl_output (#4606)JManch2024-02-041-6/+6
| | | | | * screenshader: rename output uniform to monitor * rename to wl_output
* renderer: avoid unnecessary gpu resource deletionsVaxry2024-02-021-4/+5
| | | | fixes #4594
* renderer: reset fb pointers after render passVaxry2024-02-021-0/+3
| | | | fixes #4590
* renderer: Add new background infrastructureVaxry2024-01-291-75/+93
| | | | | | | | 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: use texBox for rendering background textureVaxry2024-01-281-3/+1
| | | | fixes #4543
* opengl: rassert false on lost contextVaxry2024-01-261-0/+23
| | | | we do not have infra to deal with this. It will cause hyprland to freeze rendering, we might as well die.
* surface: avoid spam of window surfaces with scale and transform eventsvaxerski2024-01-111-1/+3
| | | | fixes #4408
* opengl: apply box rot to projectionsvaxerski2024-01-071-6/+6
|
* opengl: add renderdata.forceIntrospectionvaxerski2024-01-071-4/+6
|
* renderer: overhaul renderModifDatavaxerski2024-01-071-8/+30
|
* renderer: double lookup fix, input: double conversion fix (#4124)nmzik2023-12-111-10/+17
|
* renderer: Allocate background texture only if required (#4111)nmzik2023-12-101-0/+4
|
* renderer: use xray for background blur on small() surfacesVaxry2023-12-061-2/+5
| | | | ref #4050
* opengl: fixup blur dirty repaint conditions with solitaryVaxry2023-12-051-7/+4
| | | | fixes #4025
* screencopy: use buffer format for glReadPixelsVaxry2023-12-041-11/+9
| | | | fixes #4029
* screencopy: fix detecting gl shm formatsVaxry2023-12-031-5/+130
| | | | ref #4029
* opengl: fix nvidia read formatsVaxry2023-12-021-4/+4
| | | | fixes #4023
* opengl: fix swapped rgb drm formatsVaxry2023-12-011-2/+2
|
* screencopy: fix shm exports with 10-bitVaxry2023-12-011-0/+13
| | | | fixes #4019
* opengl: don't make a mirror buffer on fakeFrameVaxry2023-11-301-1/+1
|