@@ -577,7 +577,7 @@ typedef struct VulkanSampler
577
577
typedef struct VulkanShader
578
578
{
579
579
VkShaderModule shaderModule ;
580
- const char * entrypointName ;
580
+ char * entrypointName ;
581
581
SDL_GPUShaderStage stage ;
582
582
Uint32 numSamplers ;
583
583
Uint32 numStorageTextures ;
@@ -3115,7 +3115,7 @@ static void VULKAN_INTERNAL_DestroyShader(
3115
3115
vulkanShader -> shaderModule ,
3116
3116
NULL );
3117
3117
3118
- SDL_free (( void * ) vulkanShader -> entrypointName );
3118
+ SDL_free (vulkanShader -> entrypointName );
3119
3119
SDL_free (vulkanShader );
3120
3120
}
3121
3121
@@ -6620,7 +6620,6 @@ static SDL_GPUShader *VULKAN_CreateShader(
6620
6620
VkResult vulkanResult ;
6621
6621
VkShaderModuleCreateInfo vkShaderModuleCreateInfo ;
6622
6622
VulkanRenderer * renderer = (VulkanRenderer * )driverData ;
6623
- size_t entryPointNameLength ;
6624
6623
6625
6624
vulkanShader = SDL_malloc (sizeof (VulkanShader ));
6626
6625
vkShaderModuleCreateInfo .sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ;
@@ -6640,10 +6639,11 @@ static SDL_GPUShader *VULKAN_CreateShader(
6640
6639
CHECK_VULKAN_ERROR_AND_RETURN (vulkanResult , vkCreateShaderModule , NULL );
6641
6640
}
6642
6641
6643
- entryPointNameLength = SDL_strlen (createinfo -> entrypoint ) + 1 ;
6644
- vulkanShader -> entrypointName = SDL_malloc (entryPointNameLength );
6645
- SDL_utf8strlcpy ((char * )vulkanShader -> entrypointName , createinfo -> entrypoint , entryPointNameLength );
6646
-
6642
+ const char * entrypoint = createinfo -> entrypoint ;
6643
+ if (!entrypoint ) {
6644
+ entrypoint = "main" ;
6645
+ }
6646
+ vulkanShader -> entrypointName = SDL_strdup (entrypoint );
6647
6647
vulkanShader -> stage = createinfo -> stage ;
6648
6648
vulkanShader -> numSamplers = createinfo -> num_samplers ;
6649
6649
vulkanShader -> numStorageTextures = createinfo -> num_storage_textures ;
0 commit comments