Commit graph

30 commits

Author SHA1 Message Date
Jakob Bornecrantz bff61bec4b a/vk: Create image with mutable format if a sRGB on Android 2022-06-12 11:09:36 +01:00
Ryan Pavlik 147624348f a/vk: Add an internal check to ensure graphics buffer ref worked. 2022-05-17 17:38:07 +00:00
Jakob Bornecrantz 045fc9c33f a/vk: Add caller_name argument to vk_alloc_and_bind_image_memory for better debugging 2022-04-24 22:47:51 +01:00
Ryan Pavlik 7952773908 a/vk: Expose get_device_memory_handle as vk_get_native_handle_from_device_memory 2022-04-05 22:48:24 +00:00
Jakob Bornecrantz c317a27a1d aux/vk: Remove setting of format on out struct 2022-04-04 16:12:08 +00:00
Jakob Bornecrantz 1c67113e20 aux/vk: Tidy vk_image_allocator 2022-04-04 16:12:08 +00:00
Christoph Haag 5d50be0164 aux/vk: Always use dedicated allocation on desktop
Fixes CTS on nvidia.

Example code given by the driver devs in the nvidia forums was
VkBool32 dedicatedAllocation = (memDedicatedReq.requiresDedicatedAllocation != VK_FALSE) ||
                               (memDedicatedReq.prefersDedicatedAllocation != VK_FALSE);

However on GTX 1080, nvidia 470.103 with

    ./conformance_cli "Timed Pipelined Frame Submission" -G Vulkan2

we are to create a VkImage with

  DEBUG [create_image] create_image: Use dedicated allocation: 0 (preferred: 0, required: 0)

doing so causes the VkFence wait in vk_submit_cmd_buffer to fail randomly with
either VK_TIMEOUT or VK_ERROR_DEVICE_LOST.

On AMD radv we are told to use dedicated allocation:

  DEBUG [create_image] create_image: Use dedicated allocation: 1 (preferred: 1, required: 1)
2022-03-28 23:16:05 +02:00
Jakob Bornecrantz 5222dfd728 aux/vk: Refactor and document various compositor swapchain image flags
This also fixes two errors:
* VK_IMAGE_USAGE_SAMPLED_BIT was not always added to depth formats.
* VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT was added to image
  views for sampling, where the spec only allows one of them.
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz 05771e7b9e aux/vk: Rename compositor swapchain image helper functions (NFC) 2022-02-18 21:32:05 +00:00
Ryan Pavlik dfa0aba496 aux: Migrate num_ to _count 2021-11-13 12:04:38 +00:00
Ryan Pavlik 35d7e85266 a/vk: Return of the justification and function rename 2021-11-09 15:36:24 -06:00
Ryan Pavlik 01c02897dc a/vk: Update vulkan files: generate from script 2021-11-09 11:05:15 -06:00
Christoph Haag 2609502150 aux/vk: Add and document tegra specific dedicated allocation workaround 2021-09-03 15:32:35 +00:00
Christoph Haag e7d047f956 aux/vk: debug print preferred/required dedicated allocation 2021-09-03 15:32:35 +00:00
Christoph Haag 602ce70a0a aux/vk: Only use dedicated allocation when it is required
On tegra, when VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT is set for color image usage
with VK_FORMAT_R16G16B16A16_SFLOAT, dedicated allocation is preferred, but not required.

When using dedicated allocation in this case, we get only a black texture,
and when blitting from that texture, we get a kernel driver error:
gk20a_fifo_handle_mmu_fault_locked:1721 [ERR]  fake mmu fault on engine 0, engine subid 1 (hub), client 1 (ce0), addr 0x46cd8aa000, type 15 (poisoned), access_type 0x00000000,inst_ptr 0x212ef3000

Only using dedicated allocation when it is required works around this issue.
2021-08-23 13:01:05 +00:00
Christoph Haag 1b179306dc comp: Only use dedicated allocation when supported/preferred
Fixes OpenGL depth formats on Tegra
2021-08-09 15:17:25 +02:00
Ryan Pavlik 607eae4fdd aux/vk: Fix creation of Windows external memory backed image. 2021-04-02 17:29:55 -05:00
Jakob Bornecrantz 2b996f30c4 xrt: Reflow after column change 2021-01-15 13:50:32 +00:00
Ryan Pavlik a792b08ed7 aux/vk: Minimal, untested implementations of these for Windows - fixes build 2020-11-10 03:09:07 +00:00
Lubosz Sarnecki 633b7839c2 aux/vk+comp/sc: Initialize extra structs for hardware buffer extension.
Fix sRGB format for Android hardware buffers.
2020-10-28 12:12:31 -05:00
Christoph Haag 6dc4a1f237 aux/vk: Report appropriate errors on unsupported image usage flags 2020-08-24 10:18:12 +02:00
Ryan Pavlik e092345292 aux/vk: Port to using u_handles 2020-08-13 17:34:05 -05:00
Ryan Pavlik e52539d1a3 aux/vk: 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 cd9da1c1e1 aux/vk: Make xrt_swapchain_create_info const 2020-08-07 17:00:10 +01:00
Jakob Bornecrantz 3a7a86aafc vk: Refactor VkImageUsageFlags code into helper function 2020-08-06 14:28:23 +00:00
Jakob Bornecrantz ce7da3941c vk: Add support for XRT_SWAPCHAIN_USAGE_INPUT_ATTACHMENT 2020-08-06 14:28:23 +00:00
Jakob Bornecrantz 727e3bc2a6 vk: Add image allocator helper 2020-07-20 13:50:01 +00:00