From fd0af5b27164551f6fb235d384377ddfe01fd570 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Tue, 24 May 2016 21:41:01 +0200 Subject: [PATCH] Vulkan: Mostly pass the validation layers in SDK 1.0.13 --- Common/Vulkan/VulkanContext.cpp | 4 ++-- Windows/GPU/WindowsVulkanContext.cpp | 8 -------- ext/native/thin3d/thin3d_vulkan.cpp | 4 +--- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/Common/Vulkan/VulkanContext.cpp b/Common/Vulkan/VulkanContext.cpp index f8f88859a289..a949a836fd5a 100644 --- a/Common/Vulkan/VulkanContext.cpp +++ b/Common/Vulkan/VulkanContext.cpp @@ -1271,13 +1271,13 @@ void TransitionImageLayout(VkCommandBuffer cmd, VkImage image, VkImageAspectFlag if (new_image_layout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL) { /* Make sure anything that was copying from this image has completed */ - image_memory_barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_MEMORY_READ_BIT; + image_memory_barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; } if (new_image_layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { /* Make sure any Copy or CPU writes to image are flushed */ if (old_image_layout != VK_IMAGE_LAYOUT_UNDEFINED) { - image_memory_barrier.srcAccessMask = VK_ACCESS_HOST_WRITE_BIT | VK_ACCESS_TRANSFER_WRITE_BIT; + image_memory_barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; } image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; } diff --git a/Windows/GPU/WindowsVulkanContext.cpp b/Windows/GPU/WindowsVulkanContext.cpp index 5aeab2ba3d2e..109bb8dabf1a 100644 --- a/Windows/GPU/WindowsVulkanContext.cpp +++ b/Windows/GPU/WindowsVulkanContext.cpp @@ -129,14 +129,6 @@ static VkBool32 VKAPI_CALL Vulkan_Dbg(VkDebugReportFlagsEXT msgFlags, VkDebugRep if (msgCode == 7 && startsWith(pMsg, "Cannot submit cmd buffer")) return false; - // Another validator bug (vkBindImageMemory false positive) - if (msgCode == 15 && startsWith(pMsg, "In vkBindImageMemory, attempting")) - return false; - - // another validator bug (validator #299) - if (msgCode == 63 && startsWith(pMsg, "VkDescriptorSet")) - return false; - #ifdef _WIN32 OutputDebugStringA(message.str().c_str()); if (msgFlags & VK_DEBUG_REPORT_ERROR_BIT_EXT) { diff --git a/ext/native/thin3d/thin3d_vulkan.cpp b/ext/native/thin3d/thin3d_vulkan.cpp index 786d5c0a61ea..5b311c357783 100644 --- a/ext/native/thin3d/thin3d_vulkan.cpp +++ b/ext/native/thin3d/thin3d_vulkan.cpp @@ -827,9 +827,7 @@ VkPipeline Thin3DVKContext::GetOrCreatePipeline() { dynamicInfo.dynamicStateCount = ARRAY_SIZE(dynamics); dynamicInfo.pDynamicStates = dynamics; - VkPipelineRasterizationStateCreateInfo raster; - raster.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; - raster.pNext = nullptr; + VkPipelineRasterizationStateCreateInfo raster = { VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO }; switch (curCullMode_) { case NO_CULL: raster.cullMode = VK_CULL_MODE_NONE; break; case CW: raster.cullMode = VK_CULL_MODE_BACK_BIT; break;