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/vulkan.py b/vulkan.py
index 95ad639..c8e9b8f 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -738,7 +738,7 @@
Param("uint32_t", "rangeCount"),
Param("const VkImageSubresourceRange*", "pRanges")]),
- Proto("void", "CmdClearDepthStencil",
+ Proto("void", "CmdClearDepthStencilImage",
[Param("VkCmdBuffer", "cmdBuffer"),
Param("VkImage", "image"),
Param("VkImageLayout", "imageLayout"),
@@ -747,6 +747,23 @@
Param("uint32_t", "rangeCount"),
Param("const VkImageSubresourceRange*", "pRanges")]),
+ Proto("void", "CmdClearColorAttachment",
+ [Param("VkCmdBuffer", "cmdBuffer"),
+ Param("uint32_t", "colorAttachment"),
+ Param("VkImageLayout", "imageLayout"),
+ Param("const VkClearColor*", "pColor"),
+ Param("uint32_t", "rectCount"),
+ Param("const VkRect3D*", "pRects")]),
+
+ Proto("void", "CmdClearDepthStencilAttachment",
+ [Param("VkCmdBuffer", "cmdBuffer"),
+ Param("VkImageAspectFlags", "imageAspectMask"),
+ Param("VkImageLayout", "imageLayout"),
+ Param("float", "depth"),
+ Param("uint32_t", "stencil"),
+ Param("uint32_t", "rectCount"),
+ Param("const VkRect3D*", "pRects")]),
+
Proto("void", "CmdResolveImage",
[Param("VkCmdBuffer", "cmdBuffer"),
Param("VkImage", "srcImage"),