Commit graph

1389 commits

Author SHA1 Message Date
Joshua Ashton
bb523af686 build: Remove stb submodule that somehow got here 2023-01-07 12:26:31 +00:00
Joshua Ashton
501cb45150 layer: Handle lack of gamescope socket with grace 2023-01-07 12:09:12 +00:00
Joshua Ashton
79ce85b4cb layer: Check if VkFormat is supported for underlying surface in CreateSwapchainKHR 2023-01-07 10:35:38 +00:00
Joshua Ashton
d19872963e steamcompmgr: Support Xwayland resizing in nested 2023-01-07 10:09:46 +00:00
Joshua Ashton
10ca15cc1c steamcompmgr: Handle commit size != window size for layer 2023-01-07 10:02:45 +00:00
Joshua Ashton
5054054768 drm, steamcompmgr: Implement 3DLUT + SHAPERLUT support 2023-01-06 15:54:31 +00:00
Joshua Ashton
dc6d755ada drm: Use 'contains' on map to simplify property code
May as well use C++20 for everything now we need it for the
layer.
2023-01-06 15:25:04 +00:00
Joshua Ashton
67d79cfee7 steamcompmgr: Always composite when debug heatmap is enabled. 2023-01-06 14:21:50 +00:00
Joshua Ashton
d2c14e78b7 steamcompmgr: Fix GAMESCOPE_DEBUG_HDR_HEATMAP 2023-01-06 14:21:50 +00:00
Joaquín Ignacio Aramendía
45c9ffd088
steamcompmgr: add basic handling of system() ffmpeg call 2023-01-05 12:11:42 +01:00
Joshua Ashton
054dcec856 steamcompmgr: Replicate gamescopeHDROutputFeedback to other servers properly 2023-01-05 06:26:33 +00:00
Joshua Ashton
a1bff9fc70 shaders: Fix primaries for scRGB content
Need to go from 709 -> 2020.
2023-01-04 08:40:46 +00:00
Joshua Ashton
1e9ccbd05c layer: Remove duplicate largestObscuringWindowSize check 2023-01-04 07:44:05 +00:00
Joshua Ashton
da33453174 steamcompmgr: Add GAMESCOPE_HDR_SDR_CONTENT_BRIGHTNESS atom 2023-01-03 14:53:00 +00:00
Joshua Ashton
7251fdd878 shaders: Improved heatmap code frol Lilium 2023-01-03 14:03:06 +00:00
Joshua Ashton
d1fd41fd5b rendervulkan: Apply tonemapping to HDR content on SDR outputs
Also add a debug flag for Reinhard.
2023-01-03 14:02:54 +00:00
Joshua Ashton
905376f036 steamcompmgr: Add GAMESCOPE_DEBUG_HDR_HEATMAP 2023-01-03 12:43:38 +00:00
Joshua Ashton
0c3653d159 color_helpers: Handle naughty clients/EDIDs with more grace
Avoid asserting and simply clamping to deal with broken EDIDs like
on LG OLED panels for now.
2023-01-03 12:14:32 +00:00
Joshua Ashton
d2cc74c570 main: Add heatmap debug to help 2023-01-03 06:00:39 +00:00
Joshua Ashton
8a16fa346f subprojects: Update vkroots 2023-01-03 05:57:17 +00:00
Joshua Ashton
ae02e05e4b layer: Clean up return logic in QueuePresentKHR 2023-01-03 03:50:11 +00:00
Joshua Ashton
6d6cc98f0f layer: Return result from QueuePresentKHR when not forcing suboptimal 2023-01-03 03:48:20 +00:00
Joshua Ashton
acbb71966f layer: Enable VK_KHR_xcb_surface extension
Needed for fallback surface.
2023-01-02 06:41:16 +00:00
Joshua Ashton
ece20d0120 layer: Add Reply audo-delete helper for XCB replies 2023-01-02 06:08:32 +00:00
Joshua Ashton
89456dd976 layer: Free reply in getToplevelWindow when root is reached
I need to write some wrapper here, this crappy xcb api is rife for errors liek this.
2023-01-02 06:00:06 +00:00
Joshua Ashton
d84d0fcfc9 layer: Free attributeReply after use
Oops!
2023-01-02 05:58:48 +00:00
Joshua Ashton
6a6a89c818 layer: Add fallback to XCB surface when we cannot safely flip 2023-01-02 05:57:44 +00:00
Joshua Ashton
b5e2602f69 layer: Move XCB helpers to header 2023-01-02 04:13:16 +00:00
Joshua Ashton
eb29ba4af5 main: Add hdr-sdr-content-nits argument 2023-01-02 04:04:15 +00:00
Jan Beich
50d5ea83b6 steamcompmgr: reap children like Linux on some BSDs
DragonFly and FreeBSD adopted a similar API to Linux. Other sytems
maybe interested as well, so add a warning.

