Commit graph

947 commits

Author SHA1 Message Date
Georg Lehmann
6cfe2fe09c rendervulkan: Inital FSR support. 2022-01-31 23:41:04 +00:00
Georg Lehmann
3d3b9ad503 rendervulkan: Create FSR pipelines. 2022-01-31 23:41:04 +00:00
Georg Lehmann
d0605bef22 rendervulkan: Add fsr shaders. 2022-01-31 23:41:04 +00:00
Georg Lehmann
463dabe199 rendervulkan: Move descriptor set definition to separate header. 2022-01-31 23:41:04 +00:00
Georg Lehmann
9a8b3bd22c rendervulkan: Import fsr headers. 2022-01-31 23:41:04 +00:00
Georg Lehmann
7f3aebbcc0 rendervulkan: Prepare for multiple descriptor sets. 2022-01-31 23:41:04 +00:00
Georg Lehmann
56fb91ea72 rendervulkan: Use drmformats everywhere, create srgb and linear image views 2022-01-31 23:41:04 +00:00
Georg Lehmann
861435aeba rendervulkan: Allow readwrite images. 2022-01-31 23:41:04 +00:00
Georg Lehmann
5d20c56f2e rendervulkan: Compile Pipelines on a separate thread. 2022-01-31 23:41:04 +00:00
Georg Lehmann
ebc159869e rendervulkan: Move VkPipeline creation to its own function. 2022-01-31 23:41:04 +00:00
Joshua Ashton
3dc36c8799 wlserver: Redirect volume events to root xwayland
Avoids games being the ones to recieve our lower volume/raise volume keys -- Steam should handle these.
2022-01-31 20:39:35 +00:00
Joshua Ashton
3f4aa2a75f sdlwindow: Do nothing for title or PushUpdate when nested
Waste of cycles.
2022-01-31 18:45:58 +00:00
Joshua Ashton
a5ec3728d9 steamcompmgr: Fix focusDirty tracking being lost when switching to windows without commits 2022-01-31 18:45:58 +00:00
Joshua Ashton
899f1c802e steamcompmgr: Bring back stats to un-break CI
Don't know if we want to bring this back or not... We have better things for this now. But it's breaking CI.
2022-01-31 17:16:18 +00:00
Georg Lehmann
a9654d6cfb rendervulkan: Only create useful pipelines. 2022-01-31 17:09:10 +00:00
Simon Ser
c110515345 build: bump min meson version to 0.58.0
Fixes the following warning:

    ../meson.build:59: WARNING: Project targeting '>=0.55.0' but tried to use feature introduced in '0.58.0': Positional argument to dep.get_variable().
2022-01-31 14:39:34 +01:00
Simon Ser
429107e193 build: set check: false in run_command()
Fixes this warning:

    WARNING: You should add the boolean check kwarg to the run_command call.
             It currently defaults to false,
             but it will default to true in future releases of meson.
             See also: https://github.com/mesonbuild/meson/issues/9300
2022-01-31 14:38:12 +01:00
Simon Ser
718cfee03c Upgrade libliftoff 2022-01-31 14:35:20 +01:00
Tobias Jakobi
1f5c56ba6d build: link to librt since the pipewire code uses shm_open() 2022-01-28 21:19:15 +01:00
Georg Lehmann
bf55e08712 rendervulkan: Remove swap channels pipeline variant. 2022-01-26 13:06:30 +00:00
Georg Lehmann
4f0f0065ad rendervulkan: Remove swap channels.
Unused since 76292f01cb, partially broken and
unnecessary because we should be able to always use the correct VkFormat.
2022-01-26 13:06:30 +00:00
Joshua Ashton
698d14b7e9 steamcompmgr: Use SRGB for cursor image
This is it's correct color space after all!

Thanks to Georg Lehmann for pointing this out.
2022-01-25 05:13:20 +00:00
Joshua Ashton
10943045ff rendervulkan: Support modifiers on SRGB images 2022-01-25 05:13:20 +00:00
Joshua Ashton
79f66f9729 steamcompmgr: Warp cursor off of Steam when cursor is hidden
Stops misleading hover events from happening while also not intefering with touch.
2022-01-24 11:38:41 -08:00
Georg Lehmann
83cf86bcc1 build: rebuild shaders when included files changed 2022-01-23 05:10:41 +00:00
Georg Lehmann
5bfc27576d build: preparations for more shaders 2022-01-23 05:10:41 +00:00
Joshua Ashton
3ae7c0c0f5 steamcompmgr: Keep being interactive when switching between focus windows and waiting for commits
Avoids bubbles of no focus window
2022-01-23 05:09:18 +00:00
Joshua Ashton
60f20b9fe5 steamcompmgr: Don't care if game is focused to paint
We could just want to render the overlay and our held base commit.
2022-01-23 05:09:18 +00:00
Joshua Ashton
98dc1a5a7e steamcompmgr: Track X dirtying outside of dispatch
If we dirty the X server outside of the dispatch, xlib can flush its events, leading us to a state where XPending(dpy), would be true but the poll returns false.

