Jakob Bornecrantz
95e95ba9b5
c/render: Tidy mesh shader
2021-04-12 22:16:31 +00:00
Ryan Pavlik
dde274b13e
comp: Fix typo.
2021-04-09 18:11:52 +01:00
Jakob Bornecrantz
971f88f34f
u/ft: Rename frame timing functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
f14958f2b0
c/main: Explicitly wait for GPU work to finish
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
bf2a90fec5
c/main: Switch to multi client layer
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
205db10353
c/main: Implement new predict and mark frame functions
2021-04-07 00:50:10 +01:00
Ryan Pavlik
22df47f974
c/main: Port to using u_graphics_sync_unref
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
2035da1ec9
c/main: Implement fence functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
efdba1602f
xrt: Pass along display_time_ns to layer begin
2021-04-07 00:50:10 +01:00
Moses Turner
b62b6eaef7
c/main: Follow OpenXR spec with blackground colour, tweek no layer colour.
...
Make background colour completely black if there are layers to display, to
follow OpenXR spec. Make the default background colour darker.
2021-04-04 20:34:35 +01:00
Ryan Pavlik
d34e1464fd
comp: Update file header.
2021-04-02 18:02:10 -05:00
Ryan Pavlik
c81ae4670b
comp: Properly service Windows message queue.
2021-04-02 17:47:40 -05:00
Ryan Pavlik
0139aa1525
comp: Fix conversion warnings
2021-03-31 12:02:41 -05:00
Ryan Pavlik
d4c352ef69
comp: Improve Windows errors.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
942091c10d
comp: Enable VK_EXT_debug_report extension
2021-03-31 12:02:41 -05:00
Ryan Pavlik
592df37c0f
comp: Fix some narrowing conversion warnings
2021-03-31 12:02:41 -05:00
Ryan Pavlik
78301ae5eb
comp: Use precise sleeper.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
3f2b09ae54
comp: Comment cleanup
2021-03-30 20:46:00 +00:00
Ryan Pavlik
be5a273659
comp/main: Use the new vk_bundle mutex functions.
2021-03-30 20:46:00 +00:00
Ryan Pavlik
b57d52f373
comp/main: Fix warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
bd00c7ffd3
comp/main: Deal with MSVC not liking static array sizes being non-constant.
2021-03-26 17:06:17 -05:00
Ryan Pavlik
0140ea34b6
comp/main: Implement consumption of sync handle on Windows
2021-03-26 17:06:17 -05:00
Jakob Bornecrantz
63f5c86257
xrt: Make xrt_swapchain be reference counted
2021-03-24 17:50:08 +00:00
Jakob Bornecrantz
8992f79257
c/main: Be even more paranoid about display timing code
2021-03-10 17:53:36 +00:00
Jakob Bornecrantz
a6da40de50
c/main: Remove unused fields
...
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:16:01 +00:00
Jakob Bornecrantz
003b70d05e
c/main: Use correct predicted display time for rendering
...
Closes #114
Reported-by: Boris-Chengbiao Zhou <bobo1239@web.de>
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:15:52 +00:00
Jakob Bornecrantz
8c724d67d4
c/main: Trace markers
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
fac1ce4a5a
c/main: Hookup up new frame timing code
2021-03-08 11:20:52 +00:00
Jakob Bornecrantz
48c2fe1f87
c/main: Refactor out wait idle to own function
2021-02-24 14:33:34 +00:00
Jakob Bornecrantz
616b7f6ae0
c/main: Tidy comp_target_swapchain
2021-02-24 14:33:34 +00:00
Christoph Haag
cc81174b70
comp: Fix VkDisplayKHR direct mode build without libx11-xcb
2021-02-10 22:02:30 +01:00
Christoph Haag
f5abb14422
comp: Don't allocate ubos with VK_MEMORY_PROPERTY_HOST_CACHED_BIT
...
On Tegra the only supported combinations for VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT are
* VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
* VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
* VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT
This article agrees that we do not need host cached memory here:
https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/
2021-02-03 02:24:35 +01:00
Jakob Bornecrantz
18fb3e7024
c/main: Lower priority on sRGB format
...
This works around a bug in the OpenXR CTS and mirrors better what at least on
other OpenXR runtime does.
2021-01-27 15:41:15 +00:00
Jakob Bornecrantz
e375523d80
c/main: Also print format when debugging swapchain creation
2021-01-27 14:03:27 +00:00
Christoph Haag
b23f04fed9
comp: Return proper errors for Vulkan xrCreateSwapchain
2021-01-26 15:26:47 +00:00
Jakob Bornecrantz
afea93f297
xrt: Remove prepare function from xrt_compositor
2021-01-20 15:04:09 +00:00
Jakob Bornecrantz
2b8c835b68
xrt: Introduce xrt_system_compositor
2021-01-20 15:04:09 +00:00
Christoph Haag
9481013081
comp: add VkDisplayKHR window backend
...
Must be activated/selected with an env var for now: XRT_COMPOSITOR_FORCE_VK_DISPLAY=2
2021-01-19 17:00:46 +00:00
Christoph Haag
5e8338a6de
comp: Render with pose for next display time, not last
2021-01-15 18:25:27 +01:00
Jakob Bornecrantz
2b996f30c4
xrt: Reflow after column change
2021-01-15 13:50:32 +00:00
Jakob Bornecrantz
a5560f8363
c/main: Remove unused field
2021-01-14 12:30:54 +00:00
Christoph Haag
ad1e809dfc
comp: Extend nvidia VK_ERROR_INITIALIZATION_FAILED message
...
The real cause for this failure seems to be an extended desktop to the direct mode
display, not the allowhmd setting.
2021-01-13 23:51:36 +01:00
Christoph Haag
f684ae95d1
comp: Fix depth-stencil image validation warning
...
Depth-only formats must use *only* VK_IMAGE_ASPECT_DEPTH_BIT.
Depth-stencil formats must use both VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT.
2021-01-13 20:39:20 +01:00
Lubosz Sarnecki
b005f4e2fa
comp/vk: Guard VkCommandBuffer usage with command pool mutex.
...
Lock all queue submits with 2 mutexes using a new vk_locked_submit
function.
2021-01-13 12:42:26 +01:00
Lubosz Sarnecki
fc3b7fef25
comp/vk: Lock command pool calls with a mutex.
...
This patch resolves multithreading issues as detected by the Vulkan
validation when running the OpenXR CTS using OpenGL.
2021-01-13 12:33:15 +01:00
Lubosz Sarnecki
cc44816026
comp/vk: Put queue mutex around vkDeviceWaitIdle calls.
2021-01-13 12:33:15 +01:00
Lubosz Sarnecki
9a9d46b85a
comp/vk: Lock our only VkQueue with a mutex.
...
This resolved mutlithreading issues as seen in the `multithreading` test
of the OpenXR CTS.
This patch fixes the test on Vulkan Android and resolves Vulkan
validation errors when running on Linux with OpenGL.
2021-01-13 12:33:15 +01:00
Christoph Haag
726c752db2
comp: Add support for list of optional device extensions
...
If one of the supplied optional extensions is VK_GOOGLE_display_timing and it is
supported by the driver, vk_bundle::has_GOOGLE_display_timing will be set to true.
2021-01-07 19:12:41 +01:00
Jakob Bornecrantz
32c9cb1bf3
c/main: Make sure to close sync handles on layer_commit
2020-12-28 15:22:06 +00:00
Jakob Bornecrantz
1302b07d68
xrt: Add sync_handle argument to layer_commit
2020-12-28 15:22:06 +00:00