diff --git a/gfx/d3d/d3d_wrapper.cpp b/gfx/d3d/d3d_wrapper.cpp index 681fbeb4bc..6c9757ff1f 100644 --- a/gfx/d3d/d3d_wrapper.cpp +++ b/gfx/d3d/d3d_wrapper.cpp @@ -149,20 +149,17 @@ void *d3d_vertex_buffer_lock(LPDIRECT3DVERTEXBUFFER vertbuf) void d3d_vertex_buffer_free(void *vertex_data, void *vertex_declaration) { -#ifdef HAVE_D3D9 - LPDIRECT3DVERTEXDECLARATION vertex_decl = (LPDIRECT3DVERTEXDECLARATION)vertex_declaration; -#endif - LPDIRECT3DVERTEXBUFFER buf = (LPDIRECT3DVERTEXBUFFER)vertex_data; - - if (buf) + if (vertex_data) { + LPDIRECT3DVERTEXBUFFER buf = (LPDIRECT3DVERTEXBUFFER)vertex_data; buf->Release(); buf = NULL; } #ifdef HAVE_D3D9 - if (vertex_decl) + if (vertex_declaration) { + LPDIRECT3DVERTEXDECLARATION vertex_decl = (LPDIRECT3DVERTEXDECLARATION)vertex_declaration; vertex_decl->Release(); vertex_decl = NULL; } diff --git a/gfx/d3d/render_chain.cpp b/gfx/d3d/render_chain.cpp index 7a21312322..6d35ed1112 100644 --- a/gfx/d3d/render_chain.cpp +++ b/gfx/d3d/render_chain.cpp @@ -776,8 +776,7 @@ void renderchain_clear(void *data) d3d_vertex_buffer_free(chain->prev.vertex_buf[i], NULL); } - if (chain->passes[0].vertex_decl) - chain->passes[0].vertex_decl->Release(); + d3d_vertex_buffer_free(NULL, chain->passes[0].vertex_decl); for (i = 1; i < chain->passes.size(); i++) { diff --git a/gfx/d3d/render_chain.h b/gfx/d3d/render_chain.h index 2bf9a476be..d2dea4813e 100644 --- a/gfx/d3d/render_chain.h +++ b/gfx/d3d/render_chain.h @@ -54,9 +54,7 @@ struct Pass CGprogram vPrg, fPrg; #endif unsigned last_width, last_height; -#ifdef HAVE_D3D9 - LPDIRECT3DVERTEXDECLARATION vertex_decl; -#endif + void *vertex_decl; std::vector attrib_map; };