Check if we have locally queued events before polling and flush those to mitigate this. This does not involve a system call.
2022-01-20 10:39:30 +01:00
Joshua Ashton
57eee35f29 wlserver: Wait for steamcompmgr to shutdown before cleaning up xwayland
Makes shutdown cleaner
2022-01-20 08:55:26 +00:00
Georg Lehmann
edb77e2490 rendervulkan: Add missing barriers in vulkan_create_texture_from_bits. 2022-01-20 07:37:20 +00:00
Georg Lehmann
eff99fdf81 rendervulkan: Add acquire and release barriers for imported images. 2022-01-20 07:37:20 +00:00
Georg Lehmann
10ba9f3908 rendervulkan: Fix WAW hazard for screenshot image. 2022-01-20 07:37:20 +00:00
Georg Lehmann
ca09577632 rendervulkan: Stop using unnormalized ycbcr samplers.
This is not allowed for ycbcr samplers.
2022-01-20 07:37:20 +00:00
Georg Lehmann
73025b24e2 rendervulkan: Avoid writing rgb descriptors for ycbcr images. 2022-01-20 07:37:20 +00:00
Georg Lehmann
1bb24ded57 rendervulkan: Remove empty texture. 2022-01-20 07:37:20 +00:00
Georg Lehmann
dcc290725a rendervulkan: Enable NULL descriptor feature. 2022-01-20 07:37:20 +00:00
Georg Lehmann
7d6ad29757 rendervulkan: Enable samplerYcbcrConversion. 2022-01-20 07:37:20 +00:00
Georg Lehmann
ca2c770d64 rendervulkan: Always account for push frameid even if it's unused. 2022-01-20 07:37:20 +00:00
Georg Lehmann
95d25290d3 rendervulkan: Switch to GL_ARB_shader_clock and enable shaderSubgroupClock.
shaderSubgroupClock is better supported than shaderDeviceClock (e.g. anv
and before radv < gfx8).
2022-01-20 07:37:20 +00:00
Georg Lehmann
e1397a26e3 rendervulkan: Transition present image to general before compositing. 2022-01-20 07:37:20 +00:00
Georg Lehmann
96fb7aeed0 rendervulkan: Transition present image to PRESENT_SRC in nested mode. 2022-01-20 07:37:20 +00:00
Georg Lehmann
2c5dae8439 rendervulkan: Wait for fence after acquire next image. 2022-01-20 07:37:20 +00:00
Joshua Ashton
497c07387d steamcompmgr: Always composite our first frame
AMDGPU gets very very upset if the first commit that also does display bringup+modeset has multiple planes. :(
2022-01-20 07:29:48 +00:00
Joshua Ashton
9c8948cec4 steamcompmgr: Disable DrawBorders for video UI
Fixes cursor having a black border here.
2022-01-20 07:29:48 +00:00
Joshua Ashton
ad2bf6663e steamcompmgr: Don't let overlays account for valid contents
Stops mangoapp breaking seamless boot.
2022-01-20 07:29:48 +00:00
Joshua Ashton
d84f7068b4 steamcompmgr: Move to empty instead of size != 0 2022-01-20 08:26:13 +01:00
Joshua Ashton
4237d3d2bb steamcompmgr: Fallback to whatever is best for local focus if focus control appid is not present inside of xwayland context
Allows us to run with multiple xwayland contexts and still have proper focus if the game launches into the first xwayland context
2022-01-20 07:11:40 +00:00
Joshua Ashton
a3cbe5d079 steamcompmgr: Move mangoapp_update to the imageWaitThread
More correct, stops reported frametimes being all over the place if steamcompmgr is waiting for stuff to happen.
2022-01-20 07:11:40 +00:00
Joshua Ashton
ae268ec9c9 steamcompmgr: Remove 1 appid per ctx assumption, factor out primary focus + override determination 2022-01-20 07:11:40 +00:00