Minor clean ups to vulkan hardware buffer test. Bug: skia: Change-Id: I280556d4691a762402d2a94959bd6fda614bc39c Reviewed-on: https://skia-review.googlesource.com/c/189168 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/vk/GrVkImage.cpp b/src/gpu/vk/GrVkImage.cpp index 755ccab..6ce5d02 100644 --- a/src/gpu/vk/GrVkImage.cpp +++ b/src/gpu/vk/GrVkImage.cpp
@@ -216,7 +216,13 @@ void GrVkImage::releaseImage(GrVkGpu* gpu) { if (fInfo.fCurrentQueueFamily != fInitialQueueFamily) { - this->setImageLayout(gpu, this->currentLayout(), 0, 0, false, true); + // The Vulkan spec is vague on what to put for the dstStageMask here. The spec for image + // memory barrier says the dstStageMask must not be zero. However, in the spec when it talks + // about family queue transfers it says the dstStageMask is ignored and should be set to + // zero. Assuming it really is ignored we set it to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT here + // since it makes the Vulkan validation layers happy. + this->setImageLayout(gpu, this->currentLayout(), 0, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, + false, true); } if (fResource) { fResource->removeOwningTexture();
diff --git a/tests/VkHardwareBufferTest.cpp b/tests/VkHardwareBufferTest.cpp index c37d1d7..64b8ae1 100644 --- a/tests/VkHardwareBufferTest.cpp +++ b/tests/VkHardwareBufferTest.cpp
@@ -676,9 +676,7 @@ const VkExternalMemoryImageCreateInfo externalMemoryImageInfo { VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, // sType &externalFormatInfo, // pNext - //nullptr, // pNext VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID, // handleTypes - //0x80, // handleTypes }; VkImageUsageFlags usageFlags = VK_IMAGE_USAGE_SAMPLED_BIT | @@ -712,22 +710,6 @@ return false; } - VkImageMemoryRequirementsInfo2 memReqsInfo; - memReqsInfo.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2; - memReqsInfo.pNext = nullptr; - memReqsInfo.image = fImage; - - VkMemoryDedicatedRequirements dedicatedMemReqs; - dedicatedMemReqs.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS; - dedicatedMemReqs.pNext = nullptr; - - VkMemoryRequirements2 memReqs; - memReqs.sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2; - memReqs.pNext = &dedicatedMemReqs; - - fVkGetImageMemoryRequirements2(fDevice, &memReqsInfo, &memReqs); - REPORTER_ASSERT(reporter, VK_TRUE == dedicatedMemReqs.requiresDedicatedAllocation); - VkPhysicalDeviceMemoryProperties2 phyDevMemProps; phyDevMemProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2; phyDevMemProps.pNext = nullptr;