Mercurial > sdl-ios-xcode
diff src/render/opengles2/SDL_render_gles2.c @ 5215:7b6101f3ea58
Fixed compiling source shaders
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 06 Feb 2011 10:59:37 -0800 |
parents | 115fff0641ee |
children | 25ad4a50d34f |
line wrap: on
line diff
--- a/src/render/opengles2/SDL_render_gles2.c Sun Feb 06 10:27:05 2011 -0800 +++ b/src/render/opengles2/SDL_render_gles2.c Sun Feb 06 10:59:37 2011 -0800 @@ -608,7 +608,7 @@ entry->id = glCreateShader(instance->type); 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); glGetShaderiv(entry->id, GL_COMPILE_STATUS, &compileSuccessful); } @@ -619,7 +619,22 @@ } 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); SDL_free(entry); return NULL;