Commit graph

1577 commits

Author SHA1 Message Date
Stephan Lachnit
946c75d14a steamcompmgr: fix typo 2023-07-21 08:22:38 +02:00
Joshua Ashton
2dd8236c22 rendervulkan: Use native gamut wideness by default 2023-07-10 01:23:57 +01:00
Joshua Ashton
feb4451a20 steamcompmgr: Disable force composite when we would partial 2023-07-09 20:03:35 +01:00
Joshua Ashton
3712ecdb3d steamcompmgr: Disable partial composition (for now until some critera are met) 2023-07-09 20:02:20 +01:00
Joshua Ashton
98335c8709 drm: Use 10-bit partial composite formats if possible 2023-07-09 20:02:20 +01:00
Joshua Ashton
1bc1e724dd main: Fix CI 2023-07-09 20:02:20 +01:00
Joshua Ashton
5e99ecb46b rendervulkan: Seamless full -> deferred composition switch 2023-07-09 20:02:20 +01:00
Joshua Ashton
31eefd41a0 rendervulkan: Move reset for commandbuffer to main thread for partial composition 2023-07-09 20:02:20 +01:00
Joshua Ashton
70626628f9 rendervulkan: Pick right first partial composite image 2023-07-09 20:02:20 +01:00
Joshua Ashton
6a6df4ea95 rendervulkan: Use same memory backing for partial and complete composition
Despite different formats, alias the memory backing to save space.
2023-07-09 20:02:20 +01:00
Joshua Ashton
bc3c4bc275 steamcompmgr, rendervulkan: Implement deferred partial composition
Use partial composition for overlays when we have too many layers.
2023-07-09 20:02:20 +01:00
Joshua Ashton
d5aec88630 drm: Fallback displayColorimetry for broken EDIDs
May fix: #864
2023-07-09 19:23:23 +01:00
Joshua Ashton
183792e2ec drm: Free blob in fail path 2023-07-09 19:02:25 +01:00
Michal Pawlowski
1b9b736257 steamcompmgr: Fix enabling VRR from commandline
The --adaptive-sync flag is not used during vrr atom update
so it's value get's overwritten with 0 thus disabling the VRR
in the process.
2023-06-29 14:45:30 +01:00
Joshua Ashton
9b70b3b9e3 drm: Handle not having CRTC 3D LUT/Shaper 2023-06-23 04:32:02 +01:00
Joshua Ashton
789cfc9057 main, steamcompmgr: Add support for --headless
No window system, vr, drm, etc required.

Can be used to stream headlessly with Pipewire or screenshots, etc.

Can also just be used as a utility to run applications that need a GUI
or window envrionment despite just being an installer or something.
2023-06-16 17:51:24 +01:00
Fabian Arndt
7a1fe2def3 Added option to set upscaler filter
- Removed options to set filters explicitly (-n, -U, -Y)
- Changed scaler option from -s to -S
- Reordered usage slightly
2023-06-14 11:37:10 +01:00
Fabian Arndt
a7c60be193 Added option to set upscale scaler
Removed option to explicitly force integer scaler
2023-06-14 11:37:10 +01:00
Joshua Ashton
8866c02dc7 vr_session: Add vrsession_set_dashboard_visible 2023-06-06 22:58:38 +01:00
Joshua Ashton
98a0aab039 steamcompmgr, rendervulkan: Only capture baseplanes in screenshots
Also avoid performing color mgmt on screenshots (outside of HDR screenshot fallbacks)
2023-06-06 03:12:18 +01:00
Joshua Ashton
20ee2b5468 rendervulkan: Fix half-texel offset for blits 2023-06-06 02:08:08 +01:00
Joshua Ashton
f2d11727be rendervulkan: Fix RGB blits using incorrect colorspace 2023-06-06 02:08:08 +01:00
Joshua Ashton
70c2e68d3d rendervulkan: Mark screenshot textures as storage compatible 2023-06-06 01:58:15 +01:00
FlightlessMango
33fb485e7a mangoapp: report output size to mangoapp
This way mangoapp knows what resolution gamescope is running and can
adjust accordingly. This should resolve issues on various handhelds
where `--force-orientation left` caused incorrect rendering of mangoapp
2023-05-29 10:59:36 +01:00
Joshua Ashton
f673ddffd1 pipewire: Only create up to 8 buffers
This is how many we have to allocate.

