Jakob Bornecrantz
b5a9300479
c/render: Tidy header includes in shaders [NFC]
2023-10-04 01:04:03 +01:00
Jakob Bornecrantz
ae3cf44263
c/render: Refactor shader loading define [NFC]
2023-10-04 01:04:03 +01:00
Jakob Bornecrantz
6e7a0a621c
c/render: Use define helpers in gfx code
2023-10-04 01:04:03 +01:00
Jakob Bornecrantz
b8a226bf7b
c/render: Use define helpers in buffer code
2023-10-04 01:04:03 +01:00
Jakob Bornecrantz
78a638a6cd
c/render: Use define helpers in shaders code
2023-10-04 01:04:03 +01:00
Jakob Bornecrantz
f468e124c2
c/render: Use define helpers in compute code
2023-10-03 21:51:03 +00:00
Jakob Bornecrantz
c93f0d75d8
c/render: Use define helpers in resources code
2023-10-03 21:51:03 +00:00
Jakob Bornecrantz
19da398713
c/render: Use define helpers in distortion code
2023-10-03 21:51:03 +00:00
Jakob Bornecrantz
d72627ceb7
a/vk: Fix leak in extension checking code
2023-10-03 20:57:11 +00:00
Jakob Bornecrantz
cf1f03b175
a/vk: Remove unused vk_has_error
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
6d43e3e4b7
a/vk: Remove unused vk_check_error define
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
f4455271c9
a/vk: Remove unused vk_check_error_with_free define
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
e10c0e5d40
c/main: Use VK_CHK_WITH_RET instead of vk_check_error
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
f75eabea29
a/vk: Use VK_CHK_WITH_RET instead of vk_check_error
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
8c512f9890
a/vk: Introduce VK_CHK_* helpers
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
42080b068c
a/vk: Add mini defines helpers
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
0fb3e9a943
a/vk: Use vk_print_result instead of vk_has_error
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
6316bf39a9
a/vk: Add vk_print_result helper
2023-10-03 01:11:14 +01:00
Jakob Bornecrantz
0fa30c0fbe
c/main: Print error on bad fast path state
2023-10-02 21:48:50 +01:00
Jakob Bornecrantz
3c82beb1a1
c/main: Fix mistake in dispatch_graphics
...
Closes #290
2023-10-02 21:48:43 +01:00
BabbleBones
4c1c593bf4
steamvr_lh: add frame mutex to prevent double free
2023-09-30 16:19:40 +00:00
Jakob Bornecrantz
e33418de56
c/main: Refactor dispatch_graphics function
2023-09-29 12:00:03 +01:00
Jakob Bornecrantz
4893638ccd
c/main: Remove the command buffer in layer renderer
...
This makes it so that we only use one command buffer
for the entire frame, which gives us a nice speed up.
2023-09-29 12:00:03 +01:00
Jakob Bornecrantz
ce4e11686e
c/main: Use scratch image for layer renderer
2023-09-29 12:00:03 +01:00
Jakob Bornecrantz
7e5615fee1
c/main: Use render's render pass in layer renderer
2023-09-29 12:00:03 +01:00
Jakob Bornecrantz
d46e619d3c
c/main: Create render pass and targets for scratch images
2023-09-29 12:00:03 +01:00
Jakob Bornecrantz
7a9aa05d46
c/main: Let main compositor decide size of scratch image
2023-09-29 12:00:03 +01:00
Jakob Bornecrantz
84a0277ee7
c/render: Make srgb_view renderable for scratch images
2023-09-29 10:43:18 +01:00
Jakob Bornecrantz
29574dfea3
c/render: Refactor out a render pass object
2023-09-29 10:43:18 +01:00
Jakob Bornecrantz
7c512b2fc5
c/render: Refactor external render pass into a implicit one
2023-09-29 10:43:18 +01:00
Jakob Bornecrantz
d4f3c794df
c/render: Don't enable depth testing and writing for mesh shader
...
It's not used, so don't leave it on.
2023-09-29 10:43:18 +01:00
Jakob Bornecrantz
b6e5a89c97
u/pacing: Add minimum app margin
2023-09-28 15:23:46 +01:00
Jakob Bornecrantz
560265357b
u/pacing: Rename wait time to gpu time [NFC]
2023-09-28 15:23:46 +01:00
Jakob Bornecrantz
6a007b2986
c/util: Fix subimage flipping
2023-09-26 19:57:28 +01:00
Ryan Pavlik
e1bb2221cc
a/gstreamer: Trim includes in header
2023-09-26 11:37:41 -05:00
Fernando Velazquez Innella
151e1aaf14
a/vk: Init vk bundle with shaderImageGatherExtended enabled if supported
2023-09-24 20:59:07 +00:00
Jakob Bornecrantz
ba08985126
a/vive: Fix use after free
2023-09-23 18:33:00 +01:00
Jakob Bornecrantz
82192a43f9
ipc: Generate limited unique ids for native swapchains
2023-09-21 22:34:06 +01:00
Jakob Bornecrantz
151b3005d5
c/util: Generate limited unique ids for native swapchains
2023-09-21 22:34:06 +01:00
Jakob Bornecrantz
f27cb14669
u/limited_unique_id: Add process unique id generator
2023-09-21 22:34:06 +01:00
Jakob Bornecrantz
22770320f2
xrt: Add limited unique id to native swapchains
2023-09-21 22:34:06 +01:00
Jakob Bornecrantz
b6a80f0fd9
xrt: Add xrt_limited_unique_id
2023-09-21 22:34:06 +01:00
Jakob Bornecrantz
e501116d87
c/main: Trace mirror blit function
2023-09-21 22:34:06 +01:00
Jakob Bornecrantz
15743d822b
st/gui: Refactor a few OpenGL drawing code into helper
2023-09-21 22:34:06 +01:00
Jakob Bornecrantz
bde2dce2b6
st/gui: Improve thread safety, improve comments and spelling
2023-09-21 22:00:07 +01:00
Jakob Bornecrantz
53f510e6b9
st/gui: Rename file with OpenGL sink functions [NFC]
2023-09-21 00:39:03 +01:00
Jakob Bornecrantz
fe8c4116ec
t/sdl_test: Use helper to import images
2023-09-20 16:50:58 +01:00
Jakob Bornecrantz
95e1c9c8dd
a/ogl: Add helper to import native images
2023-09-20 16:50:58 +01:00
Jakob Bornecrantz
1a543cb0c0
a/ogl: Add Vulkan to OpenGL conversion function
2023-09-20 16:50:58 +01:00
Jakob Bornecrantz
3c1d8dafaa
a/ogl: Put comment in group [NFC]
2023-09-20 16:50:58 +01:00
Jakob Bornecrantz
141e598295
c/render: Optimize layer shader
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
bd38e90b51
c/main: Use new helpers to dispatch compute
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
a5792222a4
c/util: Add helpers to fully dispatch compute pipeline
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
ee2fe9fd40
c/[render|main]: Refactor scratch images
...
This commit does a few things:
* Makes the scratch images per view
* Introduces a new struct that is managed by the renderer
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
fed360e98b
c/[render|util|main]: Refactor layer squasher code
...
This commit does a couple of things in one go.
* The layer squasher now dispatches once per view.
* Reducing the number of samplers needed.
* Allows for per view target.
* Refactor the setup code to comp_util.
* The layout transition part now happens in new helper code.
On my system this change is very marginally slower,
around 0.05ms and 0.1ms slower on average.
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
dd21f3c7ec
c/render: Explain how we get the direction [NFC]
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
7996013e4d
c/render: Rename defines to proper prefix [NFC]
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
7441a9bda6
c/render: Better names for descriptor sets [NFC]
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
50adb87d79
c/util: Tweak cmake [NFC]
2023-09-20 16:41:30 +01:00
Jakob Bornecrantz
6860fcc7ba
c/client: Tidy D3D12 whitespace [NFC]
2023-09-20 15:37:34 +01:00
Jakob Bornecrantz
768cc06a8e
c/client: Tidy call [NFC]
2023-09-20 15:37:34 +01:00
Fernando Velazquez Innella
9918e55fbf
c/client: Use native d3d12 allocator.
...
Includes a workaround for D3D12 and Vulkan interop issues in NVidia
hardware. We want to directly allocate in D3D12 to be able to use all
resource flags during creation, such as multi-gpu ones.
2023-09-20 15:37:34 +01:00
Fernando Velazquez Innella
6342c72665
a/d3d: Add native d3d12 allocator and copy helpers.
...
Add a D3D12 allocator and helper code to copy from shadow images,
the copy is needed to work around a interop issue on NVIDIA hardware.
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2023-09-20 14:10:40 +00:00
Jakob Bornecrantz
740ff1bcf5
c/render: Stop timewarp stretching by changing math
...
Tested-by: BabbleBones <BabbleBones@protonmail.com>
2023-09-17 16:00:27 +01:00
Ryan Pavlik
5b0f7cb5ef
c/main: Fix doxygen warning
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-09-13 20:29:36 +01:00
Ryan Pavlik
a57c7a2408
xrt: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
2398dc6ca4
t/common: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
aa2cc78396
st/oxr: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
63b18384dc
d/nreal_air: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
a66aeca91a
c/client: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
c458ed6fee
d/steamvr_lh: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
3b1eb21e9f
a/vk: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
74914f35d5
a/util: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Ryan Pavlik
5fc532d23f
a/tracking: Fix doxygen warnings
2023-09-13 20:21:57 +01:00
Jiali Zhang
baf6c7f78d
st/oxr: Implementation of XR_KHR_android_thread_settings
2023-09-13 20:13:20 +01:00
Jakob Bornecrantz
54017f6b3e
c/multi: Add stub set thread hint function
2023-09-13 20:04:52 +01:00
Jiali Zhang
81a094f990
ipc: Add support for thread hint function
2023-09-13 20:04:49 +01:00
Jiali Zhang
faec524709
xrt: Add thread hint function
2023-09-13 20:03:17 +01:00
Jakob Bornecrantz
3de99b63d9
ipc: Add a interface header for ipc_server_main[_android]
2023-09-13 17:33:55 +00:00
Jakob Bornecrantz
5be0767aa9
ipc: Add a interface header for ipc_instance_create
2023-09-13 17:33:55 +00:00
Jakob Bornecrantz
ad520c82c3
a/vk: Make sure to print the first GPU as well
2023-09-13 17:18:25 +00:00
Jakob Bornecrantz
7b3763650e
a/vk: Also print device type when listing GPUs
2023-09-13 17:18:25 +00:00
Jakob Bornecrantz
ccf232d4ac
a/vk: Add vk_physical_device_type_string
2023-09-13 17:18:25 +00:00
Jakob Bornecrantz
ceeeb2d136
a/vk: Make VkPhysicalDeviceProperties argument const
2023-09-13 17:18:25 +00:00
Lubosz Sarnecki
040ad33188
t/libmonado: Add libmonado implementation
...
Work done by lots of different authors that did various pieces of the library.
Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2023-09-12 15:38:31 +01:00
Mateo de Mayo
1da029adaa
t/slam: Turn timestamp asserts into warnings
2023-09-08 13:12:21 +00:00
Mateo de Mayo
f8932fe879
t/slam: Add reset state button
2023-09-08 13:12:21 +00:00
Mateo de Mayo
ae1de1f2b5
a/vive: Add FoV tweaks for another index HMD
2023-09-08 13:12:21 +00:00
Mateo de Mayo
a4a6850094
h/mercury: Add min detection confidence option
2023-09-08 13:12:21 +00:00
Mateo de Mayo
14c1ecc96e
t/euroc: Allow euroc recorder to start and stop recordings in the same session
2023-09-08 13:12:21 +00:00
dengkail
a809635fe6
t/android_common: Specify mutability flag for PendingIntent object.
...
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or
FLAG_MUTABLE to be specified when creating a PendingIntent, according to
https://developer.android.com/guide/components/intents-filters#DeclareMutabilityPendingIntent .
2023-09-08 13:43:40 +01:00
BabbleBones
9033ff4b91
steamvr_lh: Correct angular and linear velocities
2023-09-08 13:30:29 +01:00
BabbleBones
10d0ab7e1e
steamvr_lh: Correct jitter and pull latest timestamp on hands
2023-09-08 13:30:24 +01:00
Gabriele Musco
23ac74415d
d/steamvr_lh: Add support for new SteamVR display component v3 interface
...
First try v3 then fallback to v2 should it not be available.
2023-09-08 12:10:55 +00:00
Mateo de Mayo
d486338985
t/hand: Reduce relation history lock contention
...
Relation history was being accessed guarded by an external lock in a couple of
places. This is redundant since its implementation already defines an internal
lock.
2023-09-08 12:56:34 +01:00
Mateo de Mayo
c6ca7d2339
d/vive: Reduce relation history lock contention
...
Relation history was being accessed guarded by an external lock in a couple of
places. This is redundant since its implementation already defines an internal
lock.
2023-09-08 12:56:18 +01:00
Mateo de Mayo
3bf927f03f
d/na: Reduce relation history lock contention
...
Relation history was being accessed guarded by an external lock in a couple of
places. This is redundant since its implementation already defines an internal
lock.
2023-09-08 12:56:02 +01:00
Mateo de Mayo
2e55c54b8f
d/na: Destroy relation history
2023-09-08 12:53:10 +01:00
Mateo de Mayo
ce929e804c
a/math: Add lock for relation history get_size
2023-09-08 12:53:10 +01:00
Jakob Bornecrantz
1f49e43724
c/main: Always use the mode's extents when creating the surface
...
This fixes a bug on NVIDIA Jetson. Note this isn't so much the NVIDIA Jetson
fault, while the code was working on desktop, Monado did something wrong.
What happned was that Monado would select a mode with one size, while then
creating a VkSurface/VkSwapchain of a different size. This would work on
hardware with scalers/panning modes. The NVIDIA Jetson apparently doesn't have
support for that so failed when presenting. This patch makes sure that the
VkSurface/VkSwapchain extents match the mode for all direct mode targets.
2023-09-08 10:47:58 +01:00