Fix resource leaks in arrays_of_arrays
authorMark Adams <marka@nvidia.com>
Fri, 3 Aug 2018 21:47:39 +0000 (17:47 -0400)
committerMark Adams <marka@nvidia.com>
Fri, 3 Aug 2018 21:47:39 +0000 (17:47 -0400)
The compute shader variants of the subroutine tests weren't freeing
the programs and not resetting all state. This resulted in leaked
memory on each test iteration.

VK-GL-CTS issue: 1298

Components: OpenGL

Affects:
KHR-GL*.arrays_of_arrays_gl.Subroutine*

Change-Id: Ia2152476c12f2141698dadd1b208090b28756ce3

external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp

index db4e354..de5a07b 100644 (file)
@@ -9181,6 +9181,13 @@ void SubroutineFunctionCalls1<API>::execute_dispatch_test(typename TestCaseBase<
        }
 
        /* Delete generated objects. */
+       gl.useProgram(0);
+       gl.bindTexture(GL_TEXTURE_2D, 0);
+       gl.bindFramebuffer(GL_FRAMEBUFFER, 0);
+
+       gl.deleteProgram(this->program_object_id);
+       this->program_object_id = 0;
+
        gl.deleteTextures(1, &texture_object_id);
        gl.deleteFramebuffers(1, &framebuffer_object_id);
        GLU_EXPECT_NO_ERROR(gl.getError(), "An error ocurred while deleting generated objects.");