Skip to content

Commit acdb4be

Browse files
authored
Merge pull request #1728 from pedroSG94/fix/disable-gl-resources
disable gl resources
2 parents dd19d93 + 45109ae commit acdb4be

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+314
-93
lines changed

encoder/src/main/java/com/pedro/encoder/input/gl/render/BaseRenderOffScreen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ protected void initFBO(int width, int height, int[] fboId, int[] rboId, int[] te
7878
GLES20.glFramebufferRenderbuffer(GLES20.GL_FRAMEBUFFER, GLES20.GL_DEPTH_ATTACHMENT,
7979
GLES20.GL_RENDERBUFFER, rboId[0]);
8080

81-
GLES20.glActiveTexture(GLES20.GL_TEXTURE3);
81+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
8282
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texId[0]);
8383
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
8484
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_NEAREST);

encoder/src/main/java/com/pedro/encoder/input/gl/render/CameraRender.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ public void draw() {
119119
//draw
120120
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
121121

122+
GlUtil.disableResources(aTextureCameraHandle, aPositionHandle);
122123
GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0);
123124
GlUtil.checkGlError("drawCamera end");
124125
}

encoder/src/main/java/com/pedro/encoder/input/gl/render/ScreenRender.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,15 @@ private void draw() {
153153
GLES20.glUniformMatrix4fv(uMVPMatrixHandle, 1, false, MVPMatrix, 0);
154154
GLES20.glUniformMatrix4fv(uSTMatrixHandle, 1, false, STMatrix, 0);
155155

156-
GLES20.glUniform1i(uSamplerHandle, 5);
157-
GLES20.glActiveTexture(GLES20.GL_TEXTURE5);
156+
GLES20.glUniform1i(uSamplerHandle, 0);
157+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
158158
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texId);
159159
//draw
160160
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
161161

162162
GlUtil.checkGlError("drawScreen end");
163+
164+
GlUtil.disableResources(aTextureHandle, aPositionHandle);
163165
}
164166

165167
public void release() {

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/AnalogTVFilterRender.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,16 @@ protected void drawFilter() {
100100
if (time >= 10) START_TIME += 10000;
101101
GLES20.glUniform1f(uTimeHandle, time);
102102
GLES20.glUniform2f(uResolutionHandle, getWidth(), getHeight());
103-
GLES20.glUniform1i(uSamplerHandle, 4);
104-
GLES20.glActiveTexture(GLES20.GL_TEXTURE4);
103+
GLES20.glUniform1i(uSamplerHandle, 0);
104+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
105105
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, previousTexId);
106106
}
107107

108+
@Override
109+
protected void disableResources() {
110+
GlUtil.disableResources(aTextureHandle, aPositionHandle);
111+
}
112+
108113
@Override
109114
public void release() {
110115
GLES20.glDeleteProgram(program);

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/AndroidViewFilterRender.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,12 @@ protected void drawFilter() {
154154
GLES20.glUniformMatrix4fv(uMVPMatrixHandle, 1, false, MVPMatrix, 0);
155155
GLES20.glUniformMatrix4fv(uSTMatrixHandle, 1, false, STMatrix, 0);
156156

157-
GLES20.glUniform1i(uSamplerHandle, 4);
158-
GLES20.glActiveTexture(GLES20.GL_TEXTURE4);
157+
GLES20.glUniform1i(uSamplerHandle, 0);
158+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
159159
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, previousTexId);
160160
//android view
161-
GLES20.glUniform1i(uSamplerViewHandle, 5);
162-
GLES20.glActiveTexture(GLES20.GL_TEXTURE5);
161+
GLES20.glUniform1i(uSamplerViewHandle, 1);
162+
GLES20.glActiveTexture(GLES20.GL_TEXTURE1);
163163

164164
switch (status) {
165165
case DONE2:
@@ -174,6 +174,11 @@ protected void drawFilter() {
174174
}
175175
}
176176

177+
@Override
178+
protected void disableResources() {
179+
GlUtil.disableResources(aTextureHandle, aPositionHandle);
180+
}
181+
177182
@Override
178183
public void release() {
179184
stopRender();

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/BaseFilterRender.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,15 @@ public void draw() {
6969
GLES20.glViewport(0, 0, width, height);
7070
drawFilter();
7171
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
72+
disableResources();
7273
GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0);
7374
GlUtil.checkGlError("drawFilter end");
7475
}
7576

7677
protected abstract void drawFilter();
7778

79+
protected abstract void disableResources();
80+
7881
public void setPreviousTexId(int texId) {
7982
this.previousTexId = texId;
8083
}

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/BasicDeformationFilterRender.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,16 @@ protected void drawFilter() {
9898
if (time >= 10) START_TIME += 10000;
9999
GLES20.glUniform1f(uTimeHandle, time);
100100

101-
GLES20.glUniform1i(uSamplerHandle, 4);
102-
GLES20.glActiveTexture(GLES20.GL_TEXTURE4);
101+
GLES20.glUniform1i(uSamplerHandle, 0);
102+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
103103
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, previousTexId);
104104
}
105105

