Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
authorAlexander Galazin <alexander.galazin@arm.com>
Fri, 5 Oct 2018 10:30:28 +0000 (12:30 +0200)
committerAlexander Galazin <alexander.galazin@arm.com>
Fri, 5 Oct 2018 10:30:28 +0000 (12:30 +0200)
Change-Id: If79a2a85ad925402ffcb1f385157d128970d8b65

1  2 
external/vulkancts/modules/vulkan/vktExternalMemoryUtil.cpp

@@@ -1022,42 -1022,6 +1022,42 @@@ static vk::Move<vk::VkDeviceMemory> imp
        else if (externalType == vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID)
        {
                AndroidHardwareBufferExternalApi* ahbApi = AndroidHardwareBufferExternalApi::getInstance();
 +              if (!ahbApi)
 +              {
 +                      TCU_THROW(NotSupportedError, "Platform doesn't support Android Hardware Buffer handles");
 +              }
 +
 +              deUint32 ahbFormat = 0;
 +              ahbApi->describe(handle.getAndroidHardwareBuffer(), DE_NULL, DE_NULL, DE_NULL, &ahbFormat, DE_NULL, DE_NULL);
 +              DE_ASSERT(ahbApi->ahbFormatIsBlob(ahbFormat) || image != 0);
 +
 +              vk::VkImportAndroidHardwareBufferInfoANDROID    importInfo =
 +              {
 +                      vk::VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
 +                      DE_NULL,
 +                      handle.getAndroidHardwareBuffer()
 +              };
 +              const vk::VkMemoryDedicatedAllocateInfo         dedicatedInfo =
 +              {
 +                      vk::VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR,
 +                      &importInfo,
 +                      image,
 +                      buffer,
 +              };
 +              const vk::VkMemoryAllocateInfo                                  info =
 +              {
 +                      vk::VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
 +                      (isDedicated ? (const void*)&dedicatedInfo : (const void*)&importInfo),
 +                      requirements.size,
 +                      (memoryTypeIndex == ~0U) ? chooseMemoryType(requirements.memoryTypeBits)  : memoryTypeIndex
 +              };
 +              vk::Move<vk::VkDeviceMemory> memory (vk::allocateMemory(vkd, device, &info));
 +
 +              return memory;
 +      }
 +      else if (externalType == vk::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID)
 +      {
 +              AndroidHardwareBufferExternalApi* ahbApi = AndroidHardwareBufferExternalApi::getInstance();
                if (!ahbApi)
                {
                        TCU_THROW(NotSupportedError, "Platform doesn't support Android Hardware Buffer handles");
@@@ -1501,8 -1465,8 +1501,8 @@@ AndroidHardwareBufferExternalApi* Andro
                static AndroidHardwareBufferExternalApi28 api28Instance;
                return &api28Instance;
        }
-       else
- #  elif defined(__ANDROID_API_O__) && (DE_ANDROID_API >= __ANDROID_API_O__)
+ #  endif
+ #  if defined(__ANDROID_API_O__) && (DE_ANDROID_API >= __ANDROID_API_O__)
        if (sdkVersion >= __ANDROID_API_O__ )
        {
                static AndroidHardwareBufferExternalApi26 api26Instance;