From: Ian Romanick <ian.d.roman...@intel.com>

Every pass through piglit_display leaked a big pile of stuff.

Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>
---
 .../spec/arb_direct_state_access/texture-buffer.c  | 59 ++++++++++++----------
 1 file changed, 32 insertions(+), 27 deletions(-)

diff --git a/tests/spec/arb_direct_state_access/texture-buffer.c 
b/tests/spec/arb_direct_state_access/texture-buffer.c
index 58015b4..a82f279 100644
--- a/tests/spec/arb_direct_state_access/texture-buffer.c
+++ b/tests/spec/arb_direct_state_access/texture-buffer.c
@@ -40,45 +40,40 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
                               PIGLIT_GL_VISUAL_RGBA;
 PIGLIT_GL_TEST_CONFIG_END
 
+static const char vs_source[] =
+       "#version 140\n"
+       "in vec4 piglit_vertex;\n"
+       "void main()\n"
+       "{\n"
+       "       gl_Position = piglit_vertex;\n"
+       "}\n"
+       ;
+
+static const char fs_source[] =
+       "#version 140\n"
+       "uniform samplerBuffer s;\n"
+       "void main()\n"
+       "{\n"
+       "       gl_FragColor = texelFetch(s, 0);\n"
+       "}\n"
+       ;
+
+static GLuint prog;
+static GLuint tex;
+static GLuint bo;
+
 enum piglit_result
 piglit_display(void)
 {
-       static const char *vs_source =
-               "#version 140\n"
-               "in vec4 piglit_vertex;\n"
-               "void main()\n"
-               "{\n"
-               "       gl_Position = piglit_vertex;\n"
-               "}\n";
-
-       static const char *fs_source =
-               "#version 140\n"
-               "uniform samplerBuffer s;\n"
-               "void main()\n"
-               "{\n"
-               "       gl_FragColor = texelFetch(s, 0);\n"
-               "}\n";
 
        bool pass = true;
-       GLuint tex, bo;
-       GLuint prog;
        static const float green[] = {0, 1, 0, 0};
        static const float blue[] =  {0, 0, 1, 0};
        static const uint8_t g_rgba8[] = {0x00, 0xff, 0x00, 0x00};
        static const uint8_t b_rgba8[] = {0x00, 0x00, 0xff, 0x00};
 
-       prog = piglit_build_simple_program(vs_source, fs_source);
-       glUseProgram(prog);
-
-       glGenBuffers(1, &bo);
-       glBindBuffer(GL_TEXTURE_BUFFER, bo);
        glBufferData(GL_TEXTURE_BUFFER, sizeof(g_rgba8), g_rgba8,
                     GL_STREAM_DRAW);
-
-       glCreateTextures(GL_TEXTURE_BUFFER, 1, &tex);
-       glTextureBuffer(tex, GL_RGBA8, bo);
-       glBindTextureUnit(0, tex);
-
        piglit_draw_rect(-1, -1, 1, 2);
        glBufferData(GL_TEXTURE_BUFFER, sizeof(b_rgba8), b_rgba8,
                     GL_STREAM_DRAW);
@@ -105,4 +100,14 @@ piglit_init(int argc, char **argv)
        piglit_require_GLSL_version(140);
        if (piglit_get_gl_version() < 31)
                piglit_require_extension("GL_ARB_texture_buffer_object");
+
+       prog = piglit_build_simple_program(vs_source, fs_source);
+       glUseProgram(prog);
+
+       glGenBuffers(1, &bo);
+       glBindBuffer(GL_TEXTURE_BUFFER, bo);
+
+       glCreateTextures(GL_TEXTURE_BUFFER, 1, &tex);
+       glTextureBuffer(tex, GL_RGBA8, bo);
+       glBindTextureUnit(0, tex);
 }
-- 
2.1.0

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to