Explicitly report sparse features as unsupported on vulkan

* What partial support was there has rotted since vulkan was released. This
  feature is virtually unused so we just disable it being honest.
This commit is contained in:
baldurk
2019-12-11 15:28:38 +00:00
parent ec5d1ae39e
commit b15c0541f0
2 changed files with 29 additions and 1 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ RenderDoc has support for Vulkan version 1.1, as well as a number of extensions,
* RenderDoc assumes that even if multiple GPUs are present, that only one VkDevice will be created and used.
* RenderDoc captures will in general not be portable between different systems, only currently supporting capture and replay on the same or similar enough machines.
* Sparse textures are only supported for non-arrayed 2D textures with no mips.
* Sparse resources are not supported.
* Pixel history is not implemented.
* Shader debugging is not currently supported.
@@ -45,6 +45,20 @@ void WrappedVulkan::vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures *pFeatures)
{
ObjDisp(physicalDevice)->GetPhysicalDeviceFeatures(Unwrap(physicalDevice), pFeatures);
if(pFeatures)
{
// sparse features not supported
pFeatures->sparseBinding = VK_FALSE;
pFeatures->sparseResidencyBuffer = VK_FALSE;
pFeatures->sparseResidencyImage2D = VK_FALSE;
pFeatures->sparseResidencyImage3D = VK_FALSE;
pFeatures->sparseResidency2Samples = VK_FALSE;
pFeatures->sparseResidency4Samples = VK_FALSE;
pFeatures->sparseResidency8Samples = VK_FALSE;
pFeatures->sparseResidency16Samples = VK_FALSE;
pFeatures->sparseResidencyAliased = VK_FALSE;
}
}
void WrappedVulkan::vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,
@@ -509,6 +523,20 @@ void WrappedVulkan::vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice
RDCWARN("Forcibly disabling support for protected memory");
protectedMem->protectedMemory = VK_FALSE;
}
if(pFeatures)
{
// sparse features not supported
pFeatures->features.sparseBinding = VK_FALSE;
pFeatures->features.sparseResidencyBuffer = VK_FALSE;
pFeatures->features.sparseResidencyImage2D = VK_FALSE;
pFeatures->features.sparseResidencyImage3D = VK_FALSE;
pFeatures->features.sparseResidency2Samples = VK_FALSE;
pFeatures->features.sparseResidency4Samples = VK_FALSE;
pFeatures->features.sparseResidency8Samples = VK_FALSE;
pFeatures->features.sparseResidency16Samples = VK_FALSE;
pFeatures->features.sparseResidencyAliased = VK_FALSE;
}
}
void WrappedVulkan::vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,