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.
This commit is contained in:
Jason Ekstrand
2015-07-22 15:26:53 -07:00
parent 2c2233e328
commit c9dc1f4098

View File

@@ -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);