mirror of
https://github.com/libretro/RetroArch.git
synced 2024-12-01 04:00:32 +00:00
Create d3d_set_vertex_declaration
This commit is contained in:
parent
875adec249
commit
d32af58250
@ -381,3 +381,18 @@ void d3d_disable_blend_func(void *data)
|
|||||||
|
|
||||||
dev->SetRenderState(D3DRS_ALPHABLENDENABLE, false);
|
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
|
||||||
|
}
|
||||||
|
@ -87,4 +87,6 @@ void d3d_enable_blend_func(void *data);
|
|||||||
|
|
||||||
void d3d_disable_blend_func(void *data);
|
void d3d_disable_blend_func(void *data);
|
||||||
|
|
||||||
|
void d3d_set_vertex_declaration(void *data, void *vertex_data);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -42,9 +42,7 @@ struct Pass
|
|||||||
LPDIRECT3DVERTEXBUFFER vertex_buf;
|
LPDIRECT3DVERTEXBUFFER vertex_buf;
|
||||||
CGprogram vPrg, fPrg;
|
CGprogram vPrg, fPrg;
|
||||||
unsigned last_width, last_height;
|
unsigned last_width, last_height;
|
||||||
#ifdef HAVE_D3D9
|
|
||||||
LPDIRECT3DVERTEXDECLARATION vertex_decl;
|
LPDIRECT3DVERTEXDECLARATION vertex_decl;
|
||||||
#endif
|
|
||||||
std::vector<unsigned> attrib_map;
|
std::vector<unsigned> 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,
|
d3d_set_sampler_magfilter(d3dr, 0,
|
||||||
translate_filter(pass->info.pass->filter));
|
translate_filter(pass->info.pass->filter));
|
||||||
|
|
||||||
#ifdef _XBOX1
|
d3d_set_vertex_declaration(d3dr, pass->vertex_decl);
|
||||||
d3d_set_vertex_shader(d3dr, D3DFVF_XYZ | D3DFVF_TEX1, NULL);
|
|
||||||
#else
|
|
||||||
d3dr->SetVertexDeclaration(pass->vertex_decl);
|
|
||||||
#endif
|
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
d3d_set_stream_source(d3dr, i,
|
d3d_set_stream_source(d3dr, i,
|
||||||
pass->vertex_buf, 0, sizeof(Vertex));
|
pass->vertex_buf, 0, sizeof(Vertex));
|
||||||
|
@ -373,11 +373,7 @@ static bool xdk_renderchain_render(void *data, const void *frame,
|
|||||||
d3d_set_sampler_magfilter(d3dr, 0, settings->video.smooth ?
|
d3d_set_sampler_magfilter(d3dr, 0, settings->video.smooth ?
|
||||||
D3DTEXF_LINEAR : D3DTEXF_POINT);
|
D3DTEXF_LINEAR : D3DTEXF_POINT);
|
||||||
|
|
||||||
#if defined(_XBOX1)
|
d3d_set_vertex_declaration(d3dr, d3d->vertex_decl);
|
||||||
d3d_set_vertex_shader(d3dr, D3DFVF_XYZ | D3DFVF_TEX1, NULL);
|
|
||||||
#elif defined(_XBOX360)
|
|
||||||
D3DDevice_SetVertexDeclaration(d3dr, d3d->vertex_decl);
|
|
||||||
#endif
|
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
d3d_set_stream_source(d3dr, i, d3d->vertex_buf, 0, sizeof(Vertex));
|
d3d_set_stream_source(d3dr, i, d3d->vertex_buf, 0, sizeof(Vertex));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user