how to disable VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT in gfxstream?
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- cpp
- Domain
- computer-graphics
Research direction
Start at getImageFormatProperties2Func and the isFormatVulkanCompatible and setupVkColorBufferLocked paths shown in the issue. Trace how VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT reaches image support checks for the virtio-gpu rutabaga path, then determine whether disabling it is supported. Done should be a documented or implemented resolution for Mali-G310 image compatibility.
Written by the indexing model from the issue text.
Description
I try to use virtio-gpu rutabaga with Mali-G310 and meet the unsupported issue: G310 only support VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT for vkbuffer, vkImage doesn't support this bit. So i cannot run virtio-gpu rutabaga successfully.
So i want to know if this external memory bit is necessary? If there any way to disable it?
/*code1: these code result in info->supported be set to false due to extInfo->pNext == VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT */
VkResult res = sVkEmulation->getImageFormatProperties2Func(physdev, &formatInfo2, &outProps2);
if (res != VK_SUCCESS) {
if (res == VK_ERROR_FORMAT_NOT_SUPPORTED) {
if (isTargetFormat) {printf("Ryan: info->supported = false | 3\n");}
info->supported = false;
/code2: these code result in setupVkColorBufferLocked failed/
static bool isFormatVulkanCompatible(GLenum internalFormat) {
VkFormat vkFormat = glFormat2VkFormat(internalFormat);
for (const auto& supportInfo : sVkEmulation->imageSupportInfo) {
if (supportInfo.format == vkFormat && supportInfo.supported) {
return true;
}
}
return false;
}
- Dominant language
- C++
- Stars
- 57
- Forks
- 38
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 6
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/gfxstream
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
google/gfxstream#192 · 1 comment ·
Maintainers usually reply within 2 days
-
Android Emulator host SIGSEGV in gfxstream GL fence wait path (EmulatedEglFenceSync / tcmalloc)Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
google/gfxstream#191 · 2 comments ·
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
google/gfxstream#183 · 5 comments ·
Maintainers usually reply within 2 days
-
request to periodically make versioned tagged releasesMay be free again @gurchetansingh claimed this 58 days ago, and no pull request is open. Open
google/gfxstream#166 · 1 comment · 1 assignee ·
Maintainers usually reply within 2 days
All issues in google/gfxstream
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
microsoft/onnxruntime#33018 ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
customer-reported needs-triage question
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Azure/azure-sdk-for-cpp#7435 ·
Maintainers usually reply within 1 day
-
ChromieCraft Generic Confirmed World Event
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
azerothcore/azerothcore-wotlk#27882 ·
Maintainers usually reply within 1 day
-
MacOS build failureOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
aristocratos/btop#1874 ·
Maintainers usually reply within 1 day