(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
|
#ifdef _XBOX
|
||||||
renderchain_render_pass(d3d, frame, width, height,
|
renderchain_render(d3d, frame, width, height,
|
||||||
pitch, d3d->dev_rotation);
|
pitch, d3d->dev_rotation);
|
||||||
#else
|
#else
|
||||||
if (!renderchain_render(d3d->chain, frame, width,
|
if (!renderchain_render(d3d->chain, frame, width,
|
||||||
|
|
|
@ -1278,6 +1278,46 @@ static void renderchain_blit_to_texture(void *data,
|
||||||
&d3dlr, frame, width, height, pitch);
|
&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,
|
bool renderchain_render(void *chain_data, const void *data,
|
||||||
unsigned width, unsigned height, unsigned pitch, unsigned rotation)
|
unsigned width, unsigned height, unsigned pitch, unsigned rotation)
|
||||||
{
|
{
|
||||||
|
@ -1440,42 +1480,3 @@ static void renderchain_unbind_all(void *data)
|
||||||
chain->bound_vert.clear();
|
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,
|
unsigned width, unsigned height,
|
||||||
D3DVIEWPORT *final_viewport);
|
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);
|
bool renderchain_init_shader_fvf(void *data, void *pass_data);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -303,7 +303,7 @@ void renderchain_set_final_viewport(void *data,
|
||||||
(void)viewport_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 width, unsigned height, unsigned pitch, unsigned rotation)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
Loading…
Reference in New Issue