vulkan.h: Split attachment and image clears (#13914, v126)
- Add bit flags for image aspects.
- Replace VkRect with VkRect2D and VkRect3D.
- Rename vkCmdClearDepthStencil to vkCmdClearDepthStencilImage
- Add vkCmdClearColorAttachment and vkCmdClearDepthStencilAttachment
Remaining to be done:
- Actually implement vkCmdClearColorAttachment,
vkCmdClearDepthStencilAttachment in the Intel ICD
- Enforce renderpass interactions: CmdClear*Attachment may only be
called within a renderpass; CmdClear*Image may only be called outside
a renderpass.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 9b92526..643399a 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -8491,7 +8491,7 @@
PostCmdClearColorImage(cmdBuffer, image, imageLayout, rangeCount);
}
-void PreCmdClearDepthStencil(
+void PreCmdClearDepthStencilImage(
VkCmdBuffer cmdBuffer,
const VkImageSubresourceRange* pRanges)
{
@@ -8517,7 +8517,7 @@
}
}
-void PostCmdClearDepthStencil(
+void PostCmdClearDepthStencilImage(
VkCmdBuffer cmdBuffer,
VkImage image,
VkImageLayout imageLayout,
@@ -8551,7 +8551,7 @@
}
-VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencil(
+VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilImage(
VkCmdBuffer cmdBuffer,
VkImage image,
VkImageLayout imageLayout,
@@ -8560,10 +8560,10 @@
uint32_t rangeCount,
const VkImageSubresourceRange* pRanges)
{
- PreCmdClearDepthStencil(cmdBuffer, pRanges);
- get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdClearDepthStencil(cmdBuffer, image, imageLayout, depth, stencil, rangeCount, pRanges);
+ PreCmdClearDepthStencilImage(cmdBuffer, pRanges);
+ get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, depth, stencil, rangeCount, pRanges);
- PostCmdClearDepthStencil(cmdBuffer, image, imageLayout, depth, stencil, rangeCount);
+ PostCmdClearDepthStencilImage(cmdBuffer, image, imageLayout, depth, stencil, rangeCount);
}
void PreCmdResolveImage(
@@ -8991,8 +8991,6 @@
"vkCmdResetQueryPool parameter, VkQueryPool queryPool, is null pointer");
return;
}
-
-
}
VK_LAYER_EXPORT void VKAPI vkCmdResetQueryPool(
@@ -9688,8 +9686,8 @@
return (void*) vkCmdFillBuffer;
if (!strcmp(funcName, "vkCmdClearColorImage"))
return (void*) vkCmdClearColorImage;
- if (!strcmp(funcName, "vkCmdClearDepthStencil"))
- return (void*) vkCmdClearDepthStencil;
+ if (!strcmp(funcName, "vkCmdClearDepthStencilImage"))
+ return (void*) vkCmdClearDepthStencilImage;
if (!strcmp(funcName, "vkCmdResolveImage"))
return (void*) vkCmdResolveImage;
if (!strcmp(funcName, "vkCmdSetEvent"))