Thanks to @Starsam80 for catching this
2023-05-28 19:39:07 +01:00
Joshua Ashton
05361b1f39 drm: Don't update internal screen orientation if we don't have one
Fixes: #889
2023-05-28 17:40:41 +01:00
Joshua Ashton
9282a715a1 wlserver: Disable trackpad on external screen by default
This was just an experiment of mine.

This does fix the rotation thing though.
2023-05-27 17:35:17 +01:00
Joshua Ashton
e8b60578b5 wlserver, drm: Make touchscreen function as trackpad when using external screen 2023-05-27 17:31:53 +01:00
Joshua Ashton
56f4263b3a drm, wlserver: Always use internal screen rotation for touchscreen orientation
Lets you use Deck screen as touchpad type thing when docked.
2023-05-27 16:40:05 +01:00
Joshua Ashton
2f3029f5e0 rendervulkan: Fix screenshots since moving to 10-bit.
This dispatch was incorrect subgroup wise. IDK how this code ever worked.
2023-05-27 16:33:32 +01:00
Joshua Ashton
847da568df steamcompmgr: Remake output images on res change
This got lost in the format stuff.

Closes: #883
2023-05-27 16:06:43 +01:00
Joshua Ashton
29710fb2ec vr_session: Support for trackpad scrolling 2023-05-26 17:06:44 +01:00
Jeremy Selan
baea00fb15 [color_helpers]: cleanup tonemapping support 2023-05-25 13:16:08 -07:00
Joe Dight
73ce5a440a Fallback to regular-priority queue when vkCreateDevice fails 2023-05-23 14:38:16 +02:00
Joshua Ashton
56a799827d steamcompmgr: Fix FSR getting enabled accidentally
Fixes: #874
2023-05-19 00:25:10 +00:00
Joshua Ashton
b4ff0f62fa drm, steamcompmgr: Implement edid patching for HDR for debugging 2023-05-18 22:46:18 +00:00
Joshua Ashton
bddf6fd79e steamcompmgr: Disable EETF tonemapping by default
Hurts games that do stuff right.
2023-05-18 22:06:33 +00:00
Joshua Ashton
58a2912e11 steamcompmgr: Rename atom to GAMESCOPE_COLOR_MANAGEMENT_CHANGING_HINT 2023-05-17 00:32:43 +00:00
Joshua Ashton
a40549caa6 steamcompmgr: Add GAMESCOPE_COLOR_SLIDER_IN_USE 2023-05-17 00:27:51 +00:00
Joshua Ashton
bd96c4ce5d Revert "rendervulkan: Don't use 10-bit format for VR session"
I fixed this in the next release of SteamVR.

1010102 formats are now supported on Linux + SteamVR.

This reverts commit 6586d5e009.
2023-05-16 17:33:51 +00:00
Joshua Ashton
6586d5e009 rendervulkan: Don't use 10-bit format for VR session
OpenVR has a fit and displays it all whacky mode.

Come back to this later potentially.
2023-05-16 01:50:58 +00:00
Hans-Kristian Arntzen
61121e206b Pass through duplicate commits if there are feedbacks.
Mutter and Weston behavior allows getting presentation feedbacks
for duplicate commits. This also allows gamescope to do the same.
2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
072e31d007 Ensure forward progress on frame callback.
If the BUFFER flag is not set in a commit, it means
the buffer is inherited on the surface.
As this is equivalent to a commit with same buffer,
ensure forward progress is made on frame callbacks.

