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