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]);
|
GLES20.glUseProgram(lineProgram[mode]);
|
||||||
|
|
||||||
int va = hLineVertexPosition[mode];
|
int va = hLineVertexPosition[mode];
|
||||||
if (!GLRenderer.vertexArray[va]) {
|
//if (!GLRenderer.vertexArray[va]) {
|
||||||
GLES20.glEnableVertexAttribArray(va);
|
GLES20.glEnableVertexAttribArray(va);
|
||||||
GLRenderer.vertexArray[va] = true;
|
// GLRenderer.vertexArray[va] = true;
|
||||||
}
|
//}
|
||||||
|
|
||||||
va = hLineTexturePosition[mode];
|
va = hLineTexturePosition[mode];
|
||||||
if (!GLRenderer.vertexArray[va]) {
|
//if (!GLRenderer.vertexArray[va]) {
|
||||||
GLES20.glEnableVertexAttribArray(va);
|
GLES20.glEnableVertexAttribArray(va);
|
||||||
GLRenderer.vertexArray[va] = true;
|
// GLRenderer.vertexArray[va] = true;
|
||||||
}
|
//}
|
||||||
|
|
||||||
// GLES20.glEnableVertexAttribArray(hLineVertexPosition[mode]);
|
// GLES20.glEnableVertexAttribArray(hLineVertexPosition[mode]);
|
||||||
// GLES20.glEnableVertexAttribArray(hLineTexturePosition[mode]);
|
// GLES20.glEnableVertexAttribArray(hLineTexturePosition[mode]);
|
||||||
@ -215,8 +215,8 @@ public final class LineRenderer {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// GLES20.glDisableVertexAttribArray(hLineVertexPosition[mode]);
|
GLES20.glDisableVertexAttribArray(hLineVertexPosition[mode]);
|
||||||
// GLES20.glDisableVertexAttribArray(hLineTexturePosition[mode]);
|
GLES20.glDisableVertexAttribArray(hLineTexturePosition[mode]);
|
||||||
|
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
@ -169,15 +169,15 @@ public final class PolygonRenderer {
|
|||||||
glUseProgram(polygonProgram);
|
glUseProgram(polygonProgram);
|
||||||
|
|
||||||
int va = hPolygonVertexPosition;
|
int va = hPolygonVertexPosition;
|
||||||
if (!GLRenderer.vertexArray[va]) {
|
//if (!GLRenderer.vertexArray[va]) {
|
||||||
GLES20.glEnableVertexAttribArray(va);
|
GLES20.glEnableVertexAttribArray(va);
|
||||||
GLRenderer.vertexArray[va] = true;
|
// GLRenderer.vertexArray[va] = true;
|
||||||
}
|
//}
|
||||||
va = va == 0 ? 1 : 0;
|
//va = va == 0 ? 1 : 0;
|
||||||
if (GLRenderer.vertexArray[va]) {
|
//if (GLRenderer.vertexArray[va]) {
|
||||||
GLES20.glDisableVertexAttribArray(va);
|
// GLES20.glDisableVertexAttribArray(va);
|
||||||
GLRenderer.vertexArray[va] = false;
|
// GLRenderer.vertexArray[va] = false;
|
||||||
}
|
//}
|
||||||
// GLES20.glEnableVertexAttribArray(hPolygonVertexPosition);
|
// GLES20.glEnableVertexAttribArray(hPolygonVertexPosition);
|
||||||
|
|
||||||
glVertexAttribPointer(hPolygonVertexPosition, 2, GLES20.GL_SHORT,
|
glVertexAttribPointer(hPolygonVertexPosition, 2, GLES20.GL_SHORT,
|
||||||
@ -299,7 +299,7 @@ public final class PolygonRenderer {
|
|||||||
if (clip && first)
|
if (clip && first)
|
||||||
drawDepthClip();
|
drawDepthClip();
|
||||||
|
|
||||||
// GLES20.glDisableVertexAttribArray(hPolygonVertexPosition);
|
GLES20.glDisableVertexAttribArray(hPolygonVertexPosition);
|
||||||
|
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
@ -98,16 +98,16 @@ public final class TextureRenderer {
|
|||||||
GLES20.glUseProgram(mTextureProgram);
|
GLES20.glUseProgram(mTextureProgram);
|
||||||
|
|
||||||
int va = hTextureTexCoord;
|
int va = hTextureTexCoord;
|
||||||
if (!GLRenderer.vertexArray[va]) {
|
//if (!GLRenderer.vertexArray[va]) {
|
||||||
GLES20.glEnableVertexAttribArray(va);
|
GLES20.glEnableVertexAttribArray(va);
|
||||||
GLRenderer.vertexArray[va] = true;
|
// GLRenderer.vertexArray[va] = true;
|
||||||
}
|
//}
|
||||||
|
|
||||||
va = hTextureVertex;
|
va = hTextureVertex;
|
||||||
if (!GLRenderer.vertexArray[va]) {
|
//if (!GLRenderer.vertexArray[va]) {
|
||||||
GLES20.glEnableVertexAttribArray(va);
|
GLES20.glEnableVertexAttribArray(va);
|
||||||
GLRenderer.vertexArray[va] = true;
|
// GLRenderer.vertexArray[va] = true;
|
||||||
}
|
//}
|
||||||
|
|
||||||
TextureLayer tl = (TextureLayer) layer;
|
TextureLayer tl = (TextureLayer) layer;
|
||||||
|
|
||||||
@ -155,6 +155,9 @@ public final class TextureRenderer {
|
|||||||
|
|
||||||
// GlUtils.checkGlError("< draw texture");
|
// GlUtils.checkGlError("< draw texture");
|
||||||
|
|
||||||
|
GLES20.glDisableVertexAttribArray(hTextureVertex);
|
||||||
|
GLES20.glDisableVertexAttribArray(hTextureTexCoord);
|
||||||
|
|
||||||
return layer.next;
|
return layer.next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user