aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-24 18:24:19 -0600
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-07-01 21:08:13 -0600
commita80a1a97b8f26dd035fabb2c6762447c71b73ba7 (patch)
tree5bb97b3f4a60e230bcf1f0f58506df23f61d11c6 /loader
parent58d1fc661197d73b789f5d8628cbf3393529699b (diff)
downloadusermoji-a80a1a97b8f26dd035fabb2c6762447c71b73ba7.tar.xz
bug-14014: Allow multiple entrypoints in modules
Continue implementation of shader module.
Diffstat (limited to 'loader')
-rw-r--r--loader/gpa_helper.h2
-rw-r--r--loader/table_ops.h3
-rw-r--r--loader/trampoline.c9
3 files changed, 14 insertions, 0 deletions
diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h
index a51112ce..02e33416 100644
--- a/loader/gpa_helper.h
+++ b/loader/gpa_helper.h
@@ -139,6 +139,8 @@ static inline void* globalGetProcAddr(const char *name)
return (void*) vkCreateColorAttachmentView;
if (!strcmp(name, "CreateDepthStencilView"))
return (void*) vkCreateDepthStencilView;
+ if (!strcmp(name, "CreateShaderModule"))
+ return (void*) vkCreateShaderModule;
if (!strcmp(name, "CreateShader"))
return (void*) vkCreateShader;
if (!strcmp(name, "CreateGraphicsPipeline"))
diff --git a/loader/table_ops.h b/loader/table_ops.h
index a657d552..a29324fd 100644
--- a/loader/table_ops.h
+++ b/loader/table_ops.h
@@ -74,6 +74,7 @@ static inline void loader_init_device_dispatch_table(VkLayerDispatchTable *table
table->CreateImageView = (PFN_vkCreateImageView) gpa(dev, "vkCreateImageView");
table->CreateColorAttachmentView = (PFN_vkCreateColorAttachmentView) gpa(dev, "vkCreateColorAttachmentView");
table->CreateDepthStencilView = (PFN_vkCreateDepthStencilView) gpa(dev, "vkCreateDepthStencilView");
+ table->CreateShaderModule = (PFN_vkCreateShaderModule) gpa(dev, "vkCreateShaderModule");
table->CreateShader = (PFN_vkCreateShader) gpa(dev, "vkCreateShader");
table->CreateGraphicsPipeline = (PFN_vkCreateGraphicsPipeline) gpa(dev, "vkCreateGraphicsPipeline");
table->CreateGraphicsPipelineDerivative = (PFN_vkCreateGraphicsPipelineDerivative) gpa(dev, "vkCreateGraphicsPipelineDerivative");
@@ -226,6 +227,8 @@ static inline void *loader_lookup_device_dispatch_table(
return (void *) table->CreateColorAttachmentView;
if (!strcmp(name, "CreateDepthStencilView"))
return (void *) table->CreateDepthStencilView;
+ if (!strcmp(name, "CreateShaderModule"))
+ return (void *) table->CreateShaderModule;
if (!strcmp(name, "CreateShader"))
return (void *) table->CreateShader;
if (!strcmp(name, "CreateGraphicsPipeline"))
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 1f96b3b8..24d3a60b 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -615,6 +615,15 @@ LOADER_EXPORT VkResult VKAPI vkCreateDepthStencilView(VkDevice device, const VkD
return disp->CreateDepthStencilView(device, pCreateInfo, pView);
}
+LOADER_EXPORT VkResult VKAPI vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModule* pShader)
+{
+ const VkLayerDispatchTable *disp;
+
+ disp = loader_get_dispatch(device);
+
+ return disp->CreateShaderModule(device, pCreateInfo, pShader);
+}
+
LOADER_EXPORT VkResult VKAPI vkCreateShader(VkDevice device, const VkShaderCreateInfo* pCreateInfo, VkShader* pShader)
{
const VkLayerDispatchTable *disp;