diff --git a/gfx/d3d/d3d_wrapper.cpp b/gfx/d3d/d3d_wrapper.cpp index bedc42ea5a..fb2919f849 100644 --- a/gfx/d3d/d3d_wrapper.cpp +++ b/gfx/d3d/d3d_wrapper.cpp @@ -105,6 +105,18 @@ void d3d_texture_free(LPDIRECT3DTEXTURE tex) tex = NULL; } +bool d3d_vertex_declaration_new(LPDIRECT3DDEVICE dev, + const void *vertex_data, void **decl_data) +{ +#ifndef _XBOX1 + const D3DVERTEXELEMENT *vertex_elements = (const D3DVERTEXELEMENT*)vertex_data; + LPDIRECT3DVERTEXDECLARATION **vertex_decl = (LPDIRECT3DVERTEXDECLARATION**)decl_data; + if (SUCCEEDED(dev->CreateVertexDeclaration(vertex_elements, vertex_decl))) + return true; +#endif + return false; +} + LPDIRECT3DVERTEXBUFFER d3d_vertex_buffer_new(LPDIRECT3DDEVICE dev, unsigned length, unsigned usage, unsigned fvf, D3DPOOL pool, void *handle) diff --git a/gfx/d3d/d3d_wrapper.h b/gfx/d3d/d3d_wrapper.h index a3671332b5..fddd5a3174 100644 --- a/gfx/d3d/d3d_wrapper.h +++ b/gfx/d3d/d3d_wrapper.h @@ -93,6 +93,9 @@ void d3d_texture_blit(unsigned pixel_size, D3DLOCKED_RECT *lr, const void *frame, unsigned width, unsigned height, unsigned pitch); +bool d3d_vertex_declaration_new(LPDIRECT3DDEVICE dev, + const void *vertex_data, void **decl_data); + void d3d_set_viewport(LPDIRECT3DDEVICE dev, D3DVIEWPORT *vp); void d3d_enable_blend_func(void *data);