Geoffrey McRae
2adca4bc48
[idd] hdr: dont advertise non hdr formats as hdr
2026-07-16 05:26:06 +10:00
Geoffrey McRae
b241f76908
[client] wayland: fix broken initialization
2026-07-16 04:30:36 +10:00
Geoffrey McRae
e1375440e6
[client] wayland: fix color management errors
2026-07-16 04:10:16 +10:00
Geoffrey McRae
182970d431
[idd] fix the HDR16 to HDR10 post processor
...
`linear` is a HLSL keyword
2026-07-16 03:53:12 +10:00
Geoffrey McRae
aa0dc44a63
[idd] hdr: fix incorrect struct usage
2026-07-16 03:47:04 +10:00
Geoffrey McRae
e18b34a194
[gl-check] exclude local static functions which match
2026-07-16 03:45:54 +10:00
Geoffrey McRae
117b76d662
[idd] cleanup IDD version guards for HDR support
2026-07-16 03:45:46 +10:00
Geoffrey McRae
8734af2674
[idd] whitespace fixes
2026-07-16 00:30:28 +10:00
Geoffrey McRae
e2f6de77e7
[client] wayland: implement HDR support
2026-07-16 00:30:28 +10:00
Geoffrey McRae
92d0383fd7
[obs] implement HDR support
2026-07-16 00:30:28 +10:00
Geoffrey McRae
1b7a815cee
[idd] add support to return HDR metadata to clients
2026-07-16 00:30:23 +10:00
Geoffrey McRae
11b3ac00a8
[client/obs] update LGMP to detect version missmatch since struct change
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-07-15 17:25:52 +10:00
Quantum
bc96319b94
[idd] driver: report Windows 11 OS name correctly
...
Also refactored the versioning code to be more modular.
The old registry code was turned into a fallback and simplified, since
C++11 and newer guarantees the byte past the end of the std::string is
valid for null-terminator writes.
2026-07-15 17:22:58 +10:00
Quantum
c9845d3453
[client] wayland: improve fractional scale protocol compatibility
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
There is no reason to call a bunch of stuff before the xdg_surface is
configured, so let's not call them and cause early painting to happen
should the compositor decide to send the `preferred_scale` message early.
2026-07-04 14:00:07 +10:00
Quantum
1f3051e81a
[host] d12: handle IDXGIAdapter::EnumOutputs errors
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
Before, the code treated any errors other than DXGI_ERROR_NOT_FOUND as if
they were successes, which is incorrect.
2026-06-17 21:43:19 +10:00
Quantum
4bb2c58fb6
[client] wayland: delete useless enum EGLSwapWithDamageState
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-06-09 19:31:45 +10:00
Quantum
e203bca480
[client] wayland: set content type to game
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-06-07 07:04:12 +10:00
Quantum
8d7b45e240
[client] wayland: generate content-type-v1 client protocol
2026-06-07 07:04:12 +10:00
Quantum
66d8a9691e
[idd] helper: update notification icon to reflect GPU availability
2026-06-07 07:04:00 +10:00
Quantum
89ddab9d57
[idd] helper: use Resources.h for icon IDs
2026-06-07 07:04:00 +10:00
Quantum
ffffff0740
[resources] icon: add Looking Glass icon with GPU and no GPU superimposed
...
These will be used as indicators for the IDD helper notification icon to
indicate whether GPU acceleration is available.
2026-06-07 07:04:00 +10:00
Quantum
c8edf1eaf3
[client] wayland: use round half away from zero behaviour
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
In fractional-scale-v1, the scaling is defined as follows:
> For toplevel surfaces, the size is rounded halfway away from zero.
Previously, it is undefined. This commit makes waylandScaleMulInt follow
the round half away from zero behaviour.
2026-06-06 02:32:23 +10:00
Quantum
938a2a6c22
[client] wayland: get scale from wp-fractional-scale-v1 if possible
2026-06-06 02:32:23 +10:00
Quantum
e406b0fee8
[client] wayland: generate fractional-scale-v1 client protocol
2026-06-06 02:32:23 +10:00
Quantum
79784fa44d
[repos] wayland-protocols: bump to latest version
2026-06-06 02:32:23 +10:00
Quantum
a164c02f9a
[client] core: resize guest to actual surface size
...
This ensures that the guest renders with the actual screen size when the
client surface is scaled when using automatic scaling.
2026-06-06 02:31:44 +10:00
Quantum
3aa6492760
[idd] driver: implement reading in pipe server
...
Following the example of CPipeClient in the helper, this switches to using
overlapped I/O for easy interruption and cancellation that doesn't quite
work with CancelSynchronousIO.
2026-06-06 02:30:43 +10:00
Quantum
0664e510a2
[idd] helper: send message over pipe when settings changed
2026-06-06 02:30:43 +10:00
Quantum
e4e211f07a
[doc] build: delete wayland-protocols mentions
...
We now include it as a submodule, so it's pointless to tell people to
install it separately as a dependency.
2026-06-06 02:29:52 +10:00
Quantum
bff890f635
[idd] helper: use per-monitor DPI awareness v2
...
This avoids weird issues when scaling menus and non-client areas
dynamically.
2026-06-06 02:29:33 +10:00
Quantum
2317801411
[idd] helper: update icon tip to reflect GPU state
2026-06-06 02:29:14 +10:00
Quantum
140de3199b
[idd] helper: defer no GPU notification when needed
...
No GPU notifications are not possible before the notification icon is
created. Since the helper could start before explorer.exe (and often does
on reboot), the notification would fail.
This commit adds logic to refer the notification and we send it immediately
when successfully creating the notification icon.
2026-06-06 02:29:14 +10:00
Quantum
c8f4898815
[idd] helper: allow changing preferred mode
2026-06-06 02:28:26 +10:00
Geoffrey McRae
462f638c12
[idd] project: cleanup vcxproj.filters mess
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-06-04 01:45:35 +10:00
Geoffrey McRae
37bb89f490
[idd] ipc/helper: notify the helper if a software renderer is in use
2026-06-04 01:45:35 +10:00
Geoffrey McRae
b3701992c1
Merge pull request #1277 from quantum5/idd-no-gpu-warn
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
[idd] helper: implement warning when there is no GPU
2026-06-03 21:39:00 +10:00
Geoffrey McRae
7b2c60b267
Merge branch 'master' into idd-no-gpu-warn
2026-06-03 21:35:08 +10:00
Quantum
708ed2cbae
[idd] helper: add mode list reset button
2026-06-03 21:32:35 +10:00
Quantum
415a946e56
[idd] helper: avoid potential empty option deference
2026-06-03 21:32:35 +10:00
Geoffrey McRae
803aea0d21
[idd] ipc: implement reporting of GPU software status
2026-06-03 21:31:08 +10:00
Quantum
cb70643fa4
[idd] helper: load default mode list with default refresh rate
...
After 882d531792 , the existing code in the
helper reads past the end of the array for refresh rate, which is broken.
This PR also refactors the default modes into a getDefaultModes method so
that it can be used for a reset feature later.
2026-06-03 17:03:50 +10:00
Quantum
e74f58afb4
[idd] helper: allow no GPU warning to be configured
2026-06-03 03:02:07 -04:00
Quantum
29d02ddbb9
[idd] helper: add checkbox widget
2026-06-03 03:01:47 -04:00
Quantum
fec805fbe2
[idd] helper: show notification when no GPU is detected
2026-06-03 03:01:47 -04:00
Quantum
ebeb9d028e
[idd] helper/registry: load and store no GPU preference
2026-06-03 03:01:47 -04:00
Quantum
1a137f3c08
[idd] helper: detect if system has GPU
2026-06-03 03:01:47 -04:00
Quantum
3ef8344e9f
[idd] helper: set config window minimum size
...
This improves aesthetics and prevents widgets from getting clipped when
the window is too small.
2026-06-03 17:00:31 +10:00
Quantum
976be95177
[idd] driver: add BOM to CEdid.* for non-English systems
...
It wouldn't compile otherwise.
2026-06-03 16:59:58 +10:00
Geoffrey McRae
1b7c00dc82
[idd] driver: implement postprocess filters
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-06-03 08:59:48 +10:00
Geoffrey McRae
a59040f0be
[idd] driver: add/expose CSettings read string/bool methods
2026-06-03 08:59:48 +10:00