Lubosz Sarnecki
c64d17fa88
comp/main: Define Android extensions.
2020-10-28 09:33:46 -05:00
Lubosz Sarnecki
79fd76f68d
comp/main: Don't check for VK_KHR_display on Android.
2020-10-28 09:33:46 -05:00
Jakob Bornecrantz
09566cf5fd
c/main: Fix projection layer flags not getting set
2020-10-27 16:05:13 +00:00
Jakob Bornecrantz
cf8ca3756e
c/main: Fix leaks of samplers and tidy code
2020-10-26 22:07:12 +00:00
Lubosz Sarnecki
3195ba8351
c/main: Implement XR_KHR_composition_layer_equirect2.
2020-10-26 01:34:10 +00:00
Lubosz Sarnecki
9738b4fe93
c/shaders: Add equirect shader.
2020-10-26 01:34:10 +00:00
Lubosz Sarnecki
5777d829c6
c/comp: Init repeat sampler for swapchain images.
2020-10-26 01:34:10 +00:00
Jakob Bornecrantz
54739aff8d
c/render: Refactor out distortion rendering
2020-10-13 19:51:13 +01:00
Jakob Bornecrantz
c5741af98a
c/main: Tidy names
2020-10-13 19:17:50 +01:00
Jakob Bornecrantz
4ffc0b4144
c/main: Remove viewport_id in mesh shader
2020-10-13 19:17:50 +01:00
Jakob Bornecrantz
95bdcc0bd3
c/main: Round viewport to cover the same as scissors
2020-10-13 19:17:50 +01:00
Jakob Bornecrantz
32fd9398fe
c/main: Refactor shader loading to own file
2020-10-13 19:17:50 +01:00
Jakob Bornecrantz
1750bb672f
c/main: Remove none shaders
2020-10-08 15:02:52 +01:00
Jakob Bornecrantz
39ec39dbee
c/main: Add more logging levels
2020-10-08 14:57:59 +01:00
Jakob Bornecrantz
b5e5322f49
c/main: Use log levels
2020-10-06 20:37:01 +01:00
Lubosz Sarnecki
bbeab1da3f
c/main: Use u_logging.
...
Remove comp_compositor_print.
2020-10-06 20:04:52 +01:00
Christoph Haag
c5209c5ed4
comp: Move mesh generation to comp_renderer init
...
Use none shader when XRT_DISTORTION_MODEL_NONE is set.
Fall back to none distortion if mesh generation fails or unsupported
distortion model is set.
comp_render init updates comp_settings::distortion_model.
u_compute_distortion_mesh: Don't touch xdev::distortion::preferred,
just add XRT_DISTORTION_MODEL_MESHUV mesh to xdev::distortion::models.
2020-09-30 02:05:05 +02:00
Christoph Haag
f82f247c19
comp: Rename distortion.vert to none.vert
...
After removing the other shaders, it is only used for no distortion anymore.
2020-09-30 02:05:05 +02:00
Christoph Haag
bc7a948975
comp: More replacing of binding indices with variables
2020-09-30 02:05:05 +02:00
Christoph Haag
2e7451ca5e
comp: Support only mesh and no istortion, remove pano and vive shaders
...
Also changes hardcoded binding indices into variables to make following the code easier
e.g. when adding new UBOs.
2020-09-30 02:05:04 +02:00
Christoph Haag
80f6fc9039
comp: Replace hardcoded binding indices with variables
...
Makes it easier to follow when changing code.
2020-09-30 01:30:30 +02:00
Christoph Haag
fb71c71a8c
xrt: Replace mesh generator with xdev->compute_distortion()
...
Each HMD driver now has to implement compute_distortion() which will be called
by the compositor implementation to generate a mesh (usually).
u_distortion_mesh contains implementations for the defaults (panotools, OpenHMD, vive).
Also adds compute_distortion function for Vive distortion
There are differences between OpenHMD and Panotools values, main differences for now:
* psvr has 5 pano coefficients, ohmd has 3
* psvr uses viewport size and lens center in pixels for distortion calculation, ohmd in meter
* psvr uses different distortion scaling than ohmd
2020-09-28 17:04:15 +01:00
Christoph Haag
e5683d4fde
comp: remove useless pano ubo from mesh distortion
...
It was left in as a debug measure, but is more confusing than useful,
especially with northstar directly generating a mesh and vive with its own shader.
2020-09-22 02:19:13 +02:00
Jakob Bornecrantz
8e24dda794
xrt: Remove out_timestamp argument to xrt_device::get_tracked_pose
2020-09-07 23:37:09 +01:00
Jakob Bornecrantz
855b2005f3
c/main: Use new xrt_space_graph
2020-09-07 23:33:28 +01:00
Ryan Pavlik
cb26f7255c
comp: Use the correct calloc macro
2020-08-26 11:25:43 -05:00
Jakob Bornecrantz
516212fef4
c/main: Test if a format is supported before adding to list
2020-08-26 14:28:10 +00:00
Jakob Bornecrantz
1eaf4baf91
c/main: Support 16 layers
2020-08-26 15:25:00 +01:00
Jakob Bornecrantz
1496262564
xrt: Constify compositor interface
2020-08-26 15:25:00 +01:00
Christoph Haag
8377655128
comp: Handle skipping rendering of infinite cylinder properly
...
* Setting visibility to none will make the compositor skip rendering this layer
* But do fill in some information in like layer type to ease debugging
2020-08-26 15:59:54 +02:00
Christoph Haag
aecfdfc9f9
comp: Fix typo in switch statement
2020-08-26 15:59:54 +02:00
Jakob Bornecrantz
8356308bf9
c/main: Add support for depth projection
2020-08-25 14:55:43 +01:00
Christoph Haag
a9193b0e89
st/oxr: Pass through depth layer to compositor
...
The compositor does not make use of this layer yet.
2020-08-24 10:30:23 +02:00
Christoph Haag
092dddc2da
comp: Support Vk and GL depth and depth stencil formats
...
For now add only the depth formats mandated by OpenGL to maximize the
chances of the Vulkan driver supporting a reasonable set of usage flags
for the formats.
2020-08-24 10:18:12 +02:00
Christoph Haag
094a9008c9
comp: Add cylinder layer implementation
2020-08-21 02:24:48 +02:00
Christoph Haag
370f6820aa
m: Generalize math_matrix_4x4_quad_model, making scaling a vec3
2020-08-21 02:11:03 +02:00
Christoph Haag
3122e2d073
comp: Use define for number of plane vertices
2020-08-21 02:11:03 +02:00
Christoph Haag
fbe390813c
vk: Add update_buffer helper function
2020-08-21 02:11:03 +02:00
Christoph Haag
cf5596adba
comp: Use CLAMP_TO_EDGE for swapchains
...
Avoids sampling black at the edges of layers.
2020-08-21 02:09:20 +02:00
Ryan Pavlik
6820a7851d
comp/main: Refuse to create a swapchain if protected content bit requested.
2020-08-14 19:58:01 +00:00
Jakob Bornecrantz
4b5d25dc33
c/main: Stub in code for cube, cylinder and equirect layers
2020-08-14 19:15:02 +00:00
Ryan Pavlik
1bd2c66aa2
comp: Port to using u_handles
2020-08-13 17:34:05 -05:00
Ryan Pavlik
f9a613a349
comp: Fix compile-time conditionals
2020-08-13 17:34:05 -05:00
Ryan Pavlik
9087d1c7a9
xrt: Use our generic graphics buffer typedefs all over.
...
This adds some Android support in composition clients,
and fixes the breakage from 2 commits ago.
Thanks to Jakob for finding my error in an earlier version.
2020-08-13 17:34:05 -05:00
Ryan Pavlik
475192ec73
xrt: Rename "fd" references to "handle"
...
This breaks some Android pieces, which will be fixed shortly.
2020-08-12 17:11:42 -05:00
Ryan Pavlik
146218b346
xrt: Some clang tidy fixes.
...
A few suppressions as well where clang-tidy did the wrong thing.
2020-08-12 17:11:42 -05:00
Jakob Bornecrantz
71e10fafcd
c/main: Fix warnings with asserts
2020-08-11 01:48:31 +01:00
Christoph Haag
026cc64681
comp: make nvidia display selectable with XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY
...
Allows temporarily adding a nvidia display name string to the whitelist without recompiling.
2020-08-11 00:44:31 +02:00
Christoph Haag
5ecd0a947d
comp: Move nvidia whitelist warning so it is displayed again
2020-08-10 20:48:29 +02:00
Jakob Bornecrantz
ca786df18c
xrt: Make xrt_swapchain_create_info argument const
2020-08-07 19:15:18 +01:00