From ddbad570311fec7df635b0b6da9083be82291b50 Mon Sep 17 00:00:00 2001 From: tofunmi Date: Wed, 15 Mar 2023 18:21:18 +0000 Subject: [PATCH] Clear depth buffers in glUtil.clearOutputFrame. [GL documentation for glClear](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClear.xhtml) says "If a buffer is not present, then a glClear directed at that buffer has no effect." so it's okay to clear the depth buffer even if there isn't one set. Also manually tested to have no impact when contrast effect and dizzy crop effect form transformer demo was added to image/video input. PiperOrigin-RevId: 516879598 --- .../main/java/com/google/android/exoplayer2/util/GlUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/common/src/main/java/com/google/android/exoplayer2/util/GlUtil.java b/library/common/src/main/java/com/google/android/exoplayer2/util/GlUtil.java index 060a6f9395..4a2193326a 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/util/GlUtil.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/util/GlUtil.java @@ -433,7 +433,8 @@ public final class GlUtil { /** Fills the pixels in the current output render target with (r=0, g=0, b=0, a=0). */ public static void clearOutputFrame() throws GlException { GLES20.glClearColor(/* red= */ 0, /* green= */ 0, /* blue= */ 0, /* alpha= */ 0); - GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); + GLES20.glClearDepthf(1.0f); + GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT); GlUtil.checkGlError(); }