diff options
| author | Cody Northrop <cody@lunarg.com> | 2015-07-09 18:08:05 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-07-17 10:05:20 -0600 |
| commit | e91de3b255afc4a84b5bd7a6815278646beee60d (patch) | |
| tree | 1e64e33616e2a78f4e35aaa22828220e41e8e58a /loader | |
| parent | 860c33b07f995910cf266993a126f67ec641aab1 (diff) | |
| download | usermoji-e91de3b255afc4a84b5bd7a6815278646beee60d.tar.xz | |
icd: Support for command pools
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/gpa_helper.h | 6 | ||||
| -rw-r--r-- | loader/loader.c | 2 | ||||
| -rw-r--r-- | loader/table_ops.h | 9 | ||||
| -rw-r--r-- | loader/trampoline.c | 31 |
4 files changed, 45 insertions, 3 deletions
diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h index a6d88085..08d3b60d 100644 --- a/loader/gpa_helper.h +++ b/loader/gpa_helper.h @@ -227,6 +227,12 @@ static inline void* globalGetProcAddr(const char *name) return (void*) vkCreateDynamicDepthStencilState; if (!strcmp(name, "DestroyDynamicDepthStencilState")) return (void*) vkDestroyDynamicDepthStencilState; + if (!strcmp(name, "CreateCommandPool")) + return (void*) vkCreateCommandPool; + if (!strcmp(name, "DestroyCommandPool")) + return (void*) vkDestroyCommandPool; + if (!strcmp(name, "ResetCommandPool")) + return (void*) vkResetCommandPool; if (!strcmp(name, "CreateCommandBuffer")) return (void*) vkCreateCommandBuffer; if (!strcmp(name, "DestroyCommandBuffer")) diff --git a/loader/loader.c b/loader/loader.c index 20ff816c..75701cf2 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -2331,7 +2331,7 @@ VkResult loader_validate_instance_extensions( VkResult loader_validate_device_extensions( struct loader_icd *icd, - u_int32_t gpu_index, + uint32_t gpu_index, const VkDeviceCreateInfo *pCreateInfo) { struct loader_extension_property *extension_prop; diff --git a/loader/table_ops.h b/loader/table_ops.h index 601be425..9bcd1296 100644 --- a/loader/table_ops.h +++ b/loader/table_ops.h @@ -118,6 +118,9 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table table->DestroyDynamicColorBlendState = (PFN_vkDestroyDynamicColorBlendState) gpa(dev, "vkDestroyDynamicColorBlendState"); table->CreateDynamicDepthStencilState = (PFN_vkCreateDynamicDepthStencilState) gpa(dev, "vkCreateDynamicDepthStencilState"); table->DestroyDynamicDepthStencilState = (PFN_vkDestroyDynamicDepthStencilState) gpa(dev, "vkDestroyDynamicDepthStencilState"); + table->CreateCommandPool = (PFN_vkCreateCommandPool) gpa(dev, "vkCreateCommandPool"); + table->DestroyCommandPool = (PFN_vkDestroyCommandPool) gpa(dev, "vkDestroyCommandPool"); + table->ResetCommandPool = (PFN_vkResetCommandPool) gpa(dev, "vkResetCommandPool"); table->CreateCommandBuffer = (PFN_vkCreateCommandBuffer) gpa(dev, "vkCreateCommandBuffer"); table->DestroyCommandBuffer = (PFN_vkDestroyCommandBuffer) gpa(dev, "vkDestroyCommandBuffer"); table->BeginCommandBuffer = (PFN_vkBeginCommandBuffer) gpa(dev, "vkBeginCommandBuffer"); @@ -347,6 +350,12 @@ static inline void *loader_lookup_device_dispatch_table( return (void *) table->CreateDynamicDepthStencilState; if (!strcmp(name, "DestroyDynamicDepthStencilState")) return (void *) table->DestroyDynamicDepthStencilState; + if (!strcmp(name, "CreateCommandPool")) + return (void *) table->CreateCommandPool; + if (!strcmp(name, "DestroyCommandPool")) + return (void *) table->DestroyCommandPool; + if (!strcmp(name, "ResetCommandPool")) + return (void *) table->ResetCommandPool; if (!strcmp(name, "CreateCommandBuffer")) return (void *) table->CreateCommandBuffer; if (!strcmp(name, "DestroyCommandBuffer")) diff --git a/loader/trampoline.c b/loader/trampoline.c index 0e102741..183062c4 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -1052,6 +1052,33 @@ LOADER_EXPORT VkResult VKAPI vkDestroyDynamicDepthStencilState(VkDevice device, return disp->DestroyDynamicDepthStencilState(device, dynamicDepthStencilState); } +LOADER_EXPORT VkResult VKAPI vkCreateCommandPool(VkDevice device, const VkCmdPoolCreateInfo* pCreateInfo, VkCmdPool* pCmdPool) +{ + const VkLayerDispatchTable *disp; + + disp = loader_get_dispatch(device); + + return disp->CreateCommandPool(device, pCreateInfo, pCmdPool); +} + +LOADER_EXPORT VkResult VKAPI vkDestroyCommandPool(VkDevice device, VkCmdPool cmdPool) +{ + const VkLayerDispatchTable *disp; + + disp = loader_get_dispatch(device); + + return disp->DestroyCommandPool(device, cmdPool); +} + +LOADER_EXPORT VkResult VKAPI vkResetCommandPool(VkDevice device, VkCmdPool cmdPool, VkCmdPoolResetFlags flags) +{ + const VkLayerDispatchTable *disp; + + disp = loader_get_dispatch(device); + + return disp->ResetCommandPool(device, cmdPool, flags); +} + LOADER_EXPORT VkResult VKAPI vkCreateCommandBuffer(VkDevice device, const VkCmdBufferCreateInfo* pCreateInfo, VkCmdBuffer* pCmdBuffer) { const VkLayerDispatchTable *disp; @@ -1094,13 +1121,13 @@ LOADER_EXPORT VkResult VKAPI vkEndCommandBuffer(VkCmdBuffer cmdBuffer) return disp->EndCommandBuffer(cmdBuffer); } -LOADER_EXPORT VkResult VKAPI vkResetCommandBuffer(VkCmdBuffer cmdBuffer) +LOADER_EXPORT VkResult VKAPI vkResetCommandBuffer(VkCmdBuffer cmdBuffer, VkCmdBufferResetFlags flags) { const VkLayerDispatchTable *disp; disp = loader_get_dispatch(cmdBuffer); - return disp->ResetCommandBuffer(cmdBuffer); + return disp->ResetCommandBuffer(cmdBuffer, flags); } LOADER_EXPORT void VKAPI vkCmdBindPipeline(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) |