This behavior also matches Mutter and Weston based on tests.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
a8ffc64f40 Ensure that duplicated commits have forward progress.
If the same buffer is attached in subsequent commits,
ensure frame callback is pumped.
This matches Mutter and Weston behavior based on tests.
2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
72056a98b5 Send presentation after handling commits on XDG. 2023-05-16 02:41:52 +01:00
Hans-Kristian Arntzen
abd04f793e Don't send frame callback before we have actually committed.
This avoids a problem where frame callback is reported before we have
actually committed to display a surface. This could lead to skipping
where application commits a new surface before the current surface will
be queued up for display. This breaks FIFO rules in e.g. Vulkan.
A scenario where this matters is when GPU is rendering slower than
refresh rate.

Also avoids a problem where the commit queue can grow large since
frame callbacks will be pumped faster than the GPU is able to process
the frames.

At least Mutter behavior is similar here, so I think this is the correct
interpretation.

Also fixes KHR_present_wait in Xwayland. Xwayland uses frame callback to
signal PRESENT_COMPLETE and this fixes that.
2023-05-16 02:41:52 +01:00
Joshua Ashton
f6d9ef465d drm, rendervulkan: Pick a 10-bit format for composite buffer
1. Many game engines automatically render to 10-bit formats such as UE4 which means
that when we have to composite, we can keep the same HW dithering that we would get if
we just scanned them out directly.

2. When compositing HDR content as a fallback when we undock, it avoids introducing
a bunch of horrible banding when going to G2.2 curve.
It ensures that we can dither that.
2023-05-15 23:48:24 +00:00
Joshua Ashton
8bb7272a04 rendervulkan: Expose some more formats 2023-05-15 22:44:28 +00:00
Jeremy Selan
6531d9cdf9 color_helpers: added default tonemapping for PQ->G22 2023-05-12 16:09:25 -07:00
Jeremy Selan
941b22f68f color_helpers: refactored eetf2390 tonemapping 2023-05-11 10:32:05 -07:00
Jeremy Selan
156660c72b color_helpers: added eetf_2390 tonemapping operator (currently unused) 2023-05-10 17:32:25 -07:00
Jeremy Selan
3534657de6 heatmap: fix typo 2023-05-10 17:32:25 -07:00
Joshua Ashton
b778e53036 wlserver: Set seat keyboard on keyboard focus
Ensures we have keymap sent by wlroots when we send modifiers for the keyboard in notify_enter
2023-05-10 17:02:04 +00:00
Joshua Ashton
345ffef031 main: Fix output initialization for OpenVR
Regressed from the present queue stuff
2023-05-09 23:45:06 +00:00
Jeremy Selan
3e2e84422f fix lut1d header definition 2023-05-09 16:26:37 -07:00
Jeremy Selan
f1ba09a0b0 dont assume shapers are analytically invertible (uses LUT inverse) 2023-05-09 16:23:11 -07:00
Joshua Ashton
c78294f2e5 main: Don't create SDL Vulkan surface if in a VRSession
Fixes a regression from the present queue stuff.
2023-05-09 23:15:23 +00:00
Jeremy Selan
19cac186e1 color_helper: actually store 1d luts in planar form to allow simpler inversion 2023-05-09 12:46:32 -07:00
Joshua Ashton
eec7f08c37 steamcompmgr: Add --framerate-limit 2023-05-09 18:12:28 +00:00
Jeremy Selan
db95bc30b1 color-helpers: all lut computation is in float; quantization is separate step 2023-05-09 10:50:25 -07:00
Joshua Ashton
1e1f5da6c3 build: Add glm dep to color microbench 2023-05-09 16:20:56 +00:00
Joshua Ashton
8597dff537 color_helpers: Encode source color EOTF edges once per-edge rather than per-element 2023-05-09 16:20:56 +00:00
Joshua Ashton
50237d4f11 color_bench: Add color mgmt microbenchmark 2023-05-09 16:20:56 +00:00
Joshua Ashton
f9e47a612f color_helpers, steamcompmgr: Avoid allocation of LUTs every time we re-setup color mgmt 2023-05-09 16:20:56 +00:00
Joshua Ashton
36c120901a steamcompmgr: Profile all of update_color_mgmt and not just calcColorTransform 2023-05-09 16:20:56 +00:00
Joshua Ashton
e0afde05fa color_helpers: Apply shaper per-element of nested loop
Saves ~0.2ms
2023-05-09 16:20:56 +00:00
Joshua Ashton
171bfe9439 color_helpers: Inline some functions
Saves ~0.35ms
2023-05-09 16:20:56 +00:00
Joshua Ashton
eacb55f8fc steamcompmgr: Color management microbenchmark 2023-05-09 16:20:56 +00:00
Joshua Ashton
9bac374ff7 color_helpers: Use rintf instead of roundf
Saves ~0.2ms
2023-05-09 16:20:56 +00:00
Joshua Ashton
580f9e05cb color_helpers: Optimize pq_to_nits + nits_to_pq
Make these take in vector types, saves ~0.4ms
2023-05-09 16:20:56 +00:00
Joshua Ashton
799869e3c7 steamcompmgr: Always send frame callback for any current surface (not just main)
Fixes a stall with the WSI Layer in the Granite latency test
2023-05-05 20:30:06 +01:00
Joshua Ashton
dd7df68143 wlserver, steamcompmgr: Initial presentation time implementation 2023-05-05 20:30:06 +01:00
Joshua Ashton
23caed78f7 steamcompmgr: Move send_done to just before latest latch time
Makes more sense instead of sending done after we commit for page flip, otherwise the cadence can be slightly too ahead.

