From 3c8fe0e44a2a42014d359f5fd04716aadfec69a2 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 2 Dec 2015 20:45:36 +0100 Subject: [PATCH] Add notes about where we'd need to handle queue resource sharing * This won't be handled until after 1.0 (since that's when we'll support multiple queue families, etc. --- ReleaseNotes.md | 1 + renderdoc/driver/vulkan/vk_common.cpp | 2 +- renderdoc/driver/vulkan/vk_common.h | 1 + renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp | 4 ++++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ReleaseNotes.md b/ReleaseNotes.md index bcfd8a689..64375f9d2 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -44,6 +44,7 @@ In no particular order, features that are not planned until after 1.0. * Stepping inside vkCmdExecuteCommands * Support for replaying captures on a different machine to where they were captured * Shader debugging +* Sharing resources between different queues, and ownership changing hands * Mesh output data after geometry and tessellation shaders * Vertex picking * Pixel history diff --git a/renderdoc/driver/vulkan/vk_common.cpp b/renderdoc/driver/vulkan/vk_common.cpp index a6b0c7eeb..92c5639e1 100644 --- a/renderdoc/driver/vulkan/vk_common.cpp +++ b/renderdoc/driver/vulkan/vk_common.cpp @@ -4032,7 +4032,7 @@ void Serialiser::Serialise(const char *name, VkSwapchainCreateInfoKHR &el) Serialise("preTransform", el.preTransform); Serialise("imageArraySize", el.imageArraySize); - // VKTODOLOW: do we need sharingMode, queueFamilyCount, pQueueFamilyIndices? + // SHARING: sharingMode, queueFamilyCount, pQueueFamilyIndices Serialise("presentMode", el.presentMode); diff --git a/renderdoc/driver/vulkan/vk_common.h b/renderdoc/driver/vulkan/vk_common.h index b3d381a00..38e7cd0f3 100644 --- a/renderdoc/driver/vulkan/vk_common.h +++ b/renderdoc/driver/vulkan/vk_common.h @@ -30,6 +30,7 @@ // MULTIDEVICE - parts of the code that will need to be updated to support // multiple devices or queues. +// SHARING - as above, for handling resource sharing between queues #include "common/common.h" diff --git a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp index e2fda4c0f..9209e5b6b 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp @@ -902,6 +902,8 @@ VkResult WrappedVulkan::vkCreateBuffer( VkBuffer* pBuffer) { VkResult ret = ObjDisp(device)->CreateBuffer(Unwrap(device), pCreateInfo, pBuffer); + + // SHARING: pCreateInfo sharingMode, queueFamilyCount, pQueueFamilyIndices if(ret == VK_SUCCESS) { @@ -1102,6 +1104,8 @@ VkResult WrappedVulkan::vkCreateImage( VkImage* pImage) { VkResult ret = ObjDisp(device)->CreateImage(Unwrap(device), pCreateInfo, pImage); + + // SHARING: pCreateInfo sharingMode, queueFamilyCount, pQueueFamilyIndices if(ret == VK_SUCCESS) {