Lubosz Sarnecki
f131739c00
aux/vk: Take VkExtent2D and VkImageUsageFlags in vk_create_image_simple.
2020-05-11 20:21:58 +01:00
Lubosz Sarnecki
0e5d10ca39
c/renderer: Rename comment.
2020-05-11 20:21:58 +01:00
Lubosz Sarnecki
501d8dadd4
c/main: Split nvidia test to function.
2020-05-11 20:21:58 +01:00
Christoph Haag
d95c77ad54
comp: Also enable vk debug print with XRT_COMPOSITOR_PRINT_DEBUG
...
This is useful because it prints which GPU the compositor runs on.
2020-05-05 15:12:08 +02:00
Ryan Pavlik
457d411016
comp: Remaining 32-bit warning fixes
2020-04-29 17:47:32 -05:00
Ryan Pavlik
233c63a773
comp: Fix Wint-to-pointer-cast warnings on 32-bit.
...
Culprit is a Vulkan non-dispatchable handle:
Fix is simpler than for OpenXR because we aren't a Vulkan
implementation so they're all opaque to us.
2020-04-29 17:44:07 -05:00
Lubosz Sarnecki
5ba751a239
c/renderer: Expose idle image control.
2020-04-29 09:58:52 +01:00
Pete Black
8082e8dbca
c/renderer: Add new reset rendering function
2020-04-29 09:58:52 +01:00
Ryan Pavlik
974c68dead
xrt: Re-arrange build to avoid unnecessary includes.
...
Avoid unintentionally including cJSON from the source tree when using system,
etc. This adds granularity to the usage of "external" sources.
2020-04-28 21:36:46 +00:00
Ryan Pavlik
128abac9e8
comp: Codespell fixes.
2020-04-24 15:30:46 -05:00
Lubosz Sarnecki
ba3b220ad2
c/renderer: Use gray as idle image color.
2020-04-22 22:00:13 +01:00
Lubosz Sarnecki
d81b3797ba
c/meson: Expose include directory in meson
2020-04-22 22:00:13 +01:00
Pete Black
ccb1b911f6
c/client: Get the supported formats from the fd compositor
2020-04-22 22:00:13 +01:00
Jakob Bornecrantz
c8b4a00482
comp: Delay swapchain destruction until a safe time, like end frame.
2020-04-15 19:57:46 +01:00
Lubosz Sarnecki
916d7708c2
c/renderer: Don't wait for device idle every frame.
...
Do wait on device idle when destroying the swap chain.
Don't wait on device idle multiple times in resize.
Validation on NVIDA and AMD is happy when only keeping
the two idles when resizing and destroying the swapchain.
2020-04-15 18:07:17 +02:00
Lubosz Sarnecki
e477452ac6
c/renderer: Add fences for each command buffer.
...
Wait for fences on vkQueueSubmit.
2020-04-15 18:07:17 +02:00
Lubosz Sarnecki
bda1cdaee1
c/renderer: Use only one buffer counter cache.
...
Use the same counter for frame and command buffers, as their number is
equal, which is retrieved from swapchain.image_count.
Use the struct member num_buffers in favor of passing it as parameter.
Reuse some command buffer functions.
2020-04-15 16:43:57 +02:00
Lubosz Sarnecki
ddc7ceb214
c/renderer: Don't wait on device idle after acquiring swapchain image.
...
vkAcquireNextImageKHR is synchronized with the present_complete
semaphore.
2020-04-15 16:43:57 +02:00
Lubosz Sarnecki
a34ad629f7
c/renderer: Don't wait idle queue after present.
...
This is not nesseccary as the vkQueuePresentKHR is synchronized by the
render_complete semaphore.
2020-04-15 16:38:54 +02:00
Lubosz Sarnecki
6cb99ea8bf
c/renderer: Return false when vkEndCommandBuffer fails.
2020-04-15 14:00:35 +02:00
Pete Black
c02f89dc18
comp: Spell check
2020-04-09 17:34:27 +01:00
Lubosz Sarnecki
bf49a421ba
c/direct: Use common init swapchain function.
...
Simplify and add error messages.
2020-04-09 16:15:17 +00:00
Lubosz Sarnecki
77207ed585
c/direct: Shorten displays member names.
2020-04-09 16:15:17 +00:00
Lubosz Sarnecki
29b771818e
c/direct: Move common direct mode code to comp_window_direct.
...
Create code file for common direct mode code.
Make common functions take generic parameters.
Use common code in randr and nvidia back ends.
Remove redunant includes.
2020-04-09 16:15:17 +00:00
Lubosz Sarnecki
94bc4cba28
c/direct: Split NVIDIA and RandR backends.
...
Rename functions and structs.
Define unused function overrides separatelty.
c/window: Define new backend init methods.
2020-04-09 16:15:17 +00:00
Lubosz Sarnecki
4ddcca7abd
w/direct_mode: Use same num_displays variable for NVIDIA and RandR.
2020-04-09 16:15:17 +00:00
Pete Black
80d1d29cb5
comp: Tidy and spell check
2020-04-09 14:50:35 +01:00
Jakob Bornecrantz
6fe02588f9
comp: Get num_images from the fd compositor
2020-04-08 15:20:36 +01:00
Lubosz Sarnecki
6b05c216ce
c/settings: Add a bunch of display strings to NVIDIA whitelist.
...
Whitelist Oculus DK1, DK2 and CV1.
Whitelist Vive Pro and Valve Index.
2020-04-07 13:45:11 +00:00
Lubosz Sarnecki
56a8e80844
c/direct_mode: Print meaningful error if no display matches NVIDIA whitelist.
2020-04-07 13:45:11 +00:00
Lubosz Sarnecki
7da70568be
c/direct_mode: Use VkDisplayModeParametersKHR.
...
In favor of own struct to determine best available mode.
The loop now also starts as one, as we do not need compare the 0th mode
it itself and returns if there is only one mode.
2020-04-07 15:38:11 +02:00
Lubosz Sarnecki
7afb012544
c/direct_mode: Check if NVIDIA path found any displays.
...
This helps failing earlier with an NVIDIA Optimus setup, which currently
is not supported.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
6158a23dd9
c/direct_mode: Port to plain C.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
16d6500923
c/direct_mode: Don't cache enumerated modes in a std:map.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
015d9457fe
c/direct_mode: Extract append_randr_display function
...
Don't allocate string when it's not needed.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
b399960f67
c/direct_mode: Cast display int only for comparision with size().
...
It is clearer to leave `int display` from settings as signed integer and
cast only for the comparision with the unsigned vector size.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
a449ed174a
c/direct_mode: Create append_nvidia_entry_on_match function.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
f8c99b0230
c/direct_mode: Use ARRAY_SIZE macro.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
c0ae309415
c/direct_mode: Remove unused nv_modes map.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
865b668ee7
c/xcb: Port to plain C.
...
The code was already essentialy C, just needed to replace the pairs with
structs and the vector with an array, it was fixed length anyway.
The code feels more natural in C.
2020-04-07 15:00:16 +02:00
Lubosz Sarnecki
1b7b8c163f
comp: Further remove unused struct field initializers.
2020-04-01 12:50:10 +00:00
Lubosz Sarnecki
b6d8d4b458
comp: Don't initialize unused fields in Vulkan structs.
...
In order to save redundancy with initializing empty fields with NULL / 0
values and improve readability of the Vulkan code.
This patch also uses struct initializers where possible.
This essentially reverts 1eae45212e
.
2020-04-01 12:50:10 +00:00
Lubosz Sarnecki
4d0c49096d
comp/window_direct_mode: Use XCB/Xlib interop.
...
Since there currently is no Vulkan extension that takes XCB handles to
aqcuire the display Xlib interop needs to be used.
Before this patch Monado was opening connections for both APIs, which
introduced overhead.
Even though all XCB handles can be casted to Xlib ones, this cannot be
done with the main xcb_connection_t / Display. In it's design the
interop between both APIs can create a xcb_connection_t from a XCB
handle, but not the other way round. So in an interop case the Xlib
connection is the main one, since it's on a higher level.
More information on this can be found here:
https://xcb.freedesktop.org/MixingCalls/
Unfortunately the clean solution for this would be to specify a Vulkan
extension that takes XCB handles. This would make sense since Vulkan
is aware of XCB in other parts of the API as well. In Mesa the Xlib
structs will be ultimately casted to XCB.
2020-03-31 17:47:17 +02:00
Lubosz Sarnecki
20f281631b
comp: Don't leak xcb replies.
...
According the XCB documentation the reply structs must be freed. I found
this when running a minimal example related to the direct mode code in
valgrind.
2020-03-31 17:47:01 +02:00
Jakob Bornecrantz
a54b92162e
comp: Fix accidental code change from commit 9b662596
...
Spotted by @mpiatka.
2020-03-09 14:40:10 +00:00
Christoph Haag
e8ccb07db7
st/gui: Add compositor frame timing graph to debug ui
2020-03-09 12:59:12 +01:00
Ryan Pavlik
71c29425d4
build: Fix linking issues preventing the OpenXR runtime from working.
2020-03-04 09:54:47 -06:00
Ryan Pavlik
92205ab5be
build: Refactor CMake build to use static libraries instead of object bundles.
...
This allows transitive dependencies to work easier and improves compatibility.
It takes a little bit more storage at build time, and possibly a little extra time.
2020-03-04 11:15:35 +00:00
Ryan Pavlik
f3eac87504
xrt: Correct usage of XRT_MAYBE_UNUSED on functions.
...
It shouldn't be used on a function marked "static inline" - that's
sufficient to avoid the warning. So, it should almost never be in
a header.
2020-03-04 11:15:35 +00:00
Ryan Pavlik
b1b451eb96
comp: Fix 32-bit warnings
2020-03-03 10:50:41 +00:00
Ryan Pavlik
5af6182810
comp: Fix 32-bit porting issues.
2020-03-03 10:33:14 +00:00
Ryan Pavlik
ffa5a76cea
comp/client: More 32-bit porting fixes
2020-03-03 10:33:14 +00:00
Ryan Pavlik
fdaede836c
build: Make it possible to turn off the main compositor lib and runtime target.
2020-03-03 10:33:14 +00:00
Jakob Bornecrantz
0619190d2b
build: Refactor how config defines are handled
...
With loads of changes from Ryan.
2020-03-03 10:33:14 +00:00
Jakob Bornecrantz
a925af90e7
xrt: Do not pass in timestate into compositor
2020-03-02 20:18:49 +00:00
Jakob Bornecrantz
ca3c266dc1
comp: Split client and main in the build system as well
2020-03-02 12:01:04 +00:00
Jakob Bornecrantz
8c06787d93
comp: Refactor documentation
2020-03-02 12:00:22 +00:00
Jakob Bornecrantz
b308facf90
comp: Move all glue code into client folder
2020-03-02 12:00:22 +00:00
Jakob Bornecrantz
3ca7fbf2f0
comp: Remove common directory
2020-03-02 12:00:22 +00:00
Jakob Bornecrantz
aeef692e08
xrt: Refactor out main compositor creating into own interface
2020-03-02 12:00:22 +00:00
Jakob Bornecrantz
09aa8794b2
aux/vk: Refactor out helper code into own library
2020-03-02 11:58:40 +00:00
Jakob Bornecrantz
d4928e1a1c
comp: Improve comment on vk_bundle
2020-02-29 21:09:18 +00:00
Jakob Bornecrantz
e80775fb63
comp: Reuse vk_create_view function in swapchain
2020-02-29 21:09:18 +00:00
Christoph Haag
1cf742a3dc
comp: Add XRT_COMPOSITOR_DESIRED_MODE env var to choose mode for direct mode.
...
The variable should be set to the index in the enumeration of a modes according to VK_KHR_display.
Monado can print a list of available modes with their indices with the env var XRT_COMPOSITOR_PRINT_MODES=1.
2020-02-19 13:51:00 +00:00
Christoph Haag
c2250e5af0
comp: print available modes with XRT_COMPOSITOR_PRINT_MODES=1
...
To not clutter the user's output with debug info, add a variable to print only the available modes.
2020-02-19 13:51:00 +00:00
Christoph Haag
6b8103f31b
comp: Update nominal frame interval to match chosen mode in direct mdoe
...
This value is used in xrWaitFrame() to throttle the application's rendering
down to the refresh rate of the HMD.
2020-02-19 13:51:00 +00:00
Christoph Haag
36d6b71e8a
comp: Choose best mode for direct mode by default
...
Best mode means: first maximize the rendered pixels, then maximize the refresh rate.
2020-02-19 13:51:00 +00:00
Jakob Bornecrantz
2114fc877d
comp: Add option to draw wireframe
2020-01-25 20:19:13 +00:00
Ryan Pavlik
e35c87d59e
comp: Fix glXGetProcAddress prototype when building as C++
2020-01-16 22:37:43 +00:00
Ryan Pavlik
871395d5b5
build: Adjust meson build equivalently
2020-01-14 12:28:23 -06:00
Ryan Pavlik
c68d3bfe54
build: Adjust CMake build to allow actually disabling dependencies/options
2020-01-14 11:51:12 -06:00
Ryan Pavlik
682f41a37c
comp: Fix build when VK_USE_PLATFORM_XLIB_XRANDR_EXT is not defined
2020-01-14 11:51:12 -06:00
Ryan Pavlik
358cde31b7
comp: Add a comment explaining why a function is guarded
2020-01-14 11:51:12 -06:00
Ryan Pavlik
6d60227e06
comp: More renaming for clarity
2019-12-07 18:25:37 +00:00
Ryan Pavlik
9668437c78
comp: Rename comp_xlib_client to indicate it's also GL related
2019-12-07 18:25:37 +00:00
Ryan Pavlik
a6d9eea394
comp: Port memory allocation to the helper macros
2019-12-07 18:24:56 +00:00
Christoph Haag
fcd43180e6
comp: Error when forcing a nonexistent vulkan gpu index
...
Instead of segfaulting.
2019-12-03 20:33:46 +01:00
Ryan Pavlik
90e57a4e8a
xrt: Fix types related to EGL.
...
Fixes #46
2019-12-03 09:30:31 -06:00
Simon Ser
9347ecfe00
xrt: check arraySize==1 when using OpenGL ES 2
...
Only OpenGL ES 3 supports GL_TEXTURE_2D_ARRAY.
2019-11-18 15:16:16 +01:00
Simon Ser
81cace0250
comp: replace glCreateTextures with glGenTextures+glBindTexture
...
glCreateTextures is only available on OpenGL 4.5. It's not supported on
OpenGL ES.
2019-11-18 15:16:16 +01:00
Simon Ser
5eacb6f309
xrt: add support for OpenGL ES
...
This commit advertises the extension and adds support for
xrGetOpenGLESGraphicsRequirementsKHR
2019-11-18 15:16:15 +01:00
Jakob Bornecrantz
08e898c111
comp: Do not use cut-off in vive shader
2019-11-14 15:12:17 +00:00
Julian Eisel
05b069b0a0
Fix two use-after-free's and multiple memory leaks
2019-11-13 21:53:16 +01:00
Drew DeVault
e5a9cbb2f9
Implement XR_MND_egl_enable
...
This extension introduces a more robust way of creating an XrSession for
OpenGL. It also lays the groundwork for future OpenGL ES support.
https://github.com/KhronosGroup/OpenXR-Docs/pull/40
Signed-off-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Drew DeVault <sir@cmpwn.com>
2019-11-06 10:07:21 +01:00
Ryan Pavlik
e8660a18bd
build: Use CMAKE_POSITION_INDEPENDENT_CODE instead of target props.
...
Reduces repetitive code.
2019-11-01 16:51:54 -05:00
Simon Ser
36102bfa1e
comp: make Wayland window unresizable
...
This prevents the compositor from issuing resize requests. We ignore
those anyway.
2019-10-31 16:42:26 +01:00
Jakob Bornecrantz
b5ee4f0dbd
comp: Make it obvious that you should implement destroy yourself
2019-10-30 11:06:02 +00:00
Christoph Haag
7d9ef2f371
comp: Add setting to force a vulkan gpu index
2019-10-25 21:05:06 +02:00
Jakob Bornecrantz
9b6625961a
comp: Implement new mesh shader
2019-10-25 13:05:54 +00:00
Ryan Pavlik
e90ea99aa8
comp: Adjust frame waiting logic to behave correctly.
...
Some sub-calculations are still slightly hacky,
but now the overall structure is correct.
2019-10-23 17:18:46 +02:00
Jakob Bornecrantz
742fe05dd8
comp: Cody style shaders
2019-10-23 11:07:33 +01:00
Jakob Bornecrantz
127e5e67b4
comp: Cut-off is not needed
2019-10-23 10:21:33 +01:00
pblack
e32902843c
comp: Add chromatic aberration correction to mesh
2019-10-22 14:44:26 +01:00
Jakob Bornecrantz
315d3b65f1
comp: Do not destry VK_NULL_HANDLE buffers and memory
2019-10-10 22:11:09 +01:00
Jakob Bornecrantz
e86628884b
comp: Add disabled shader debugging code
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
2db8138e8e
comp: Hack in a flip of the right eye
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
fafbe287e1
comp: Clamp UV textures to a black border
2019-10-10 13:28:01 +01:00
pblack
898c1b4a9f
comp: Add mesh distortion shader
2019-10-10 13:28:01 +01:00
Jakob Bornecrantz
e327d56bf4
aux/ogl: Introduce a single small OpenGL library
2019-10-09 17:07:23 +01:00
Jakob Bornecrantz
68e7544f57
comp: Free window swapchain VkImageViews & VkSwapchainKHR
2019-10-08 00:04:25 +01:00
Jakob Bornecrantz
649bf88379
comp: Make sure to free VkImageViews on swapchains
2019-10-07 23:48:39 +01:00
Jakob Bornecrantz
0108207b3d
comp: Use VK_NULL_HANDLE
2019-10-07 23:27:09 +01:00
Jakob Bornecrantz
1d9009a461
comp: Set array_size
2019-10-07 23:26:43 +01:00
Benjamin Saunders
3d5872f346
comp: Fix missing usages on Vulkan client swapchains
2019-10-07 22:08:56 +01:00
Lubosz Sarnecki
979536dd4b
xrt/comp/cmake: Enable build of Wayland backend.
...
Add pkgconfig based Wayland build including protocol generation.
2019-10-02 12:22:42 +02:00
Jakob Bornecrantz
5cd4d272a2
comp: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Drew DeVault
b4f0c79abd
comp_compositor.c: prefer Wayland over XCB
2019-09-26 12:15:27 -04:00
Drew DeVault
9bcfa56f2f
compositor: overhaul Wayland backend
...
This simplifies the Wayland backend, fixes the build configuration for
it, ports it to xdg-shell stable, and reworks some false assumptions
from the original port.
2019-09-26 12:15:27 -04:00
Drew DeVault
064aef3526
build: port to meson
2019-09-26 15:05:22 +00:00
Drew DeVault
c6586cfd1e
comp_compositor: use nanosleep instead of usleep
...
Improves portability
2019-09-26 15:05:22 +00:00
Jakob Bornecrantz
5de401ea58
comp: Tidy wait frame
2019-08-31 14:17:41 +01:00
Jakob Bornecrantz
cfb1ca3052
comp: Ensure nominal_frame_interval_ns is a sane value
2019-08-31 14:17:41 +01:00
Christoph Haag
d9736ba3b7
comp: wait for next frame in xrWaitFrame
...
fixes 6e396ed
It was unnecessary to move the wait to xrEndFrame.
It does not matter if the compositor renders the frame immediately because the
frame physically can not be displayed before the next HMD refresh.
On the other hand, leaving too short of a time for the compositor to render
may delay the frame past its predicted time.
2019-08-20 10:10:10 +00:00
Jakob Bornecrantz
042d30c590
comp: Fix warnings
2019-08-17 10:34:12 +01:00
Ryan Pavlik
e21b495f90
comp: Comment a resource and memory leak
2019-08-16 17:25:19 -05:00
Ryan Pavlik
2aca9821fa
comp: Clang-tidy
2019-08-16 17:20:01 -05:00
Ryan Pavlik
dbf0bdd014
comp: Factor out some shared functionality.
...
Simplifies error handling as well.
2019-08-16 17:12:35 -05:00
Nova King
2d016b3385
xrt: Added support for XR Swapchain flags
2019-08-16 22:06:28 +00:00
Ryan Pavlik
1eae45212e
comp: Complete initializers for Vulkan structures
2019-08-16 10:54:49 -05:00
Christoph Haag
6e396ed07e
comp: Add hack waiting on xrEndFrame() until frame should be displayed.
...
xrWaitFrame() doesn't block at all, will only predict the time for the next frame.
Once the compositor is multithreaded, this wait should be moved to the compositor thread
and xrWaitFrame should be the function to block until the compositor finished rendering the frame.
2019-08-15 12:29:58 +00:00
Christoph Haag
8cda1b6f67
comp: fix cleanup of direct window, delete with correct type
...
Found by gcc address sanitizer.
2019-08-13 01:47:50 +02:00
Ryan Pavlik
edfa0323a3
comp: Use U_ZERO
2019-06-18 14:14:01 -05:00
Ryan Pavlik
b004f95503
comp: Adjust initialization order to match declaration.
2019-06-18 18:43:20 +00:00
Ryan Pavlik
21e324ed57
comp: Codespell fix
2019-06-18 13:09:59 -05:00
Jakob Bornecrantz
4c6de83ea9
comp: Fix uninitialised errors from Valgrind
...
```txt
Conditional jump or move depends on uninitialised value(s)
at 0x6A5A7A0: vk_select_physical_device (comp_vk.c:847)
by 0x6A5AAF9: vk_create_device (comp_vk.c:916)
by 0x6A5CD82: compositor_check_vulkan_caps (comp_compositor.c:401)
by 0x6A5D659: comp_compositor_create (comp_compositor.c:656)
by 0x6A5F99B: xrt_gfx_vk_provider_create (comp_glue_vk.c:57)
by 0x6A78197: oxr_session_populate_vk (oxr_session_vk.c:32)
by 0x6A77E59: oxr_session_create_impl (oxr_session.c:536)
by 0x6A77F53: oxr_session_create (oxr_session.c:567)
by 0x6A6EA74: oxr_xrCreateSession (oxr_api_session.c:44)
by 0x2632A8: xrCreateSession (in hello_xr)
by 0x239F0D: (anonymous namespace)::OpenXrProgram::InitializeSession() (in hello_xr)
by 0x22ED25: main (in hello_xr)
Uninitialised value was created by a stack allocation
at 0x6A5CB05: compositor_check_vulkan_caps (comp_compositor.c:349)
```
2019-06-11 15:27:31 +01:00
Jakob Bornecrantz
1f64f714f6
xrt: Add input, hmd_parts and tracking interface
...
This patch has been spun of the rather massive amount of work for adding input
devices into Monado. The interfaces feels somewhat stable now so could do
with another pair of eyes on them, before too much work is done on st/oxr.
2019-06-10 14:47:19 +01:00
Benjamin Saunders
74165d7e0e
comp: Support sRGB swapchain under OpenGL
2019-05-04 13:25:24 -07:00
Jakob Bornecrantz
690a354bd1
comp: Code style
2019-05-02 14:07:41 +01:00
Benjamin Saunders
13cef1b8b9
comp: Support rendering individual array layers
2019-05-01 17:45:43 -07:00
Benjamin Saunders
b6f2013bc5
st/oxr: Frame end uses the most recently released image
2019-05-01 17:45:43 -07:00
Benjamin Saunders
f6b8cb25b8
comp: Respect swapchain array size
2019-05-01 17:45:43 -07:00
Jakob Bornecrantz
2caa08f8a8
comp: Debug print more info
2019-04-25 06:46:20 +01:00
Jakob Bornecrantz
95f24f4735
comp: Debug print Vulkan device and version
2019-04-25 06:34:34 +01:00
Jakob Bornecrantz
86d906cb4d
comp: Refactor documentation
2019-04-06 13:05:35 +01:00
Jakob Bornecrantz
76c9cd4c67
comp: Filter distortion texture lineary
2019-04-03 17:54:16 +01:00
Jakob Bornecrantz
1873d3a1d2
comp: Tidy code
2019-04-03 17:24:06 +01:00
Pete Black
df2b6da078
comp: Add NVIDIA direct mode code
2019-04-03 17:02:07 +01:00
Pete Black
ecec5f1a1a
comp: Make surface format selection more flexible
2019-04-03 17:02:07 +01:00
Jakob Bornecrantz
c6b4b7916a
comp: Refactor vk_get_loader_functions function
2019-04-03 17:00:43 +01:00
Lubosz Sarnecki
bbf484f51e
comp: Free client command pool.
...
As pointed out by Vulkan validation on the client intance.
2019-03-29 11:00:57 +01:00
Lubosz Sarnecki
00afe442f8
comp: Introduce XRT_COMPOSITOR_VULKAN_VALIDATION.
...
For enabling Vulkan validation during runtime.
Add CMake option to disable Vulkan validation at build time.
By default the DEBUG extension is enabled but the validation layers
are not when the ENV variable is not set to true.
2019-03-29 10:59:41 +01:00
Ryan Pavlik
8c37377853
comp: Keep track of nominal display interval and last time
2019-03-27 13:39:22 +00:00
Ryan Pavlik
f6c97ec253
comp: Pass time state down into compositor
2019-03-27 13:39:22 +00:00
Ryan Pavlik
c38026e571
comp: Fix comment typo.
2019-03-22 14:19:19 -05:00
Ryan Pavlik
5b4c3a2f94
comp: Use U_TYPED_CALLOC/U_TYPED_ARRAY_CALLOC
2019-03-22 13:50:29 -05:00
Ryan Pavlik
f7d990c7e3
xrt: Use U_TYPED_CALLOC
2019-03-22 13:47:51 -05:00
Ryan Pavlik
afd20250ed
comp: Fix Vulkan type issues.
2019-03-22 16:54:14 +00:00
Christoph Haag
b8c5ba4bc9
comp: handle acquiring direct mode failing
2019-03-22 16:41:53 +00:00
Lubosz Sarnecki
52e11ac4c5
comp: Move VIVE distortion properties to UBO.
2019-03-18 14:45:31 +01:00
Lubosz Sarnecki
6f5ef7a0cb
comp: Rename ubo_data to ubo_pano.
2019-03-18 14:45:31 +01:00