(D3D) Make renderchain_render_pass static

This commit is contained in:
twinaphex 2015-04-06 00:07:25 +02:00
parent 32c3986ff9
commit b48d6306df
4 changed files with 42 additions and 43 deletions

View File

@ -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,

View File

@ -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);
}

View File

@ -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

View File

@ -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;