Create d3d_vertex_declaration_free

This commit is contained in:
twinaphex 2015-11-17 23:24:56 +01:00
parent 73990929e5
commit 5c0cb15856
3 changed files with 17 additions and 3 deletions

View File

@ -1249,9 +1249,11 @@ static void d3d_overlay_render(d3d_video_t *d3d, overlay_t *overlay)
d3d_enable_blend_func(d3d->dev);
#ifndef _XBOX1
d3d->dev->CreateVertexDeclaration(vElems, &vertex_decl);
d3d_set_vertex_declaration(d3d->dev, vertex_decl);
vertex_decl->Release();
if (d3d_vertex_declaration_new(d3d->dev, vElems, &vertex_decl))
{
d3d_set_vertex_declaration(d3d->dev, vertex_decl);
d3d_vertex_declaration_free(vertex_decl);
}
#endif
d3d_set_stream_source(d3d->dev, 0, overlay->vert_buf,

View File

@ -105,6 +105,16 @@ void d3d_texture_free(LPDIRECT3DTEXTURE tex)
tex = NULL;
}
void d3d_vertex_declaration_free(void *data)
{
LPDIRECT3DVERTEXDECLARATION *vertex_decl = (LPDIRECT3DVERTEXDECLARATION*)data;
if (!vertex_decl)
return;
vertex_decl->Release();
}
bool d3d_vertex_declaration_new(LPDIRECT3DDEVICE dev,
const void *vertex_data, void **decl_data)
{

View File

@ -104,6 +104,8 @@ void d3d_disable_blend_func(void *data);
void d3d_set_vertex_declaration(void *data, void *vertex_data);
void d3d_vertex_declaration_free(void *data);
void d3d_enable_alpha_blend_texture_func(void *data);
void d3d_frame_postprocess(void *data);