From faa91734d9f29abfd0f5dcbe9b5fc41f13b36046 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Mon, 22 Jun 2015 17:21:59 +1200 Subject: 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 --- loader/table_ops.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'loader/table_ops.h') diff --git a/loader/table_ops.h b/loader/table_ops.h index 52cb9c12..39370f36 100644 --- a/loader/table_ops.h +++ b/loader/table_ops.h @@ -116,7 +116,9 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table table->CmdUpdateBuffer = (PFN_vkCmdUpdateBuffer) gpa(dev, "vkCmdUpdateBuffer"); table->CmdFillBuffer = (PFN_vkCmdFillBuffer) gpa(dev, "vkCmdFillBuffer"); table->CmdClearColorImage = (PFN_vkCmdClearColorImage) gpa(dev, "vkCmdClearColorImage"); - table->CmdClearDepthStencil = (PFN_vkCmdClearDepthStencil) gpa(dev, "vkCmdClearDepthStencil"); + table->CmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage) gpa(dev, "vkCmdClearDepthStencilImage"); + table->CmdClearColorAttachment = (PFN_vkCmdClearColorAttachment) gpa(dev, "vkCmdClearColorAttachment"); + table->CmdClearDepthStencilAttachment = (PFN_vkCmdClearDepthStencilAttachment) gpa(dev, "vkCmdClearDepthStencilAttachment"); table->CmdResolveImage = (PFN_vkCmdResolveImage) gpa(dev, "vkCmdResolveImage"); table->CmdSetEvent = (PFN_vkCmdSetEvent) gpa(dev, "vkCmdSetEvent"); table->CmdResetEvent = (PFN_vkCmdResetEvent) gpa(dev, "vkCmdResetEvent"); @@ -309,8 +311,12 @@ static inline void *loader_lookup_device_dispatch_table( return (void *) table->CmdFillBuffer; if (!strcmp(name, "CmdClearColorImage")) return (void *) table->CmdClearColorImage; - if (!strcmp(name, "CmdClearDepthStencil")) - return (void *) table->CmdClearDepthStencil; + if (!strcmp(name, "CmdClearDepthStencilImage")) + return (void *) table->CmdClearDepthStencilImage; + if (!strcmp(name, "CmdClearColorAttachment")) + return (void *) table->CmdClearColorAttachment; + if (!strcmp(name, "CmdClearDepthStencilAttachment")) + return (void *) table->CmdClearDepthStencilAttachment; if (!strcmp(name, "CmdResolveImage")) return (void *) table->CmdResolveImage; if (!strcmp(name, "CmdSetEvent")) -- cgit v1.2.3