(Accounts for the bubble of time after latch -> commit being included in the time when we want to submit)

This also ensures that in the case where QueuePresent can stall on Wayland WSI (ew, gross!) that that stall will be finished before the next acquire.
2023-05-05 20:30:06 +01:00
Victoria Brekenfeld
ce95b0e81f vulkan: Check if selected queue can be used
This is essentially a fix for src/rendervulkan.cpp:3075 (before this commit).
Instead of first selecting a queue and later failing, if the selected
queue can't be used for presenting, this patch considers the fact, *when*
selecting a queue.

As a result quite a bit of code had to be re-ordered to make sure the
surface already exists, when selecting the queue.
2023-05-05 18:07:30 +01:00
Joshua Ashton
1716555313 main: Expose sdr-gamut-wideness and hdr-sdr-content-nits as launch args 2023-04-30 01:59:05 +01:00
Jeremy Selan
279eb5e38c fix build breakage 2023-04-28 19:24:25 -07:00
Jeremy Selan
b25da0adae [color_helpers]: initial implementation of COLOR_LOOK atoms 2023-04-28 16:53:26 -07:00
Joshie
7f00114bd4
drm: Reset BLEND_TF + BLEND_LUT 2023-04-28 18:48:53 +01:00
Oliver Chang
5af321724c Avoid out of bounds accesses in drm.cpp
On certain configurations the EDID retrieval and parsing seems to fail,
leading to create_patched_edid accessing out of bounds indexes on a zero
length vector.
2023-04-27 16:42:30 +01:00
Dlanis
e805c9c05d Replace tabs with spaces in help 2023-04-24 19:54:56 +01:00
Joshie
50477dc028
sdlwindow: Gate SDL_GetWindowSizeInPixels behind version check 2023-04-24 19:21:21 +01:00
Jan Beich
d5440c6fca drm: drop unused Linux-only header after a90e359fc4
src/drm.cpp:4:10: fatal error: 'linux/limits.h' file not found
 #include <linux/limits.h>
          ^~~~~~~~~~~~~~~~