106+
@Override
107+
protected void disableResources() {
108+
GlUtil.disableResources(aTextureHandle, aPositionHandle);
109+
}
110+
106111
@Override
107112
public void release() {
108113
GLES20.glDeleteProgram(program);

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/BeautyFilterRender.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,16 @@ protected void drawFilter() {
9494
GLES20.glUniformMatrix4fv(uSTMatrixHandle, 1, false, STMatrix, 0);
9595
GLES20.glUniform2f(uResolutionHandle, 2f / getWidth(), 2f / getHeight());
9696

97-
GLES20.glUniform1i(uSamplerHandle, 4);
98-
GLES20.glActiveTexture(GLES20.GL_TEXTURE4);
97+
GLES20.glUniform1i(uSamplerHandle, 0);
98+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
9999
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, previousTexId);
100100
}
101101

102+
@Override
103+
protected void disableResources() {
104+
GlUtil.disableResources(aTextureHandle, aPositionHandle);
105+
}
106+
102107
@Override
103108
public void release() {
104109
GLES20.glDeleteProgram(program);

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/BlackFilterRender.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,16 @@ protected void drawFilter() {
9191
GLES20.glUniformMatrix4fv(uMVPMatrixHandle, 1, false, MVPMatrix, 0);
9292
GLES20.glUniformMatrix4fv(uSTMatrixHandle, 1, false, STMatrix, 0);
9393

94-
GLES20.glUniform1i(uSamplerHandle, 4);
95-
GLES20.glActiveTexture(GLES20.GL_TEXTURE4);
94+
GLES20.glUniform1i(uSamplerHandle, 0);
95+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
9696
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, previousTexId);
9797
}
9898

99+
@Override
100+
protected void disableResources() {
101+
GlUtil.disableResources(aTextureHandle, aPositionHandle);
102+
}
103+
99104
@Override
100105
public void release() {
101106
GLES20.glDeleteProgram(program);

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/BlurFilterRender.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,16 @@ protected void drawFilter() {
100100
GLES20.glUniform1f(uBlurHandle, blur);
101101
GLES20.glUniform1f(uRadiusHandle, radius);
102102

103-
GLES20.glUniform1i(uSamplerHandle, 4);
104-
GLES20.glActiveTexture(GLES20.GL_TEXTURE4);
103+
GLES20.glUniform1i(uSamplerHandle, 0);
104+
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
105105
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, previousTexId);
106106
}
107107

108+
@Override
109+
protected void disableResources() {
110+
GlUtil.disableResources(aTextureHandle, aPositionHandle);
111+
}
112+
108113
@Override
109114
public void release() {
110115
GLES20.glDeleteProgram(program);

0 commit comments

Comments
 (0)