src/steamcompmgr.cpp:51:10: fatal error: 'sys/prctl.h' file not found
 #include <sys/prctl.h>
         ^~~~~~~~~~~~~
src/steamcompmgr.cpp:3118:9: error: use of undeclared identifier 'PR_SET_CHILD_SUBREAPER'
        prctl( PR_SET_CHILD_SUBREAPER, 1, 0, 0, 0 );
               ^
2023-01-01 19:40:07 +00:00
Jan Beich
241df252fd main: don't renice as non-root on non-Linux
On BSD systems only the super-user may lower priority values.

meson.build:40:0: ERROR: Dependency "libcap" not found, tried pkgconfig and cmake

src/main.cpp:7:10: fatal error: 'sys/capability.h' file not found
 #include <sys/capability.h>
          ^~~~~~~~~~~~~~~~~~
src/main.cpp:244:2: error: unknown type name 'cap_t'
        cap_t caps = cap_get_proc();
        ^
src/main.cpp:244:15: error: use of undeclared identifier 'cap_get_proc'
        cap_t caps = cap_get_proc();
                     ^
src/main.cpp:247:3: error: unknown type name 'cap_flag_value_t'
                cap_flag_value_t nicecapvalue = CAP_CLEAR;
                ^
src/main.cpp:247:35: error: use of undeclared identifier 'CAP_CLEAR'
                cap_flag_value_t nicecapvalue = CAP_CLEAR;
                                                ^
src/main.cpp:248:23: error: use of undeclared identifier 'CAP_SYS_NICE'
                cap_get_flag( caps, CAP_SYS_NICE, CAP_EFFECTIVE, &nicecapvalue );
                                    ^
src/main.cpp:248:37: error: use of undeclared identifier 'CAP_EFFECTIVE'
                cap_get_flag( caps, CAP_SYS_NICE, CAP_EFFECTIVE, &nicecapvalue );
                                                  ^
src/main.cpp:250:24: error: use of undeclared identifier 'CAP_SET'
                if ( nicecapvalue == CAP_SET )
                                     ^
2023-01-01 19:40:07 +00:00
Joshua Ashton
ba467640a8 shaders: Fix output scaling of heatmap 2022-12-31 10:53:12 +00:00
Joshua Ashton
5b805dda00 rendervulkan: Framework for configurable SDR on HDR content brightness 2022-12-31 10:39:41 +00:00
Joshua Ashton
1fea04e073 steamcompmgr: Fix cached value of ST2084 support 2022-12-31 09:59:18 +00:00
Joshua Ashton
8f0008e3a6 rendervulkan: Add Lilium's HDR heatmap 2022-12-30 03:21:55 +00:00
Joshua Ashton
31c94f8869 rendervulkan: Add HDR heatmap debug + way to force support but not PQ output 2022-12-30 03:21:55 +00:00
Joshua Ashton
c25a368193 rendervulkan: Turn composite debug into flags rather than bool 2022-12-30 03:21:55 +00:00
Joshua Ashton
269bbc8444 rendervulkan: Expose 16161616_UNORM format for surfaces 2022-12-30 03:21:55 +00:00
Joshua Ashton
b033bbe5f8 layer: Support for x86 and x86_64 builds at the same time 2022-12-30 03:21:55 +00:00
Joshua Ashton
6bc6a85d6d build: Add options for building layer/executable 2022-12-30 03:21:55 +00:00
Joshua Ashton
a50ead0357 layer: Respect vk_x11_override_min_image_count
Avoids regressing things
2022-12-30 03:21:55 +00:00
Joshua Ashton
3591f2d4ab layer: Dump surface state on creation 2022-12-30 03:21:55 +00:00
Joshua Ashton
a4f30a87ff layer: Only expose HDR formats when gamescope HDR output is enabled and it isn't blacklisted for this app 2022-12-30 03:21:55 +00:00
Joshua Ashton
acf76d6cff steamcompmgr: Add GAMESCOPE_HDR_OUTPUT_FEEDBACK
Exposes whether HDR output is currently enabled.
2022-12-30 03:21:55 +00:00
Joshua Ashton
1ab8757558 layer: Make getting property values generic 2022-12-30 03:21:55 +00:00
Joshua Ashton
efd47c3012 layer: Expose scRGB surface format 2022-12-30 03:21:55 +00:00
Joshua Ashton
418a84dfb7 steamcompmgr, rendervulkan: Add force wide gammut option 2022-12-30 03:21:55 +00:00
Joshua Ashton
06c7c3efff drm: Respect connector HDR capabilities 2022-12-30 03:21:55 +00:00
Joshua Ashton
0d86168480 drm: Respect app's HDR metadata 2022-12-30 03:21:55 +00:00
Joshua Ashton
70b74e73be drm: Hook up Colorspace and HDR_OUTPUT_METADATA 2022-12-30 03:21:55 +00:00