Abort on shader link/compile failure

b/16207378

Change-Id: I12debb0846214a08459ad25454653a003f034402
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 @@
             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 @@
                     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 @@
         // 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;
     }