2023-04-23 19:09:04 +01:00
Joshua Ashton
5ffd51b391 steamcompmgr: Ensure members of steamcompmgr_win_t get initialized
Supercedes: #851
2023-04-23 17:33:26 +01:00
Joshua Ashton
7ef68ce050 main, steamcompmgr, shaders: Handle lack of LUTs + add debug for disabling color mgmt 2023-04-23 17:09:40 +01:00
Joshua Ashton
8608821414 drm: Fix drm_supports_color_mgmt checks 2023-04-23 16:53:25 +01:00
Joshua Ashton
50925d9a11 shaders: Fix RCAS colorspace
Closes: #850
2023-04-22 02:46:29 +01:00
Jeremy Selan
64ae944203 updated heatmap_hard appearance 2023-04-21 11:46:43 -07:00
Jeremy Selan
c6d3ac7c05 added Hard heatmap mode
also fixed the heatmap atom parsing
2023-04-20 18:20:58 -07:00
Joshua Ashton
4acf360cc8 drm: Disable BLEND_TF + REGAMMA_TF if single plane
BLEND_TF with de-pq currently introduces very slight banding on bright highlights of PQ content (eg. sun in Ori and the Will of the Wisps)

As a workaround, let's disable BLEND_TF + REGAMMA_TF if we are doing single plane.

Disabling un-necessary blocks is probably a good thing in the long run anyway for multiple reasons.
2023-04-21 01:44:06 +01:00
Joshua Ashton
ff3e3b188c drm: Add some chicken bits for color pipeline 2023-04-21 00:06:58 +01:00
Joshua Ashton
7e37ab2ff6 color_helpers: Remove spaceship operator usage
Isn't liked on clang, simply do == and != =default.
2023-04-20 23:03:17 +01:00
Joshua Ashton
1a7fcf892e docs: Add Steam Deck Display Pipeline graph 2023-04-20 23:03:17 +01:00
Joshua Ashton
57482080e7 steamcompmgr: Track needed XFlush across all change properties events
Then flush at the end of each frame if we need to do an XFlush
2023-04-20 23:03:17 +01:00
Joshua Ashton
c83a36cdaa steamcompmgr: Expose HDR metadata by feedback atom
Also do more robust flushing for any feedback atoms, which should fix some wonkiness.
2023-04-20 23:03:17 +01:00
Jeremy Selan
cfcea1433e steamcompmgr, color_helpers: Added atoms for color gains
GAMESCOPE_HDR_INPUT_GAIN
GAMESCOPE_SDR_INPUT_GAIN
2023-04-20 23:03:17 +01:00
Jeremy Selan
378cfa5b7b properly map g22 -> g22 luminance when forceHDR is enabled 2023-04-20 23:03:17 +01:00
Joshua Ashton
06f00661ac rendervulkan: Fix HDR blur intensity
I really need to change setTextureSrgb true == linear. It's so damn confusing!
2023-04-20 23:03:17 +01:00
Joshua Ashton
2da271d515 shaders: Fix horizontal blur output colorspace 2023-04-20 23:03:17 +01:00
Joshua Ashton
092fccf9a6 rendervulkan: Fix race when updating LUTs 2023-04-20 23:03:17 +01:00
Joshua Ashton
2ad6b0320c shader: Get blur stuff working with HDR and color mgmt 2023-04-20 23:03:17 +01:00
Joshua Ashton
fcc7b7aea3 shaders, rendervulkan: Hook up FSR for HDR 2023-04-20 23:03:17 +01:00
Joshua Ashton
1dd05cf14b shaders: Fix scRGBEncodingToPQ
nitsToPq vs pqToNits, oops! Was passing some insane values here. :-)
2023-04-20 23:03:17 +01:00
Joshua Ashton
e9127576d7 steamcompmgr: Fix crash on override LUT 2023-04-20 23:03:17 +01:00
Joshua Ashton
aaaff2cb16 shaders: Tetrahedral 3D LUT implementation 2023-04-20 23:03:17 +01:00
Joshua Ashton
e806d790f0 drm, steamcompmgr: Don't apply color mgmt twice if compositing 2023-04-20 23:03:17 +01:00
Joshua Ashton
0c980fbb0e color, shaders: Use color mgmt LUT path in shader compute path 2023-04-20 23:03:17 +01:00
Joshua Ashton
c6e232ea8c color_helpers: Clean up EOTF definition 2023-04-20 23:03:17 +01:00
Joshua Ashton
4f9319401b drm: Fix scRGB handling 2023-04-20 23:03:17 +01:00
Joshua Ashton
975c5f4de5 drm: Always use scale_tf 2023-04-20 23:03:17 +01:00
Joshua Ashton
a90e359fc4 drm, steamcompmgr: Initial EDID patching stuff
Initially, patch out rotations atm. We want to do more here and fix up other blocks eventually though.
2023-04-20 23:03:17 +01:00
Jeremy Selan
11bb9f03b9 steamcompmgr: Fix bug where internaldisplaybrightness was not updating when the atom was set 2023-04-20 23:03:17 +01:00
Joshua Ashton
5af08640a7 steamcompmgr: Fix HDR feedback only updating on mode change 2023-04-20 23:03:17 +01:00
Jeremy Selan
359817db3a steamcompmgr: Minor ITM changes 2023-04-20 23:03:17 +01:00
Jeremy Selan
977e06f721 steamcompmgr: Delete GAMESCOPE_DISPLAY_HDR_FORCE_WIDE_GAMMUT_FOR_SDR 2023-04-20 23:03:17 +01:00
Jeremy Selan
5815dc3fb4 steamcompmgr: GAMESCOPE_SDR_ON_HDR_CONTENT_BRIGHTNESS atom should be float, not int 2023-04-20 23:03:17 +01:00
Jeremy Selan
482cc2c874 steamcompmgr: Renamed GAMESCOPE_HDR_SDR_CONTENT_BRIGHTNESS -> GAMESCOPE_SDR_ON_HDR_CONTENT_BRIGHTNESS 2023-04-20 23:03:17 +01:00
Joshua Ashton
b529bba53a steamcompmgr: Add GAMESCOPE_COLOR_APP_WANTS_HDR_FEEDBACK
Tell Steam whether this app is wanting HDR or not.

