From c9dc1f409817379c8ae9655cade54d0872aa86fe Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 22 Jul 2015 15:26:53 -0700 Subject: vk/pipeline: Be more sloppy about shader entrypoint names The CTS passes in NULL names right now. It's not too hard to support that as just "main". With this, and a patch to vulkancts, we now pass all 6 tests. --- src/vulkan/anv_pipeline.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/vulkan/anv_pipeline.c b/src/vulkan/anv_pipeline.c index 817b644eefb..5aeacefddf6 100644 --- a/src/vulkan/anv_pipeline.c +++ b/src/vulkan/anv_pipeline.c @@ -79,9 +79,10 @@ VkResult anv_CreateShader( assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_SHADER_CREATE_INFO); assert(pCreateInfo->flags == 0); - size_t name_len = strlen(pCreateInfo->pName); + const char *name = pCreateInfo->pName ? pCreateInfo->pName : "main"; + size_t name_len = strlen(name); - if (strcmp(pCreateInfo->pName, "main") != 0) { + if (strcmp(name, "main") != 0) { anv_finishme("Multiple shaders per module not really supported"); } @@ -91,7 +92,7 @@ VkResult anv_CreateShader( return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY); shader->module = module; - memcpy(shader->entrypoint, pCreateInfo->pName, name_len + 1); + memcpy(shader->entrypoint, name, name_len + 1); *pShader = anv_shader_to_handle(shader); -- cgit v1.2.3