Geoffrey McRae
22d949c411
[client] egl: fix rgb24 regression
...
We need the alpha channel for this data type
2023-11-21 12:20:46 +11:00
Geoffrey McRae
43a3fb0db3
[client] egl: RGB24 improvements
...
This patch performs several changes.
* Alters the fourcc codes to types that ignore the alpha channel where
possible to allow the gpu to internally use 24-bit formats.
* Attempts to use DRM_FORMAT_RGB888 first as some GPUs may support this
* If DMABUF is not in use the data is now imported directly as RGB24
without the post-processing shader
2023-11-21 12:01:45 +11:00
Geoffrey McRae
0ce4c34c37
[client] egl: fix non-dma RGB24 import path
2023-11-19 09:42:37 +11:00
Geoffrey McRae
5d4c1d348c
[all] refactor cpuInfo function names
2023-11-19 01:22:09 +11:00
Geoffrey McRae
6357df1a7a
[client] egl: fix non-dma texture stride issue
2023-11-15 17:40:57 +11:00
Geoffrey McRae
929e88b9d3
[all] provide conditional path optimization hints to the compiler
2023-11-12 18:26:08 +11:00
Geoffrey McRae
a28deae569
[client] util: fix invalid pointer arithmatic
2023-11-11 14:03:40 +11:00
Geoffrey McRae
cf51503a54
[client] X11/i3: write directly into sun_path to avoid strncpy
2023-11-11 13:48:41 +11:00
Geoffrey McRae
17fce1cf78
[client] util: fix failure to check result of ftell
for error
2023-11-11 13:48:41 +11:00
Geoffrey McRae
9f3f8cc5bd
[client] splash: remove 0
array specifier from func prototype
2023-11-11 13:48:41 +11:00
Geoffrey McRae
0524980cb4
[client] msg: make it clear we ignore the return for ll_shift
2023-11-11 13:48:41 +11:00
Geoffrey McRae
a0f5907cb6
[client] overlay: prevent possible divide by zero
2023-11-11 13:48:41 +11:00
Geoffrey McRae
0a9784d09d
[client] main: fix possible dereference of null g_state.ds
2023-11-11 13:48:41 +11:00
Geoffrey McRae
120e063a10
[client] main: prevent possible null pointer dereference
2023-11-11 13:48:41 +11:00
Geoffrey McRae
f59ef4422a
[client] app: prevent possible out of bounds array access
2023-11-11 13:48:41 +11:00
Geoffrey McRae
417c9cf092
[client] opengl: act on glBufferSubData failure
2023-11-11 13:48:41 +11:00
Geoffrey McRae
852825a97e
[client] util: fix failure to dereference pointer
2023-11-11 13:48:41 +11:00
Geoffrey McRae
cce12508cc
[egl] shader: fix reliance on null terminated strings
...
Compiled in resources often will not contain a null terminator, as such
we must not use functions that rely on it. This implements a memsearch
function that performs like strstr on a buffer instead of a null
terminated string.
2023-11-11 13:48:41 +11:00
Geoffrey McRae
43f9a4c0e1
[client] egl: fix potential integer underflow
2023-11-11 13:48:41 +11:00
Geoffrey McRae
ee5c02f72a
[client] egl: fix potential resource leak
2023-11-11 13:48:41 +11:00
Geoffrey McRae
55fa5cc851
[client] egl: fix integer division into float
2023-11-11 13:48:41 +11:00
Geoffrey McRae
b70811dcb9
[client] x11: pass large struct by reference
2023-11-11 13:48:41 +11:00
Geoffrey McRae
3c1405719c
[client] wayland: fix use after free bugs
2023-11-11 13:48:41 +11:00
Geoffrey McRae
f6befb4567
[client] wayland: formatting
2023-11-11 13:48:41 +11:00
Geoffrey McRae
a2443cf926
[client] wayland: libdecor is not a requirement of building
2023-11-10 06:28:06 +11:00
Geoffrey McRae
138a0aee53
[all] update cmake minimum version
2023-11-10 06:28:05 +11:00
Geoffrey McRae
174b51b144
[client] wayland: add additional debug output
2023-11-10 06:28:05 +11:00
Geoffrey McRae
aa9dbe654d
[client] wayland: move libdecor and xdg into seperate backends
...
This allows us to build with libdecor enabled as the selection to use it
is decided upon at runtime if the compositor `gnome-shell` is detected.
If the libdecor development headers are installed, by default it will
now be compiled in unless overridden by the user at compile time.
2023-11-10 06:28:05 +11:00
Geoffrey McRae
3a6afd04d2
[client] egl: use the pitch to calculate the new width for rgb24
2023-11-10 06:28:05 +11:00
Geoffrey McRae
c0e09e13a5
[client] egl: make the bgr_bgra filter generic for 24-bit formats
2023-11-10 06:28:05 +11:00
Geoffrey McRae
3843afa927
[client] egl: fix texture import for RGB_24
2023-11-10 06:28:05 +11:00
Geoffrey McRae
49bdf046fe
[client] egl: partially fix RGB_24 support
2023-11-10 06:28:05 +11:00
Geoffrey McRae
6492c47e1e
[client] egl: fix typo
2023-11-10 06:28:05 +11:00
Geoffrey McRae
86e8e99107
[all] add initial support for RGB24-bpp support
2023-11-10 06:28:05 +11:00
Geoffrey McRae
dcde981a17
[client] opengl: fix cursor location when the source is downsampled
2023-11-10 06:28:05 +11:00
Geoffrey McRae
c54a09ca25
[client] opengl: fix row alignment parameter bug
2023-11-10 06:28:05 +11:00
Geoffrey McRae
3af2cf54d6
[client] egl: remove deprecated BGR members and logic
2023-11-10 06:28:05 +11:00
Geoffrey McRae
4aba15f31c
[client] egl: only scale damage rects if it's packed BGR
2023-11-10 06:28:05 +11:00
Geoffrey McRae
ad13928c73
[client] egl: fix bgr filter re-init if DMA mode changes
2023-11-10 06:28:05 +11:00
Geoffrey McRae
139e98ac3b
[client] OpenGL:fix RGB24 support for non 64-bit aligned pitches
2023-11-10 06:28:05 +11:00
Tudor Brindus
d02e3730b2
[client] EGL: implement damage-aware RGB24 copy
2023-11-10 06:28:05 +11:00
Tudor Brindus
1da50d220e
[client] EGL: stop unpacking data across rows
2023-11-10 06:28:05 +11:00
Geoffrey McRae
c665044bfa
[client] implement support for RGB24 packed data
2023-11-10 06:28:05 +11:00
Geoffrey McRae
6625cd733a
[client] main: log if the frame format is using PQ or not
2023-10-27 01:16:08 +11:00
Geoffrey McRae
2f36aaff5c
[client] egl: prepare for DXGI HDR10 support
2023-10-27 01:03:22 +11:00
Geoffrey McRae
eeea24ebfb
[client] egl: invalidate the window when HDR settings are changed
2023-10-24 13:46:51 +11:00
Geoffrey McRae
e0bdd869d6
[all] fix client build on linux
2023-10-22 04:00:44 +11:00
Geoffrey McRae
2e515657dd
[all] update/add license headers
2023-10-20 15:36:34 +11:00
Geoffrey McRae
df5c648377
[client] egl: remove unit qualifier from label
2023-10-20 15:30:36 +11:00
Geoffrey McRae
78df2073ff
[client] egl: make it possible to configure HDR to SDR mapping
2023-10-20 15:26:27 +11:00