(Whether it's submitting  HDR buffers)
2023-04-20 23:03:17 +01:00
Jeremy Selan
77095cb553 color_helpers: Refined sdr gamut generation on wide gamut displays 2023-04-20 23:03:17 +01:00
Jeremy Selan
4b4f85f4d1 drm: Added envvar to override internal display colorimetry
GAMESCOPE_INTERNAL_COLORIMETRY_OVERRIDE
2023-04-20 23:03:17 +01:00
Jeremy Selan
60fb2711e1 drm: Additional edid logging 2023-04-20 23:03:17 +01:00
Jeremy Selan
a8a660f7d0 color_helpers, drm: separated eotf from the colorimetry definition 2023-04-20 23:03:17 +01:00
Jeremy Selan
48bd08be88 color_helpers: fix brightness mapping for sdr -> sdr 2023-04-20 23:03:17 +01:00
Joshua Ashton
54486ac5de drm: Fix disabling HDR on an external HDR display since new color toys 2023-04-20 23:03:17 +01:00
Jeremy Selan
c6ce0599f3 color_helpers: Alternate (preferred) check for c++ 2020 2023-04-20 23:03:17 +01:00
Jeremy Selan
039c3228aa steamcompmgr: Use proper EOTF enums for the 3dlut overrides 2023-04-20 23:03:17 +01:00
Joshua Ashton
005bec4495 steamcompmgr: Use index 0 for lut overrides
No more linear now.
2023-04-20 23:03:17 +01:00
Joshua Ashton
38d2f04ba9 steamcompmgr: Fix lut3d output override check 2023-04-20 23:03:17 +01:00
Joshua Ashton
e810317e95 steamcompmgr, drm: Add support for disjoint content and output encoding colorspaces 2023-04-20 23:03:17 +01:00
Joshua Ashton
88f91ab68f color_helpers: Fix undefined EOTF for result 2023-04-20 23:03:17 +01:00
Joshua Ashton
c3feda285b color_helpers: Don't lerp EOTF 2023-04-20 23:03:17 +01:00
Joshua Ashton
be27c87627 color_helpers: Fix EOTF of displaycolorimetry_widegamutgeneric_gamma22 2023-04-20 23:03:17 +01:00
Joshua Ashton
ef7642faae drm: Don't use DEGAMMA_TF + SHAPER_TF when we don't need scaling
Introduces weird banding artifacts rn, ugh.
2023-04-20 23:03:17 +01:00
Joshua Ashton
8a39621d3a drm: Hook up BLEND_TF and stuff for proper space for degamma 2023-04-20 23:03:17 +01:00
Jeremy Selan
2e42bbfa08 color_helpers: WIP on making calcColorTransform PQ aware 2023-04-20 23:03:17 +01:00
Joshua Ashton
90de845cfc steamcompmgr: Fix setting lut override multiple times 2023-04-20 23:03:17 +01:00
Joshua Ashton
15014f401e drm: Fix override LUTs 2023-04-20 23:03:17 +01:00
Joshua Ashton
fc1c9900e1 color_helpers: Fix scaling SDR content, bodge for PQ + 3D LUT for now 2023-04-20 23:03:17 +01:00
Joshua Ashton
a5d00f436c drm, steamcompmgr: Move color mgmt state out of DRM
Want to use this in composite too
2023-04-20 23:03:17 +01:00
Joshua Ashton
a980d912aa drm, color_helpers: Initial support for mixed HDR + SDR planes on both external HDR and fallback SDR when undocked 2023-04-20 23:03:17 +01:00
Joshua Ashton
0f323d63d7 color_helpers: Add pq EOTF math 2023-04-20 23:03:17 +01:00
Joshua Ashton
faee3be9de drm: Move to per-plane 3D LUT + Shaper
Need to do some cleanup here and version checks before merging.
2023-04-20 23:03:17 +01:00
Jeremy Selan
ef41d9f672 color_helpers: Update color math 2023-04-20 23:03:17 +01:00
Jeremy Selan
5ce316fa57 subprojects: Added glm dependency 2023-04-20 23:03:17 +01:00
Joshua Ashton
dc60eba246 color, drm: Initial work on new color mgmt system
Deprecates all other color properties for new color mgmt system using 3D LUTs
2023-04-20 23:03:17 +01:00
Benjamin Cheng
1310315c95 sdlwindow: set icon_surface to nullptr after free
Prevents a double free that might occur if icon_surface is not allocated
in the conditional following the free.
2023-04-07 09:41:00 +02:00
Benjamin Cheng
7d255f1dba sdlwindow: fix HiDPI handling
SDL_GetWindowSize() gives width and height in screen coordinates which
should be used for scaling mouse movements. The output size we should be
rendering should be in pixels which is given by
SDL_GetWindowSizeInPixels().

Fixes #796.
2023-04-07 06:03:50 +02:00
Joshua Ashton
5d9ecd462e drm: Fix issue on kernels without VALVE1_ HDR extensions 2023-03-22 01:21:23 +00:00
Joshua Ashton
f891e3dc4c drm: Add g_bForceDisableTransferFunctions debug switch
Can quickly toggle in GDB for debugging AMDGPU display out
2023-03-19 00:20:41 +00:00
Joshua Ashton
9b5f5f907c shaders: Make blur conditional more obvious 2023-03-18 15:12:29 +00:00
Joshua Ashton
30937177fa rendervulkan: Fix blur with HDR content 2023-03-18 15:11:45 +00:00