mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
(D3D) Free vertex declaration in d3d_vertex_buffer_free
This commit is contained in:
parent
d1af8742f6
commit
74a1920fda
@ -147,11 +147,26 @@ void *d3d_vertex_buffer_lock(LPDIRECT3DVERTEXBUFFER vertbuf)
|
||||
return buf;
|
||||
}
|
||||
|
||||
void d3d_vertex_buffer_free(LPDIRECT3DVERTEXBUFFER buf)
|
||||
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)
|
||||
{
|
||||
buf->Release();
|
||||
buf = NULL;
|
||||
buf = NULL;
|
||||
}
|
||||
|
||||
#ifdef HAVE_D3D9
|
||||
if (vertex_decl)
|
||||
{
|
||||
vertex_decl->Release();
|
||||
vertex_decl = NULL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void d3d_set_stream_source(LPDIRECT3DDEVICE dev, unsigned stream_no,
|
||||
|
@ -29,7 +29,7 @@ LPDIRECT3DVERTEXBUFFER d3d_vertex_buffer_new(LPDIRECT3DDEVICE dev,
|
||||
void *d3d_vertex_buffer_lock(LPDIRECT3DVERTEXBUFFER vertbuf);
|
||||
void d3d_vertex_buffer_unlock(LPDIRECT3DVERTEXBUFFER vertbuf);
|
||||
|
||||
void d3d_vertex_buffer_free(LPDIRECT3DVERTEXBUFFER buf);
|
||||
void d3d_vertex_buffer_free(void *vertex_data, void *vertex_declaration);
|
||||
|
||||
LPDIRECT3DTEXTURE d3d_texture_new(LPDIRECT3DDEVICE dev,
|
||||
const char *path, unsigned width, unsigned height,
|
||||
|
@ -773,7 +773,7 @@ void renderchain_clear(void *data)
|
||||
if (chain->prev.tex[i])
|
||||
d3d_texture_free(chain->prev.tex[i]);
|
||||
if (chain->prev.vertex_buf[i])
|
||||
d3d_vertex_buffer_free(chain->prev.vertex_buf[i]);
|
||||
d3d_vertex_buffer_free(chain->prev.vertex_buf[i], NULL);
|
||||
}
|
||||
|
||||
if (chain->passes[0].vertex_decl)
|
||||
@ -783,10 +783,8 @@ void renderchain_clear(void *data)
|
||||
{
|
||||
if (chain->passes[i].tex)
|
||||
d3d_texture_free(chain->passes[i].tex);
|
||||
if (chain->passes[i].vertex_buf)
|
||||
d3d_vertex_buffer_free(chain->passes[i].vertex_buf);
|
||||
if (chain->passes[i].vertex_decl)
|
||||
chain->passes[i].vertex_decl->Release();
|
||||
if (chain->passes[i].vertex_buf || chain->passes[i].vertex_decl)
|
||||
d3d_vertex_buffer_free(chain->passes[i].vertex_buf, chain->passes[i].vertex_decl);
|
||||
renderchain_destroy_shader(chain, i);
|
||||
}
|
||||
|
||||
|
@ -25,13 +25,7 @@ static void renderchain_clear(void *data)
|
||||
d3d_video_t *d3d = (d3d_video_t*)data;
|
||||
|
||||
d3d_texture_free(d3d->tex);
|
||||
d3d_vertex_buffer_free(d3d->vertex_buf);
|
||||
|
||||
#ifdef _XBOX360
|
||||
if (d3d->vertex_decl)
|
||||
d3d->vertex_decl->Release();
|
||||
d3d->vertex_decl = NULL;
|
||||
#endif
|
||||
d3d_vertex_buffer_free(d3d->vertex_buf, d3d->vertex_decl);
|
||||
}
|
||||
|
||||
static void renderchain_free(void *data)
|
||||
|
Loading…
x
Reference in New Issue
Block a user