google / google/gfxstream

how to disable VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT in gfxstream?

Open
#106 3 comments 0 reactions 0 assignees View on GitHub
duplicate
Dominant language
C++
Stars
56
Forks
37
Avg merge
3d 8h
Merged PRs (30d)
10

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;
}

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.