vkCreateImage
을 호출 할 때마다 내 Vulkan 구현은 VK_ERROR_INITIALIZATION_FAILED
을 반환합니다. vkGetPhysicalDeviceImageFormatProperties
의 출력과 vkGetPhysicalDeviceFormatProperties
의 출력을 확인하고 내가 만드는 매개 변수와 관련하여 이미지의 형식이 지원되는지 확인했습니다. Vulkan 인스턴스와 논리 장치를 초기화 했으므로 문제가 다른 곳에 있어야합니다.vkCreateImage는 지원되지만 VK_ERROR_INITIALIZATION_FAILED를 반환합니다.
Vulkan Spec은 vkCreateImage
에서 가능한 반환 값으로 VK_ERROR_INITIALIZATION_FAILED
을 언급하지 않으므로 문제를 근절시키는 것이 더 어렵습니다.
다음 내가 vkCreateImage
에 밀어 VkImageCreateInfo
구조이므로 : 본 명세서에 기재된 바와 같이
imageCreateInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
imageCreateInfo.pNext = nullptr;
imageCreateInfo.flags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
imageCreateInfo.imageType = VK_IMAGE_TYPE_2D;
imageCreateInfo.format = VK_FORMAT_R8G8B8A8_UNORM;
imageCreateInfo.extent.width = 1024;
imageCreateInfo.extent.height = 1024;
imageCreateInfo.extent.depth = 1;
imageCreateInfo.arrayLayers = 1;
imageCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
imageCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT;
imageCreateInfo.usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
imageCreateInfo.mipLevels = 0;
imageCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
imageCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL;
imageCreateInfo.queueFamilyIndexCount = 0;
imageCreateInfo.pQueueFamilyIndices = nullptr;