summaryrefslogtreecommitdiff
path: root/src/render/Framebuffer.hpp
Commit message (Collapse)AuthorAgeFilesLines
* renderer: refactor part 7: api fixes (#13631)UjinT342026-03-281-22/+33
| | | | | | | Part 7 of ujin's refactors --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)UjinT342026-03-061-21/+25
| | | Part 1 of the renderer refactors
* renderer/gl: add internal gl formats and reduce internal driver format ↵Tom Englund2026-01-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conversions (#12879) * format: add internal formats for drm formats cross referenced with weston and added internal formats and types for a lot of missing ones. also added a isFormatYUV helper. * framebuffer: ensure we use right internalformat ensure we use the right internal format to avoid internal driver blitting, also since we only attach the GL_STENCIL_ATTACHMENT we might just aswell only use the GL_STENCIL_INDEX8 to not confuse drivers that we want a depth aswell. * texture: use external on yuv or non linear mods using external makes us use the gpu's internal detiler. and this is makes intel a lot happier then having to format convert it to a linear format internally. * shaders: add external support to CM frag add external support to CM frag, and correct ext.frag typo. * formats: remove duplicates and fix a typo in cm.frag remove duplicate formats and a typo in cm.frag * formats: add swizzle logic to all formats add swizzle logic from weston for all formats and use it in shm texture paths. * format: more format changes use monitor drm format instead of forcing something different. * shader: remove external from cm.frag drivers want this resolved at compiletime cant use both samplerExternalOES and sampler2d and then runtime branch it. * screencopy: swizzle textures in screencopy swizzle textures in screencopy, to get the right colors when copying. * screencopy: restore old behaviour try restore old behaviour before the gles3 format changes. glReadPixels had the wrong format, so i went to far trying to mitigate it. should be like before now.
* renderer/opengl: invalidate intermediate FBs post render, avoid stencil if ↵Vaxry2026-01-051-0/+1
| | | | possible (#12848)
* renderer: always render snapshots as 8bitvaxerski2025-05-091-0/+2
| | | | fixes issues with transparent windows on 10b
* render: refactor class member vars (#10292)davc0n2025-05-051-5/+5
| | | | | * render: refactor class member vars * render: fix clang format
* renderer: various fixes towards improving gpu calls robustness (#9188)Tom Englund2025-02-081-1/+2
| | | | | | | | | | | | | | ensure framebuffer textures are detached and deleted, avoid leaving framebuffers bound when not needed * render: avoid calling glDeleteProgram on no program its safe to do so but it adds a bunch of unnecessery lines in apitrace when tracing. if guard it and return early. * opengl: ensure texture and buffers are unbound ensure bound buffers are unbound after use, also detach textures from framebuffer before deleting it otherwise it will become dangling and essentially leak.
* renderer: improve api around new framebuffer changesVaxry2024-11-021-3/+9
| | | | ref #8325
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-1/+2
| | | | | | | | | | | | | | | | | | | | 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
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-10/+11
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* renderer: Move to a full Hyprland GL rendering pipeline (#3920)Vaxry2023-11-241-0/+1
| | | Also updates wlroots
* renderer: properly pass 10-bit formats to openglVaxry2023-10-301-1/+1
|
* renderer: cleanup old redundancies in CFramebuffervaxerski2023-07-291-13/+9
|
* Added clang format (#1239)Vaxry2022-12-161-13/+12
| | | * clang-format stuff and format files
* Added resize transitionsvaxerski2022-11-061-0/+1
|
* Fix VRAM memory leak when releasing snapshotsvaxerski2022-07-121-0/+2
|
* fixed blur rendering, stencil and gles3vaxerski2022-04-111-0/+2
|
* fadeout done 🎉vaxerski2022-04-051-0/+22