2013-11-02 61 views
8

我們的代碼在Canvas上執行非常簡單的操作(完全在UI線程中):drawText,translate,save,restore。來自OpenGLRenderer的GL錯誤:0x502

偶爾,我們得到這個(在Nexus 4搭載4.3):

W/Adreno200-ES20(22118): <gl_draw_error_checks:550>: GL_INVALID_OPERATION 
D/OpenGLRenderer(22118): GL error from OpenGLRenderer: 0x502 
E/OpenGLRenderer(22118): GL_INVALID_OPERATION 

和相應的文本不會畫到畫布上。

一個問題是它隨機發生。該代碼可能無誤地工作10到20個電話,然後會出現這個錯誤,然後再次返回到正常工作的另一個10-20個電話。

編輯:這裏是跟蹤:

glEnable(cap = GL_BLEND) 
glViewport(x = 0, y = 0, width = 768, height = 1184) 
glStartTilingQCOM(x = 0, y = 0, width = 768, height = 1134, preserveMask = 0) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 37) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 2048) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 1400, yoffset = 61, width = 448, height = 239, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x768d1d80) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glEnable(cap = GL_SCISSOR_TEST) 
glScissor(x = 0, y = 0, width = 768, height = 1134) 
glDisable(cap = GL_BLEND) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 2) 
glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 3) 
glVertexAttribPointer(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x0) 
glVertexAttribPointer(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x8) 
glDrawArrays(mode = GL_MAP_INVALIDATE_RANGE_BIT, first = 0, count = 6) 
glDisable(cap = GL_SCISSOR_TEST) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 50.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 3) 
glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 4) 
glVertexAttribPointer(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x0) 
glVertexAttribPointer(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x8) 
glDrawArrays(mode = GL_MAP_INVALIDATE_RANGE_BIT, first = 0, count = 54) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1088.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 21) 
glDrawArrays(mode = GL_MAP_INVALIDATE_RANGE_BIT, first = 0, count = 54) 
glEnable(cap = GL_SCISSOR_TEST) 
glScissor(x = 264, y = 644, width = 240, height = 378) 
glEnable(cap = GL_BLEND) 
glUseProgram(program = 6) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.392157, y = 0.705882, z = 1.000000, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 0, yoffset = 0, width = 218, height = 220, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c0d008) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindBuffer(target = GL_ELEMENT_ARRAY_BUFFER, buffer = 2) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointer(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x74d1f008) 
glVertexAttribPointer(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x74d1f010) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 6, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glScissor(x = 16, y = 96, width = 736, height = 480) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.196078, y = 0.196078, z = 0.196078, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 220, yoffset = 0, width = 15, height = 17, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c0d0e4) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointer(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x74d1f008) 
glVertexAttribPointer(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x74d1f010) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 4) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 4) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 6, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.196078, y = 0.196078, z = 0.196078, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 220, yoffset = 0, width = 46, height = 36, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c0d0e4) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 12) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 12) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 18, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.196078, y = 0.196078, z = 0.196078, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 220, yoffset = 35, width = 16, height = 17, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c15ce4) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 4) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 4) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 6, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glDisable(cap = GL_SCISSOR_TEST) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.196078, y = 0.196078, z = 0.196078, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 220, yoffset = 0, width = 80, height = 226, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c0d0e4) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 148) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 148) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 222, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.752941, y = 0.188235, z = 0.188235, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 220, yoffset = 0, width = 140, height = 319, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c0d0e4) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 108) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 108) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 162, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glEnable(cap = GL_SCISSOR_TEST) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.752941, y = 0.188235, z = 0.188235, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 220, yoffset = 74, width = 78, height = 316, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c1f8e4) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 52) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 52) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 78, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glDisable(cap = GL_SCISSOR_TEST) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.501961, y = 0.690196, z = 1.000000, w = 1.000000) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 220, yoffset = 89, width = 138, height = 328, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c234e4) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 60) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 60) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 90, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glEnable(cap = GL_SCISSOR_TEST) 
glScissor(x = 264, y = 644, width = 240, height = 378) 
glUseProgram(program = 3) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]) 
glPixelStorei(pname = GL_UNPACK_ALIGNMENT, param = 1) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 1024) 
glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 300, yoffset = 0, width = 99, height = 209, format = GL_ALPHA, type = GL_UNSIGNED_BYTE, pixels = 0x74c0d134) 
glPixelStorei(pname = GL_UNPACK_ROW_LENGTH, param = 0) 
glBindTexture(target = GL_TEXTURE_2D, texture = 1) 
glVertexAttribPointerData(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 12) 
glVertexAttribPointerData(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x??, minIndex = 0, maxIndex = 12) 
glDrawElements(mode = GL_MAP_INVALIDATE_RANGE_BIT, count = 18, type = GL_UNSIGNED_SHORT, indices = 0x0) 
glDisable(cap = GL_SCISSOR_TEST) 
glDisableVertexAttribArray(index = 1) 
glDisable(cap = GL_BLEND) 
glUseProgram(program = 9) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [16.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 128.0, 573.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.376471, y = 0.376471, z = 0.376471, w = 1.000000) 
glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1) 
glVertexAttribPointer(indx = 0, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x0) 
glBindBuffer(target = GL_ELEMENT_ARRAY_BUFFER, buffer = 0) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [16.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 624.0, 573.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.376471, y = 0.376471, z = 0.376471, w = 1.000000) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [480.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 144.0, 573.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.376471, y = 0.376471, z = 0.376471, w = 1.000000) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 2, count = 1, transpose = false, value = [480.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 144.0, 573.0, 0.0, 1.0]) 
glUniform4f(location = 0, x = 0.376471, y = 0.376471, z = 0.376471, w = 1.000000) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glEnable(cap = GL_BLEND) 
glUseProgram(program = 3) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 672.0, 542.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 22) 
glEnableVertexAttribArray(index = 1) 
glVertexAttribPointer(indx = 1, size = 2, type = GL_FLOAT, normalized = false, stride = 16, ptr = 0x8) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 25.0, 66.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 4) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [72.0, 0.0, 0.0, 0.0, 0.0, 72.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 492.0, 62.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 23) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 592.0, 66.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 32) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 688.0, 66.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 25) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 32.0, 1103.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 26) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 160.0, 1104.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 27) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 288.0, 1104.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 28) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 416.0, 1104.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 29) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 544.0, 1104.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 30) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glUniformMatrix4fv(location = 0, count = 1, transpose = false, value = [0.0026041667, 0.0, 0.0, 0.0, 0.0, -0.0016891892, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -1.0, 1.0, -0.0, 1.0]) 
glUniformMatrix4fv(location = 1, count = 1, transpose = false, value = [64.0, 0.0, 0.0, 0.0, 0.0, 64.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 672.0, 1104.0, 0.0, 1.0]) 
glBindTexture(target = GL_TEXTURE_2D, texture = 14) 
glDrawArrays(mode = GL_TRIANGLE_STRIP, first = 0, count = 4) 
glEndTilingQCOM(preserveMask = 1) 
glGetError(void) = (GLenum) GL_INVALID_OPERATION 
glGetError(void) = (GLenum) GL_NO_ERROR 
eglSwapBuffers 
+1

不幸的是,你還沒有給出足夠的信息來真正回答這個問題......至少,你是否有一些GL API調用,假設你不能共享源代碼。 –

+0

感謝您的提示。我編輯了這個問題。 –

+0

您是否在onDraw()中檢索的畫布上繪圖? – Sipka

回答

1

如果關閉硬件加速,這個錯誤不會發生。

在自定義視圖的構造函數:

setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

注:我不會接受這個答案(還),因爲它更是一個解決方法不是一個妥善的解決辦法。希望有更明確的東西...