Fixed compiling source shaders
This commit is contained in:
parent
4bb96bede2
commit
3fd1264194
1 changed files with 17 additions and 2 deletions
|
@ -608,7 +608,7 @@ GLES2_CacheShader(SDL_Renderer *renderer, GLES2_ShaderType type, SDL_BlendMode b
|
||||||
entry->id = glCreateShader(instance->type);
|
entry->id = glCreateShader(instance->type);
|
||||||
if (instance->format == (GLenum)-1)
|
if (instance->format == (GLenum)-1)
|
||||||
{
|
{
|
||||||
glShaderSource(entry->id, 1, (const char **)&instance->data, &instance->length);
|
glShaderSource(entry->id, 1, (const char **)&instance->data, NULL);
|
||||||
glCompileShader(entry->id);
|
glCompileShader(entry->id);
|
||||||
glGetShaderiv(entry->id, GL_COMPILE_STATUS, &compileSuccessful);
|
glGetShaderiv(entry->id, GL_COMPILE_STATUS, &compileSuccessful);
|
||||||
}
|
}
|
||||||
|
@ -619,7 +619,22 @@ GLES2_CacheShader(SDL_Renderer *renderer, GLES2_ShaderType type, SDL_BlendMode b
|
||||||
}
|
}
|
||||||
if (glGetError() != GL_NO_ERROR || !compileSuccessful)
|
if (glGetError() != GL_NO_ERROR || !compileSuccessful)
|
||||||
{
|
{
|
||||||
SDL_SetError("Failed to load the specified shader");
|
char *info = NULL;
|
||||||
|
int length;
|
||||||
|
|
||||||
|
glGetShaderiv(entry->id, GL_INFO_LOG_LENGTH, &length);
|
||||||
|
if (length > 0) {
|
||||||
|
info = SDL_stack_alloc(char, length);
|
||||||
|
if (info) {
|
||||||
|
glGetShaderInfoLog(entry->id, length, &length, info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (info) {
|
||||||
|
SDL_SetError("Failed to load the shader: %s", info);
|
||||||
|
SDL_stack_free(info);
|
||||||
|
} else {
|
||||||
|
SDL_SetError("Failed to load the shader");
|
||||||
|
}
|
||||||
glDeleteShader(entry->id);
|
glDeleteShader(entry->id);
|
||||||
SDL_free(entry);
|
SDL_free(entry);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue