diff options
author | Chris Craik <ccraik@google.com> | 2014-07-10 16:24:14 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2014-07-11 00:32:27 +0000 |
commit | 73842582fe1d1268fb9561a59885e1714948d737 (patch) | |
tree | 5448c4262289921f0726d575f61f4c33859d9102 /libs | |
parent | 3d4fe363b25293577faae3fddf85e6f73f76b0cd (diff) | |
download | frameworks_base-73842582fe1d1268fb9561a59885e1714948d737.zip frameworks_base-73842582fe1d1268fb9561a59885e1714948d737.tar.gz frameworks_base-73842582fe1d1268fb9561a59885e1714948d737.tar.bz2 |
Abort on shader link/compile failure
b/16207378
Change-Id: I12debb0846214a08459ad25454653a003f034402
Diffstat (limited to 'libs')
-rw-r--r-- | libs/hwui/Program.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/libs/hwui/Program.cpp b/libs/hwui/Program.cpp index ee77897..cc72ae0 100644 --- a/libs/hwui/Program.cpp +++ b/libs/hwui/Program.cpp @@ -60,7 +60,6 @@ Program::Program(const ProgramDescription& description, const char* vertex, cons GLint status; glGetProgramiv(mProgramId, GL_LINK_STATUS, &status); if (status != GL_TRUE) { - ALOGE("Error while linking shaders:"); GLint infoLen = 0; glGetProgramiv(mProgramId, GL_INFO_LOG_LENGTH, &infoLen); if (infoLen > 1) { @@ -68,14 +67,7 @@ Program::Program(const ProgramDescription& description, const char* vertex, cons glGetProgramInfoLog(mProgramId, infoLen, 0, &log[0]); ALOGE("%s", log); } - - glDetachShader(mProgramId, mVertexShader); - glDetachShader(mProgramId, mFragmentShader); - - glDeleteShader(mVertexShader); - glDeleteShader(mFragmentShader); - - glDeleteProgram(mProgramId); + LOG_ALWAYS_FATAL("Error while linking shaders"); } else { mInitialized = true; } @@ -153,8 +145,7 @@ GLuint Program::buildShader(const char* source, GLenum type) { // use a fixed size instead GLchar log[512]; glGetShaderInfoLog(shader, sizeof(log), 0, &log[0]); - ALOGE("Error while compiling shader: %s", log); - glDeleteShader(shader); + LOG_ALWAYS_FATAL("Error while compiling shader: %s", log); return 0; } |