diff options
author | Laura Ekstrand <laura@jlekstrand.net> | 2015-03-24 17:31:21 -0700 |
---|---|---|
committer | Laura Ekstrand <laura@jlekstrand.net> | 2015-03-24 17:31:21 -0700 |
commit | 05dfe8d6b1938aeca57b4e9ebe2c9cd8ecd39ba9 (patch) | |
tree | 13d388e99852ae44dbbb1be3782e085dceb7314c | |
parent | 2a45aea2eca29c02a4f5f7f5f2794d99637fc4fa (diff) |
meta: clear_state now uses VAO & VBO pointers.adsa-meta
-rw-r--r-- | src/mesa/drivers/common/meta.c | 21 | ||||
-rw-r--r-- | src/mesa/drivers/common/meta.h | 4 |
2 files changed, 15 insertions, 10 deletions
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index dbbe6221e3..50d8eeb6c9 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -1549,7 +1549,8 @@ meta_glsl_clear_init(struct gl_context *ctx, struct clear_state *clear) GLuint vs, fs; bool has_integer_textures; - _mesa_meta_setup_vertex_objects(&clear->VAO, &clear->VBO, true, 3, 0, 0); + _mesa_meta_setup_vertex_objects(&clear->VAO->Name, &clear->VBO->Name, + true, 3, 0, 0); if (clear->ShaderProg != 0) return; @@ -1632,12 +1633,15 @@ meta_glsl_clear_init(struct gl_context *ctx, struct clear_state *clear) static void meta_glsl_clear_cleanup(struct clear_state *clear) { - if (clear->VAO == 0) - return; - _mesa_DeleteVertexArrays(1, &clear->VAO); - clear->VAO = 0; - _mesa_DeleteBuffers(1, &clear->VBO); - clear->VBO = 0; + if (clear->VAO) { + _mesa_DeleteVertexArrays(1, &clear->VAO->Name); + clear->VAO = NULL; + } + + if (clear->VBO) { + _mesa_DeleteBuffers(1, &clear->VBO->Name); + clear->VBO = NULL; + } _mesa_DeleteProgram(clear->ShaderProg); clear->ShaderProg = 0; @@ -1745,7 +1749,8 @@ meta_clear(struct gl_context *ctx, GLbitfield buffers, bool glsl) y1 = ((float) fb->_Ymax / fb->Height) * 2.0f - 1.0f; z = -invert_z(ctx->Depth.Clear); } else { - _mesa_meta_setup_vertex_objects(&clear->VAO, &clear->VBO, false, 3, 0, 4); + _mesa_meta_setup_vertex_objects(&clear->VAO->Name, &clear->VBO->Name, + false, 3, 0, 4); x0 = (float) fb->_Xmin; y0 = (float) fb->_Ymin; diff --git a/src/mesa/drivers/common/meta.h b/src/mesa/drivers/common/meta.h index ec55a74a72..3b00b91ad8 100644 --- a/src/mesa/drivers/common/meta.h +++ b/src/mesa/drivers/common/meta.h @@ -321,8 +321,8 @@ struct fb_tex_blit_state */ struct clear_state { - GLuint VAO; - GLuint VBO; + struct gl_vertex_array_object *VAO; + struct gl_buffer_object *VBO; GLuint ShaderProg; GLint ColorLocation; GLint LayerLocation; |