Commit graph

859 commits

Author SHA1 Message Date
Fernando Velazquez Innella e035d060d1 c/render: implement render_resources_get_duration
Useful for systems that don't support calibrated timestamps and caseas where only execution time measuring is needed.
2023-01-24 15:35:31 +00:00
Ryan Pavlik 85a897a0b5 a/d3d,a/vk,c/client,ipc: D3D Depth texture / DXGI handle support
a/d3d: Improve allocation

Enable D3D11 and D3D112 depth images using DXGI handles

Allow D3D depth by default

D3D: only use DXGI handles

NT handles don't support depth formats and may fail to properly interop with Vulkan with some image dimensions.

Removed D3D_COMPOSITOR_ALLOW_DEPTH env.
D3D now always imports depth.

Added authorship.

Format pass

Fix D3D compositor tests

ipc: Fix HANDLE bit twiddling code

Merge into commits related to D3D depth changes. Makes the code compile
as C++, useful for Windows traceing

Co-authored-by: Robbie Bridgewater <ebridgewater@magicleap.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-24 15:35:22 +00:00
Moses Turner cd163e366b c/main: Add another string for Reverb G2 to the nvidia direct mode allowlist 2022-12-31 03:11:41 -06:00
Jakob Bornecrantz 1472bdf6b6 c/client: Create a share context instead of using context directly 2022-12-19 16:38:51 +00:00
Jakob Bornecrantz 0cf18ae044 c/client: Refactor context mutex locking to helper function 2022-12-19 16:38:51 +00:00
Christoph Haag 2abcc17178 c/main: Add XRT_COMPOSITOR_DISABLE_DEFERRED env var 2022-12-09 16:38:06 +00:00
Jakob Bornecrantz a29a3c5ef3 c/mutli: Error log on failing semaphore wait 2022-12-06 15:26:40 +00:00
zhibin wang 828dacc10b c/client: Fix eglDestroyImageKHR error and add AHB buffer release 2022-12-05 14:44:53 +00:00
Jakob Bornecrantz 4a8448fcc3 c/multi: Clarify code around xrt_comp_layer_begin call 2022-12-04 18:07:53 +00:00
Jakob Bornecrantz 840febfb57 c/multi: Do not declare variable in switch statement 2022-12-04 18:07:53 +00:00
Jakob Bornecrantz f343bb709c c/multi: Use XRT_STRUCT_INIT 2022-12-04 18:07:53 +00:00
Maxim Kizub e600cdaabf c/main,ipc/android: Deferred render target initialization for Android. 2022-11-30 09:32:18 -06:00
Maxim Kizub 0ee891e7d6 c/main: Deferred render target initialization for windows 2022-11-30 09:25:43 -06:00
Jakob Bornecrantz f28f3a27e6 c/main: Fix crash on debug print 2022-11-30 13:31:36 +00:00
Jakob Bornecrantz 6fe06068e8 c/main: Make XCB window deferred 2022-11-23 16:03:15 +00:00
Jakob Bornecrantz 3e1760fd04 c/main: Introduce comp_target_factory 2022-11-23 16:03:15 +00:00
Jakob Bornecrantz d8eb6865da c/render: Don't include comp_compositor.h 2022-11-23 14:53:26 +00:00
Maxim Kizub f5a06f9c46 c/main: Add code to defer render target initialization 2022-11-23 14:44:51 +00:00
Jakob Bornecrantz 8637617833 c/main: Do more tracing during init 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 44599a7de7 c/main: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 432bf03981 c/multi: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Simon Zeni 278aa4cd41 c/main: use swapchain semaphores for peek window rendering 2022-11-18 11:14:41 -05:00
Jakob Bornecrantz 98b7f7d1c6 xrt: Remove xrt_gfx_native 2022-11-15 23:24:20 +00:00
Jakob Bornecrantz 8d6b794878 c/main: Add own interface for creating the main compositor 2022-11-15 23:24:20 +00:00
Moses Turner a9d04045e6 c/main: Add Reverb G2's display to nvidia direct allowlist 2022-11-14 19:50:03 -06:00
Ryan Pavlik 73f48d12ec comp/util: can not -> cannot 2022-11-09 14:51:58 -06:00
Jakob Bornecrantz 736f1fd671 c/util: Slightly improve device and queue creation 2022-11-04 10:46:42 +00:00
Jakob Bornecrantz 3f3e19299f c/null: Use VK_KHR_global_priority if available 2022-11-04 10:46:42 +00:00
Jakob Bornecrantz 04f930d99a c/main: Use VK_KHR_global_priority if available 2022-11-04 10:46:42 +00:00
Mateo de Mayo 9d6c29397f misc: Fix multiple compile warnings in gcc and clang 2022-11-03 20:08:52 +00:00
Jakob Bornecrantz f32eb0d662 c/main: Refactor comp_renderer init/fini slightly 2022-11-02 15:24:26 +00:00
Jakob Bornecrantz f6d7bfbe0a c/main: Init render shaders and resources earlier 2022-11-02 15:24:26 +00:00
Jakob Bornecrantz e76b382bc9 c/main: Destroy target before render resources 2022-11-02 15:24:26 +00:00
Jakob Bornecrantz f6fb9f715e c/main: Reorder fields to make dependency slightly clearer (NFC) 2022-11-02 15:24:26 +00:00
Jakob Bornecrantz a5f10e7aa2 c/multi: Rework logging with session transition a bit 2022-11-02 00:21:31 +00:00
Jakob Bornecrantz 35b941812a c/client: Merge have EGL conditional file adding 2022-10-27 17:19:57 +00:00
Christoph Haag 751c8034bc c/main: Remove useless base_space from get_view_poses
The compositor doesn't know the concept of requesting view poses in
respect to a "space", so remove this vestigial code.
2022-10-10 15:47:19 +02:00
Jakob Bornecrantz 5fc30a4e22 c/multi: Make sure to retire delivered frames once the session goes invisible or non-active
Launching two instances of hello_xr will cause an assert in the app pacer.
2022-10-01 13:10:42 +01:00
Jakob Bornecrantz 88ce42dbf9 c/multi: Paranioa 2022-10-01 13:10:42 +01:00
Christoph Haag f6821402fd c/main: Hook up layer squasher in main compositor
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-10-01 13:10:42 +01:00
Christoph Haag 95fb034b92 c/render: Implement layer squashing for compute shader
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-09-30 22:43:58 +01:00
Christoph Haag fa71462d86 c/render: Move COMP_MAX_LAYERS to render_interfaces.h 2022-09-30 22:38:54 +01:00
Jakob Bornecrantz 676e071aca c/main: Pass GPU info to pacer 2022-09-28 21:46:56 +00:00
Jakob Bornecrantz da542e3f5e u/pacing: Introduce latched and retired calls on app pacer 2022-09-28 21:46:56 +00:00
Ryan Pavlik 109e373e0c c/main: Move ownership of present/render semaphores to comp_target
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-09-28 21:34:06 +00:00
Jakob Bornecrantz e06608533f c/multi: Pass in option to do warm start-ups 2022-09-19 22:31:35 +00:00
Jakob Bornecrantz 6faea9224e c/multi: Add warm start and invalid states 2022-09-19 22:31:35 +00:00
Jakob Bornecrantz 4b3f97c65d c/multi: State paranioa 2022-09-19 22:31:35 +00:00
Moses Turner d2e2c3a988 cmake: Run cmake-format.sh 2022-09-19 21:57:37 +01:00
bjorn 8d9244af53 c/render: Avoid potentially-unsupported memory type; 2022-09-13 19:21:13 +00:00