KhronosGroup / KhronosGroup/OpenCL-CTS
Investigating test_vulkan issues
- Dominant language
- C++
- Stars
- 232
- Forks
- 235
- Avg merge
- 8d 7h
- Merged PRs (30d)
- 18
Description
While investigating the `test_vulkan buffer_single_queue` on a recent Android version two problems surfaced:
1. The usage of Core API functionality not available on the API version the instance is created with.
- This can be fixed by either increasing the API version (to `VK_API_VERSION_1_1`), or by enabling and using the KHR extension function entrypoint (in our case it was `vkGetBufferMemoryRequirements2KHR`).
2. Assumptions on supported handle types for `VulkanBuffer`.
- Makes assumptions about [`VULKAN_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD`](https://github.com/KhronosGroup/OpenCL-CTS/blob/b5f030faa1a14782b8e5dbf99aaaa70dd2be662d/test_conformance/common/vulkan_wrapper/vulkan_wrapper_types.hpp#L150) being supported unconditionally.
- Misses coverage for VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID, and others depending on availability on a platform.
As the test is not finalized I hope this can be addressed.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the test_vulkan buffer_single_queue case and the VulkanBuffer assumptions described in the issue. Read vulkan_wrapper_types.hpp and trace the instance API version, vkGetBufferMemoryRequirements2KHR entrypoint, and available external handle types on Android. Done means the test uses a compatible API or extension path and covers handle types according to platform availability.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, cpp
- Domain
- computer-graphics, mobile-dev, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100