diff --git a/gfx/d3d/d3d_wrapper.cpp b/gfx/d3d/d3d_wrapper.cpp index ca0947103b..27a1340af9 100644 --- a/gfx/d3d/d3d_wrapper.cpp +++ b/gfx/d3d/d3d_wrapper.cpp @@ -381,3 +381,18 @@ void d3d_disable_blend_func(void *data) dev->SetRenderState(D3DRS_ALPHABLENDENABLE, false); } + +void d3d_set_vertex_declaration(void *data, void *vertex_data) +{ + LPDIRECT3DDEVICE dev = (LPDIRECT3DDEVICE)data; +#if defined(HAVE_D3D9) + LPDIRECT3DVERTEXDECLARATION decl = (LPDIRECT3DVERTEXDECLARATION)vertex_data; +#endif + if (!dev) + return; +#ifdef _XBOX1 + d3d_set_vertex_shader(dev, D3DFVF_XYZ | D3DFVF_TEX1, NULL); +#elif defined(HAVE_D3D9) + dev->SetVertexDeclaration(decl); +#endif +} diff --git a/gfx/d3d/d3d_wrapper.h b/gfx/d3d/d3d_wrapper.h index 5ac69afb1d..5012cf6db7 100644 --- a/gfx/d3d/d3d_wrapper.h +++ b/gfx/d3d/d3d_wrapper.h @@ -87,4 +87,6 @@ void d3d_enable_blend_func(void *data); void d3d_disable_blend_func(void *data); +void d3d_set_vertex_declaration(void *data, void *vertex_data); + #endif diff --git a/gfx/d3d/render_chain_cg.cpp b/gfx/d3d/render_chain_cg.cpp index 561246a939..ca61274a73 100644 --- a/gfx/d3d/render_chain_cg.cpp +++ b/gfx/d3d/render_chain_cg.cpp @@ -42,9 +42,7 @@ struct Pass LPDIRECT3DVERTEXBUFFER vertex_buf; CGprogram vPrg, fPrg; unsigned last_width, last_height; -#ifdef HAVE_D3D9 LPDIRECT3DVERTEXDECLARATION vertex_decl; -#endif std::vector attrib_map; }; @@ -1374,11 +1372,7 @@ static void renderchain_render_pass(void *data, void *pass_data, unsigned pass_i d3d_set_sampler_magfilter(d3dr, 0, translate_filter(pass->info.pass->filter)); -#ifdef _XBOX1 - d3d_set_vertex_shader(d3dr, D3DFVF_XYZ | D3DFVF_TEX1, NULL); -#else - d3dr->SetVertexDeclaration(pass->vertex_decl); -#endif + d3d_set_vertex_declaration(d3dr, pass->vertex_decl); for (i = 0; i < 4; i++) d3d_set_stream_source(d3dr, i, pass->vertex_buf, 0, sizeof(Vertex)); diff --git a/gfx/d3d/render_chain_xdk.cpp b/gfx/d3d/render_chain_xdk.cpp index b84a1d43bc..f0039c18af 100644 --- a/gfx/d3d/render_chain_xdk.cpp +++ b/gfx/d3d/render_chain_xdk.cpp @@ -373,11 +373,7 @@ static bool xdk_renderchain_render(void *data, const void *frame, d3d_set_sampler_magfilter(d3dr, 0, settings->video.smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT); -#if defined(_XBOX1) - d3d_set_vertex_shader(d3dr, D3DFVF_XYZ | D3DFVF_TEX1, NULL); -#elif defined(_XBOX360) - D3DDevice_SetVertexDeclaration(d3dr, d3d->vertex_decl); -#endif + d3d_set_vertex_declaration(d3dr, d3d->vertex_decl); for (i = 0; i < 4; i++) d3d_set_stream_source(d3dr, i, d3d->vertex_buf, 0, sizeof(Vertex));