mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
(D3D) Make renderchain_render_pass static
This commit is contained in:
parent
32c3986ff9
commit
b48d6306df
@ -1596,7 +1596,7 @@ static bool d3d_frame(void *data, const void *frame,
|
||||
}
|
||||
|
||||
#ifdef _XBOX
|
||||
renderchain_render_pass(d3d, frame, width, height,
|
||||
renderchain_render(d3d, frame, width, height,
|
||||
pitch, d3d->dev_rotation);
|
||||
#else
|
||||
if (!renderchain_render(d3d->chain, frame, width,
|
||||
|
@ -1278,6 +1278,46 @@ static void renderchain_blit_to_texture(void *data,
|
||||
&d3dlr, frame, width, height, pitch);
|
||||
}
|
||||
|
||||
static void renderchain_render_pass(void *data, void *pass_data, unsigned pass_index)
|
||||
{
|
||||
unsigned i;
|
||||
Pass *pass = (Pass*)pass_data;
|
||||
renderchain_t *chain = (renderchain_t*)data;
|
||||
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)chain->dev;
|
||||
|
||||
renderchain_set_shaders(chain, &pass->fPrg, &pass->vPrg);
|
||||
|
||||
d3d_set_texture(d3dr, 0, pass->tex);
|
||||
d3d_set_sampler_minfilter(d3dr, 0,
|
||||
translate_filter(pass->info.pass->filter));
|
||||
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
|
||||
for (i = 0; i < 4; i++)
|
||||
d3d_set_stream_source(d3dr, i,
|
||||
pass->vertex_buf, 0, sizeof(Vertex));
|
||||
|
||||
renderchain_bind_orig(chain, pass);
|
||||
renderchain_bind_prev(chain, pass);
|
||||
renderchain_bind_pass(chain, pass, pass_index);
|
||||
renderchain_bind_luts(chain, pass);
|
||||
renderchain_bind_tracker(chain, pass, pass_index);
|
||||
|
||||
d3d_draw_primitive(d3dr, D3DPT_TRIANGLESTRIP, 0, 2);
|
||||
|
||||
/* So we don't render with linear filter into render targets,
|
||||
* which apparently looked odd (too blurry). */
|
||||
d3d_set_sampler_minfilter(d3dr, 0, D3DTEXF_POINT);
|
||||
d3d_set_sampler_magfilter(d3dr, 0, D3DTEXF_POINT);
|
||||
|
||||
renderchain_unbind_all(chain);
|
||||
}
|
||||
|
||||
bool renderchain_render(void *chain_data, const void *data,
|
||||
unsigned width, unsigned height, unsigned pitch, unsigned rotation)
|
||||
{
|
||||
@ -1440,42 +1480,3 @@ static void renderchain_unbind_all(void *data)
|
||||
chain->bound_vert.clear();
|
||||
}
|
||||
|
||||
void renderchain_render_pass(void *data, void *pass_data, unsigned pass_index)
|
||||
{
|
||||
unsigned i;
|
||||
Pass *pass = (Pass*)pass_data;
|
||||
renderchain_t *chain = (renderchain_t*)data;
|
||||
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)chain->dev;
|
||||
|
||||
renderchain_set_shaders(chain, &pass->fPrg, &pass->vPrg);
|
||||
|
||||
d3d_set_texture(d3dr, 0, pass->tex);
|
||||
d3d_set_sampler_minfilter(d3dr, 0,
|
||||
translate_filter(pass->info.pass->filter));
|
||||
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
|
||||
for (i = 0; i < 4; i++)
|
||||
d3d_set_stream_source(d3dr, i,
|
||||
pass->vertex_buf, 0, sizeof(Vertex));
|
||||
|
||||
renderchain_bind_orig(chain, pass);
|
||||
renderchain_bind_prev(chain, pass);
|
||||
renderchain_bind_pass(chain, pass, pass_index);
|
||||
renderchain_bind_luts(chain, pass);
|
||||
renderchain_bind_tracker(chain, pass, pass_index);
|
||||
|
||||
d3d_draw_primitive(d3dr, D3DPT_TRIANGLESTRIP, 0, 2);
|
||||
|
||||
/* So we don't render with linear filter into render targets,
|
||||
* which apparently looked odd (too blurry). */
|
||||
d3d_set_sampler_minfilter(d3dr, 0, D3DTEXF_POINT);
|
||||
d3d_set_sampler_magfilter(d3dr, 0, D3DTEXF_POINT);
|
||||
|
||||
renderchain_unbind_all(chain);
|
||||
}
|
||||
|
@ -72,8 +72,6 @@ void renderchain_convert_geometry(void *data, const void *info_data,
|
||||
unsigned width, unsigned height,
|
||||
D3DVIEWPORT *final_viewport);
|
||||
|
||||
void renderchain_render_pass(void *data, void *pass_data, unsigned pass_index);
|
||||
|
||||
bool renderchain_init_shader_fvf(void *data, void *pass_data);
|
||||
|
||||
#endif
|
||||
|
@ -303,7 +303,7 @@ void renderchain_set_final_viewport(void *data,
|
||||
(void)viewport_data;
|
||||
}
|
||||
|
||||
void renderchain_render_pass(void *data, const void *frame,
|
||||
void renderchain_render(void *data, const void *frame,
|
||||
unsigned width, unsigned height, unsigned pitch, unsigned rotation)
|
||||
{
|
||||
unsigned i;
|
||||
|
Loading…
x
Reference in New Issue
Block a user