Ryan Pavlik
c49ccd7b46
comp/client: Improve EGLimage-based swapchain
2020-08-19 16:06:30 -05:00
Ryan Pavlik
3250617dcb
comp/client: Use new texture target utility for OpenGL
2020-08-19 16:06:30 -05:00
Ryan Pavlik
521de8ecfd
comp: Add a URL for sample Android EGL code.
2020-08-19 11:01:49 -05:00
Jakob Bornecrantz
1292173b5e
c/client: Add support for cube, cylinder and equirect layers
2020-08-14 19:15:02 +00:00
Ryan Pavlik
bf37b9d999
comp: Use u_logging in some EGL code.
2020-08-13 17:34:05 -05:00
Ryan Pavlik
ab4ceee720
comp: Save/restore the correct texture binding on Android
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
c5d1dec60c
comp: Move GLAD loading and extension checking to places with more information.
...
They will be sure to load the right combination.
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
fc73ba0401
comp: Split OpenGL[ES] swapchain types
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
Jakob Bornecrantz
ca786df18c
xrt: Make xrt_swapchain_create_info argument const
2020-08-07 19:15:18 +01:00
Christoph Haag
e48c748a57
xrt: suggest correct GPU in xrGetVulkanGraphicsDevice()
...
As before, on the service side the GPU index the compositor runs on can be selected with
* XRT_COMPOSITOR_FORCE_GPU_INDEX=INDEX1
By default xrGetVulkanGraphicsDevice() will suggest the same GPU the compositor runs on.
It is also possible to override the GPU index suggested to applications with
* XRT_COMPOSITOR_FORCE_CLIENT_GPU_INDEX=INDEX2
The reason this is both done on the service side is that if compositor and client run
on different GPUs, the swapchains use linear tiling instead of optimal tiling.
To make chosen GPUs comparable across the compositor's and the client's vulkan instance,
VkPhysicalDeviceIDProperties.deviceUUID is used.
2020-08-07 17:01:13 +02:00
Jakob Bornecrantz
d1d841e7c3
xrt: Use new info struct for compositor formats
2020-08-06 15:14:49 +00:00
Ryan Pavlik
d8ad620bd2
xrt: Update GLAD again, to a "merged" distribution.
...
This merges the OpenGL and OpenGL-ES code.
2020-08-05 20:50:00 +00:00
Jakob Bornecrantz
b93017911e
xrt: Make xrt_compositor::create_swapchain return xrt_result_t
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
a8a4e80746
vk: Use xrt_swapchain_create_info in vk_create_image_from_native
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
0d05eb6cae
xrt: Make some fields on xrt_gl_swapchain private
2020-07-20 13:50:01 +00:00
Jakob Bornecrantz
34843c3ffe
xrt: Make some fields on xrt_vk_swapchain private
2020-07-20 13:50:01 +00:00
Ryan Pavlik
6f56d91c05
xrt: Add separate build config for OpenGL ES
2020-07-17 15:17:42 -05:00
Ryan Pavlik
ebf1b01d48
comp: Improve OpenGL extension checking
2020-07-17 13:53:39 -05:00
Ryan Pavlik
cb69223532
aux: Move responsibility for clearing image FD to the helper.
2020-07-17 11:46:22 -05:00
Christoph Haag
4ec6f46717
comp/gl: hack: glFlush() before committing a layer
...
This works around corruption in layers on several drivers caused by
writes to the OpenGL textures not having finished when used by the
compositor.
This should be properly fixed with external semaphores later.
2020-07-17 17:11:35 +02:00
Ryan Pavlik
54f56716fd
xrt: Rename references to compositor/swapchain/image_fd to ..._native.
...
Reflecting that the native buffer isn't an FD on all platforms.
2020-07-15 09:11:58 -05:00
Benjamin Saunders
1c78dd0246
c/client: Slightly improve barriers, taken from !360
...
Transplanted by Jakob, all the hard spec reading done by Ben.
2020-07-14 17:25:28 +01:00
Jakob Bornecrantz
8ee7086ea6
xrt: Introduce xrt_swapchain_create_info
2020-07-04 11:04:07 +00:00
Jakob Bornecrantz
bf086f8be2
c/client: Add two new linear formats to OpenGL
2020-06-25 19:55:08 +00:00
Pete Black
bd5aa24463
xrt: Add multi client and overlay client support
2020-06-25 15:48:34 +01:00
Jakob Bornecrantz
a26fa7bbdc
c/client: Tidy whitespace
2020-06-25 12:58:22 +01:00
Jakob Bornecrantz
b75f4f844b
xrt: Add frame_id to compositor frame calls
2020-06-23 21:31:00 +01:00
Jakob Bornecrantz
d778c236fe
c/client: A working but non-spec conforming way to get Vulkan clients working
2020-06-16 16:33:04 +01:00
Ryan Pavlik
7446dc08d5
xrt: Rename output parameter of acquire_image to out_image.
...
As is tradition.
2020-06-09 15:56:26 -05:00
Ryan Pavlik
e0e5aeceda
xrt: name xrt_swapchain pointers consistently "xsc" or similar.
...
As is tradition.
2020-06-09 15:29:46 -05:00
Jakob Bornecrantz
55e026245a
xrt: Use new xrt_layer_data in layer functions
2020-06-09 19:04:48 +00:00
Christoph Haag
cc9b415a8f
xrt: Add xrt_result_t return type to many functions
...
Many functions returned void and were assumed to always succeed, and some functions
returned only a bool to indicate vague success/failure.
Now that these functions get piped over IPC all of them have to be able to indicate
an IPC failure like for example an unreachable service.
With the xrt_result_t return type they now have the opportunity to report various
types of failures.
2020-06-05 16:06:32 +02:00
Jakob Bornecrantz
077087bb15
xrt: Introduce xrt_comp_fd_destroy to avoid some error prone casting
2020-06-04 16:37:06 +00:00
Ryan Pavlik
4ee0ad7767
comp/client: Decrease visibility of downcast helpers.
2020-06-03 16:28:36 -05:00
Ryan Pavlik
cc609f5fb7
comp/client: Use helper functions, comment.
2020-06-03 16:28:36 -05:00
Ryan Pavlik
bc6cc85e7d
xrt: Improve doxygen documentation.
2020-06-03 16:28:18 -05:00
Jakob Bornecrantz
5b0085f1c1
c/client: Mark consumed FDs as invalid
2020-06-02 13:02:04 +01:00
Lubosz Sarnecki
9c8d0ae3cc
xrt: Pass the flip y on layer per layer basis.
...
st/oxr: Adopt to flip y in layers change.
c/client: Adapt to flip y in layers change.
Set true for GL and false for Vulkan.
2020-05-26 11:33:58 +01:00
Jakob Bornecrantz
e36e457560
c/client: Add full support for new layer interface
2020-05-26 11:33:58 +01:00
Ryan Pavlik
457d411016
comp: Remaining 32-bit warning fixes
2020-04-29 17:47:32 -05:00
Ryan Pavlik
128abac9e8
comp: Codespell fixes.
2020-04-24 15:30:46 -05:00
Pete Black
ccb1b911f6
c/client: Get the supported formats from the fd compositor
2020-04-22 22:00:13 +01: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
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
ffa5a76cea
comp/client: More 32-bit porting fixes
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