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
47e40afc6c
ci: Add benchmark as a dependency
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
f0a821e2c6
build: Enable -ffast-math
...
Saves ~0.4ms in total in our color mgmt LUT calculations.
We don't deal with floats + NaNs/INFs anywhere in our codebase.
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
acef4c24ed
layer: Enable KHR_present_wait driconf in the layer
2023-05-05 20:30:06 +01: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
95368ea7ef
protocol: Add presentation-time xml + build
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
Joshie
608f952dba
layer: Fix scRGB surface format definition
...
scRGB is linear, not using sRGB curve.
Matches what we expose in DXVK for DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709.
2023-04-27 06:47:43 +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
15a45109d9
build: Enable -Wno-volatile for GLM
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