From a74c5b2357946c7f48dd04852c3fbf1bda0837d1 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Tue, 7 Jul 2015 11:50:03 +0800 Subject: update vulkan.h for multi-pass command buffers (V131, #14075) Minimal changes to keep everything building and functioning. TODO: Need to port draw_state to use new VkAttachmentView structure. --- loader/gpa_helper.h | 8 ++++---- loader/table_ops.h | 12 ++++++------ loader/trampoline.c | 26 +++++++++++++------------- 3 files changed, 23 insertions(+), 23 deletions(-) (limited to 'loader') diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h index 9532d5d2..6da2fcc4 100644 --- a/loader/gpa_helper.h +++ b/loader/gpa_helper.h @@ -141,10 +141,8 @@ static inline void* globalGetProcAddr(const char *name) return (void*) vkGetImageSubresourceLayout; if (!strcmp(name, "CreateImageView")) return (void*) vkCreateImageView; - if (!strcmp(name, "CreateColorAttachmentView")) - return (void*) vkCreateColorAttachmentView; - if (!strcmp(name, "CreateDepthStencilView")) - return (void*) vkCreateDepthStencilView; + if (!strcmp(name, "CreateAttachmentView")) + return (void*) vkCreateAttachmentView; if (!strcmp(name, "CreateShaderModule")) return (void*) vkCreateShaderModule; if (!strcmp(name, "CreateShader")) @@ -263,6 +261,8 @@ static inline void* globalGetProcAddr(const char *name) return (void*) vkCreateRenderPass; if (!strcmp(name, "CmdBeginRenderPass")) return (void*) vkCmdBeginRenderPass; + if (!strcmp(name, "CmdNextSubpass")) + return (void*) vkCmdNextSubpass; if (!strcmp(name, "CmdEndRenderPass")) return (void*) vkCmdEndRenderPass; diff --git a/loader/table_ops.h b/loader/table_ops.h index 7563af84..d6ddbfce 100644 --- a/loader/table_ops.h +++ b/loader/table_ops.h @@ -74,8 +74,7 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table table->CreateImage = (PFN_vkCreateImage) gpa(dev, "vkCreateImage"); table->GetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout) gpa(dev, "vkGetImageSubresourceLayout"); table->CreateImageView = (PFN_vkCreateImageView) gpa(dev, "vkCreateImageView"); - table->CreateColorAttachmentView = (PFN_vkCreateColorAttachmentView) gpa(dev, "vkCreateColorAttachmentView"); - table->CreateDepthStencilView = (PFN_vkCreateDepthStencilView) gpa(dev, "vkCreateDepthStencilView"); + table->CreateAttachmentView = (PFN_vkCreateAttachmentView) gpa(dev, "vkCreateAttachmentView"); table->CreateShaderModule = (PFN_vkCreateShaderModule) gpa(dev, "vkCreateShaderModule"); table->CreateShader = (PFN_vkCreateShader) gpa(dev, "vkCreateShader"); table->CreatePipelineCache = (PFN_vkCreatePipelineCache) gpa(dev, "vkCreatePipelineCache"); @@ -135,6 +134,7 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table table->CreateFramebuffer = (PFN_vkCreateFramebuffer) gpa(dev, "vkCreateFramebuffer"); table->CreateRenderPass = (PFN_vkCreateRenderPass) gpa(dev, "vkCreateRenderPass"); table->CmdBeginRenderPass = (PFN_vkCmdBeginRenderPass) gpa(dev, "vkCmdBeginRenderPass"); + table->CmdNextSubpass = (PFN_vkCmdNextSubpass) gpa(dev, "vkCmdNextSubpass"); table->CmdEndRenderPass = (PFN_vkCmdEndRenderPass) gpa(dev, "vkCmdEndRenderPass"); table->CmdExecuteCommands = (PFN_vkCmdExecuteCommands) gpa(dev, "vkCmdExecuteCommands"); //TODO move into it's own table @@ -230,10 +230,8 @@ static inline void *loader_lookup_device_dispatch_table( return (void *) table->GetImageSubresourceLayout; if (!strcmp(name, "CreateImageView")) return (void *) table->CreateImageView; - if (!strcmp(name, "CreateColorAttachmentView")) - return (void *) table->CreateColorAttachmentView; - if (!strcmp(name, "CreateDepthStencilView")) - return (void *) table->CreateDepthStencilView; + if (!strcmp(name, "CreateAttachmentView")) + return (void *) table->CreateAttachmentView; if (!strcmp(name, "CreateShaderModule")) return (void *) table->CreateShaderModule; if (!strcmp(name, "CreateShader")) @@ -352,6 +350,8 @@ static inline void *loader_lookup_device_dispatch_table( return (void *) table->CreateRenderPass; if (!strcmp(name, "CmdBeginRenderPass")) return (void *) table->CmdBeginRenderPass; + if (!strcmp(name, "CmdNextSubpass")) + return (void *) table->CmdNextSubpass; if (!strcmp(name, "CmdEndRenderPass")) return (void *) table->CmdEndRenderPass; diff --git a/loader/trampoline.c b/loader/trampoline.c index ebf4f5de..baa7bd1f 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -654,22 +654,13 @@ LOADER_EXPORT VkResult VKAPI vkCreateImageView(VkDevice device, const VkImageVie return disp->CreateImageView(device, pCreateInfo, pView); } -LOADER_EXPORT VkResult VKAPI vkCreateColorAttachmentView(VkDevice device, const VkColorAttachmentViewCreateInfo* pCreateInfo, VkColorAttachmentView* pView) +LOADER_EXPORT VkResult VKAPI vkCreateAttachmentView(VkDevice device, const VkAttachmentViewCreateInfo* pCreateInfo, VkAttachmentView* pView) { const VkLayerDispatchTable *disp; disp = loader_get_dispatch(device); - return disp->CreateColorAttachmentView(device, pCreateInfo, pView); -} - -LOADER_EXPORT VkResult VKAPI vkCreateDepthStencilView(VkDevice device, const VkDepthStencilViewCreateInfo* pCreateInfo, VkDepthStencilView* pView) -{ - const VkLayerDispatchTable *disp; - - disp = loader_get_dispatch(device); - - return disp->CreateDepthStencilView(device, pCreateInfo, pView); + return disp->CreateAttachmentView(device, pCreateInfo, pView); } LOADER_EXPORT VkResult VKAPI vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModule* pShader) @@ -1200,13 +1191,22 @@ LOADER_EXPORT VkResult VKAPI vkCreateRenderPass(VkDevice device, const VkRenderP return disp->CreateRenderPass(device, pCreateInfo, pRenderPass); } -LOADER_EXPORT void VKAPI vkCmdBeginRenderPass(VkCmdBuffer cmdBuffer, const VkRenderPassBegin* pRenderPassBegin) +LOADER_EXPORT void VKAPI vkCmdBeginRenderPass(VkCmdBuffer cmdBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkRenderPassContents contents) +{ + const VkLayerDispatchTable *disp; + + disp = loader_get_dispatch(cmdBuffer); + + disp->CmdBeginRenderPass(cmdBuffer, pRenderPassBegin, contents); +} + +LOADER_EXPORT void VKAPI vkCmdNextSubpass(VkCmdBuffer cmdBuffer, VkRenderPassContents contents) { const VkLayerDispatchTable *disp; disp = loader_get_dispatch(cmdBuffer); - disp->CmdBeginRenderPass(cmdBuffer, pRenderPassBegin); + disp->CmdNextSubpass(cmdBuffer, contents); } LOADER_EXPORT void VKAPI vkCmdEndRenderPass(VkCmdBuffer cmdBuffer) -- cgit v1.2.3