Simon Zeni
c4251cb907
c/util: Replace is_view_index_visible helper by is_layer_view_visible
2023-10-28 19:47:51 +01:00
BabbleBones
3aa2386950
d/steamvr_lh: handle unknown role hints
2023-10-25 23:27:30 -04:00
BabbleBones
d5eeb65af9
d/steamvr_lh: clean up logs and clean up unused tracker inputs
2023-10-25 23:27:30 -04:00
BabbleBones
940a0290ea
d/steamvr_lh: fix vive wand early hand enumeration
2023-10-25 23:27:30 -04:00
Jakob Bornecrantz
2f586030be
t/common: Fix Rift-S builder
2023-10-25 14:34:55 +01:00
Jakob Bornecrantz
cbf26357d1
c/client: Add helpers to unwrap native swapchains and compositors
2023-10-24 14:07:43 +00:00
Jakob Bornecrantz
d0617c04d5
c/render: Remove old layer render shaders
2023-10-24 12:33:05 +00:00
Jakob Bornecrantz
2245811d1e
c/main: Remove layer renderer
2023-10-24 12:33:05 +00:00
Jakob Bornecrantz
3293def0cb
c/main: Remove layer renderer integration in renderer
2023-10-24 12:33:05 +00:00
Jakob Bornecrantz
958d62fcab
c/main: Remove old graphics dispatch helpers
2023-10-24 12:33:05 +00:00
Jakob Bornecrantz
3dcd555a6f
c/main: Use new comp_render helpers to render frame
2023-10-24 12:33:05 +00:00
Jakob Bornecrantz
c5f4f0ab7a
xrt: Remove old roles
...
Also remove all fallbacks helpers now.
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
1d476d4e32
st/oxr: Update role debug printing
2023-10-24 09:24:49 +00:00
Nico Marniok
5e48d22ecd
st/oxr: Add input device hot-switch support
...
Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-24 09:24:49 +00:00
Korcan Hussein
f60ffe5af7
st/oxr: Clone profiles to session on action sets attachment.
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-24 09:24:49 +00:00
Korcan Hussein
d033955678
st/steamvr_drv: Add support for new dynamic device roles
2023-10-24 09:24:49 +00:00
Korcan Hussein
60ae73f571
ipc: Add support for dynamic device roles
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
5a38cbc4f0
st/prober: Add support for new dynamic device roles
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
f6b1cc140d
t/cli: Add support for new dynamic device roles
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
9331c8bb0a
t/common: Add support for new dynamic device roles
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
2c49c0f9a7
t/sdl_test: Add support for new dynamic device roles
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
dcdf270d13
d/remote: Add support for new dynamic device roles
...
Currently static.
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
ccf6a4c8e3
u/system_helpers: Add static system device helper
...
As compared to one that can handle dynamic devices.
2023-10-24 09:24:49 +00:00
Nico Marniok
2718f0506e
xrt: Add dynamic roles to xrt_system_devices
...
Doesn't fully remove the old way yet.
Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-24 09:24:49 +00:00
Jakob Bornecrantz
d266b8d65a
c/util: Add cylinder and equirect2 in graphics layer squasher
...
Co-authored-by: Simon Zeni <simon.zeni@collabora.com>
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
2023-10-23 22:20:41 +01:00
Jakob Bornecrantz
669e37220c
c/util: Add to_tangent for view state
2023-10-23 22:20:41 +01:00
Simon Zeni
0d0addca82
c/util: Add calc_mv_inv_full function
...
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-23 22:20:41 +01:00
Simon Zeni
38f1b35ac0
c/util: Compute eye and world inverse view matrix
...
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-10-23 22:20:41 +01:00
Jakob Bornecrantz
2c2cacc8f1
c/util: Add mathinclude
2023-10-23 22:20:41 +01:00
Jakob Bornecrantz
3b174b0dab
c/render: Add cylinder and equirect2 shaders
...
Co-authored-by: Simon Zeni <simon.zeni@collabora.com>
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
2023-10-23 22:20:41 +01:00
Jakob Bornecrantz
505a54bf8f
c/render: Make UBO one shared layout available to fragment shader as well
2023-10-23 21:56:58 +01:00
Charlton Rodda
f4980d35ea
c/render: Fix typos [NFC]
2023-10-23 21:56:58 +01:00
Gabriele Boccone
ce90c0a1c7
t/common: Fix creation on no driver available
...
Only say we can create a system if we have a driver in legacy builder.
2023-10-23 19:52:19 +01:00
Gabriele Boccone
b500272c0b
st/prober: Quit without crashing if no driver is available
2023-10-23 19:51:44 +01:00
Zhongwang Zhang
85fcbfaefe
c/client: Make vulkan log configurable
2023-10-20 14:18:30 +01:00
Christoph Haag
ef47498137
ipc: Fix session deactivation negative array index access
...
It is possible for s->global_state.active_client_index to be -1 when
update_server_state_locked is called:
ipc_server_activate_session is only called from
ipc_handle_compositor_predict_frame, which is only called from
ipc_compositor_wait_frame.
So it is possible to deactivate a session that was never activated.
2023-10-19 15:37:01 +02:00
Jakob Bornecrantz
eee17ee2ff
u/builders: Refactor space overseer creation helper
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
e805209fcd
d/opengloves: Refactor creation
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
8b30819b35
t/common: Refactor WinMR builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
0a8fa312d6
t/common: Refactor SimulaVR builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
201ea799ac
t/common: Refactor Simulated builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
fb8c941257
t/common: Refactor Rift-S builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
09c75b6aaf
t/common: Refactor RGB builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
841fc7c644
t/common: Refactor QWERTY builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
d9329d1c7c
t/common: Refactor Nreal Air builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
9a27a32b9c
t/common: Refactor North Star builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
1d8bfc7532
t/common: Refactor Lighthouse builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
d2ceb81070
t/common: Refactor Legacy builder [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
e58926662f
t/common: Don't destroy frame context on failure
...
This is handled later in the builder.
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
0b9a8ea860
t/common: Return error message proper failure in legacy builder
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
08ec4e0259
u/system_helpers: Refactor hand-tracker helper getters
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
464a95abed
u/system_helpers: Tidy functions [NFC]
2023-10-19 11:28:22 +01:00
Jakob Bornecrantz
3184941c09
d/rs: Fix warnings [NFC]
2023-10-18 17:30:00 +01:00
Jakob Bornecrantz
f5021dcf5a
d/nreal_air: Silence warning [NFC]
2023-10-18 17:30:00 +01:00
Jakob Bornecrantz
8110fceb39
d/nreal_air: Tidy [NFC]
2023-10-18 17:28:24 +01:00
Jiali Zhang
8f70291cad
c/client: Expose size limit for swapchains
2023-10-18 15:20:26 +01:00
Jiali Zhang
900c43a6e2
st/oxr: Verify max swapchain size
2023-10-18 15:14:21 +01:00
Jiali Zhang
bbb1de1b0f
xrt: Add size limit for swapchain
2023-10-18 15:14:21 +01:00
Jakob Bornecrantz
93f1c0e288
st/oxr: Refactor device role getters
2023-10-13 17:12:23 +01:00
Korcan Hussein
44a2562acd
st/oxr: Increase use of action ref in binding code
...
Make `oxr_action_attachment_bind` only use `oxr_action_ref` params.
2023-10-13 17:12:23 +01:00
Jakob Bornecrantz
1a720c4814
c/util: Add graphics render helpers
2023-10-13 01:15:20 +01:00
Jakob Bornecrantz
8427a33196
c/util: Rename render compute file
2023-10-13 00:45:20 +01:00
Jakob Bornecrantz
0bbbd1b507
c/util: Refactor out render helpers to header
2023-10-13 00:45:20 +01:00
Jakob Bornecrantz
b97ca79b5e
c/util: Prefix compute helpers with cs
2023-10-13 00:45:20 +01:00
Jakob Bornecrantz
8f7c58e70a
c/render: Add graphics layer rendering code
2023-10-13 00:45:20 +01:00
Jakob Bornecrantz
73639f7b37
c/render: Add graphics layer shaders
2023-10-13 00:45:20 +01:00
Jakob Bornecrantz
bcccfc2f21
c/render: Make it possible to set clear colour when starting render pass
2023-10-13 00:45:20 +01:00
Jakob Bornecrantz
a9cdba2ce5
c/main: Enable timewarp for gfx fast path
2023-10-10 15:33:57 +01:00
Jakob Bornecrantz
4a8a36f620
c/render: Enable timewarp to be used on mesh shader
2023-10-10 15:33:57 +01:00
Jakob Bornecrantz
899f02e17c
c/render: Add timewarp to mesh shader
...
Currently disabled.
2023-10-10 15:33:57 +01:00
Jakob Bornecrantz
52b93a5a29
c/render: Make ubo upload and descriptor setting shareable
2023-10-10 14:33:07 +00:00
Jakob Bornecrantz
8ce3971fe9
c/render: Make descriptor layout creation function shareable
2023-10-10 14:33:07 +00:00
Jakob Bornecrantz
5bc9ff8f13
c/render: Make gfx descriptor pool shareable
2023-10-10 14:33:07 +00:00
Jakob Bornecrantz
89c99de598
c/render: Remove unused render_gfx_view and other fields on render_gfx
2023-10-10 14:33:07 +00:00
Jakob Bornecrantz
ff51653ffd
c/render: Refactor gfx mesh shader allocation and dispatch
2023-10-10 14:33:07 +00:00
Jakob Bornecrantz
93272b684c
a/math: Add projection matrix making function
2023-10-10 14:30:48 +00:00
Jakob Bornecrantz
11fba8d79f
a/math: Add missing files to CMakeLists.txt [NFC]
2023-10-10 14:30:48 +00:00
Jakob Bornecrantz
ae31778032
a/math: Add missing C declaration specifier [NFC]
2023-10-10 14:30:48 +00:00
Jakob Bornecrantz
50b5e6445e
a/math: Organize base and api file [NFC]
2023-10-10 14:30:48 +00:00
BabbleBones
238647d7e1
d/steamvr_lh: Add tundra as generic tracker
2023-10-09 22:03:17 -04:00
Jakob Bornecrantz
d1ce6c15ac
c/render: Use sub-allocation for mesh shader UBOs
2023-10-06 15:21:12 +01:00
Jakob Bornecrantz
06ddfe32df
c/render: Add scaffolding for sub-allocating UBOs
2023-10-06 15:21:12 +01:00
Jakob Bornecrantz
00891b3452
c/render: Add simple sub-allocation code
2023-10-06 15:21:12 +01:00
Jakob Bornecrantz
0b7deed16f
u/system_helpers: Make system devices easier to embed
2023-10-06 14:51:48 +01:00
Jakob Bornecrantz
77efa57e0a
c/render: Make library usable on it's own in cmake
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz
ace0ca62c6
c/render: Expose uv to tangent lengths function
...
Also document it better.
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz
975ca891c3
c/render: Refactor gfx distortion dispatch
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz
996195f544
c/main: Refactor gfx dispatch
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz
b7dbdae304
c/main: Refactor vertex rot getting in renderer
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz
c81356e0c8
c/main: Refactor view poses getting in renderer
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz
0362834904
c/main: Tidy layer headers
2023-10-05 12:47:51 +01:00
Jakob Bornecrantz
05a9617874
c/util: Fix timewarp logic being inverted for fast path
2023-10-04 16:28:38 +01:00
Jakob Bornecrantz
87b3b2ea5a
c/render: Constify arguments [NFC]
2023-10-04 01:04:03 +01:00
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
d2d505d9e3
ext/imgui: Add function to draw image with background color
2023-09-21 00:39:03 +01:00
Jakob Bornecrantz
05a3f3e055
ext/imgui: Remove unnecessary braces [NFC]
2023-09-20 16:57:10 +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