always (re-)set VertexAttribArray state, solves issue with gl hanging on S3
This commit is contained in:
parent
adc808f505
commit
64c56ce7df
@ -91,16 +91,16 @@ public final class LineRenderer {
|
||||
GLES20.glUseProgram(lineProgram[mode]);
|
||||
|
||||
int va = hLineVertexPosition[mode];
|
||||
if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
GLRenderer.vertexArray[va] = true;
|
||||
}
|
||||
//if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
// GLRenderer.vertexArray[va] = true;
|
||||
//}
|
||||
|
||||
va = hLineTexturePosition[mode];
|
||||
if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
GLRenderer.vertexArray[va] = true;
|
||||
}
|
||||
//if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
// GLRenderer.vertexArray[va] = true;
|
||||
//}
|
||||
|
||||
// GLES20.glEnableVertexAttribArray(hLineVertexPosition[mode]);
|
||||
// GLES20.glEnableVertexAttribArray(hLineTexturePosition[mode]);
|
||||
@ -215,8 +215,8 @@ public final class LineRenderer {
|
||||
|
||||
}
|
||||
|
||||
// GLES20.glDisableVertexAttribArray(hLineVertexPosition[mode]);
|
||||
// GLES20.glDisableVertexAttribArray(hLineTexturePosition[mode]);
|
||||
GLES20.glDisableVertexAttribArray(hLineVertexPosition[mode]);
|
||||
GLES20.glDisableVertexAttribArray(hLineTexturePosition[mode]);
|
||||
|
||||
return l;
|
||||
}
|
||||
|
@ -169,15 +169,15 @@ public final class PolygonRenderer {
|
||||
glUseProgram(polygonProgram);
|
||||
|
||||
int va = hPolygonVertexPosition;
|
||||
if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
GLRenderer.vertexArray[va] = true;
|
||||
}
|
||||
va = va == 0 ? 1 : 0;
|
||||
if (GLRenderer.vertexArray[va]) {
|
||||
GLES20.glDisableVertexAttribArray(va);
|
||||
GLRenderer.vertexArray[va] = false;
|
||||
}
|
||||
//if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
// GLRenderer.vertexArray[va] = true;
|
||||
//}
|
||||
//va = va == 0 ? 1 : 0;
|
||||
//if (GLRenderer.vertexArray[va]) {
|
||||
// GLES20.glDisableVertexAttribArray(va);
|
||||
// GLRenderer.vertexArray[va] = false;
|
||||
//}
|
||||
// GLES20.glEnableVertexAttribArray(hPolygonVertexPosition);
|
||||
|
||||
glVertexAttribPointer(hPolygonVertexPosition, 2, GLES20.GL_SHORT,
|
||||
@ -299,7 +299,7 @@ public final class PolygonRenderer {
|
||||
if (clip && first)
|
||||
drawDepthClip();
|
||||
|
||||
// GLES20.glDisableVertexAttribArray(hPolygonVertexPosition);
|
||||
GLES20.glDisableVertexAttribArray(hPolygonVertexPosition);
|
||||
|
||||
return l;
|
||||
}
|
||||
|
@ -98,16 +98,16 @@ public final class TextureRenderer {
|
||||
GLES20.glUseProgram(mTextureProgram);
|
||||
|
||||
int va = hTextureTexCoord;
|
||||
if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
GLRenderer.vertexArray[va] = true;
|
||||
}
|
||||
//if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
// GLRenderer.vertexArray[va] = true;
|
||||
//}
|
||||
|
||||
va = hTextureVertex;
|
||||
if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
GLRenderer.vertexArray[va] = true;
|
||||
}
|
||||
//if (!GLRenderer.vertexArray[va]) {
|
||||
GLES20.glEnableVertexAttribArray(va);
|
||||
// GLRenderer.vertexArray[va] = true;
|
||||
//}
|
||||
|
||||
TextureLayer tl = (TextureLayer) layer;
|
||||
|
||||
@ -155,6 +155,9 @@ public final class TextureRenderer {
|
||||
|
||||
// GlUtils.checkGlError("< draw texture");
|
||||
|
||||
GLES20.glDisableVertexAttribArray(hTextureVertex);
|
||||
GLES20.glDisableVertexAttribArray(hTextureTexCoord);
|
||||
|
||||
return layer.next;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user