mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 00:39:53 +00:00
More code de-duplication
This commit is contained in:
parent
e01a028e24
commit
a024da61f4
@ -1097,40 +1097,6 @@ static void cg_d3d9_renderchain_set_vertices(
|
||||
vp_width, vp_height);
|
||||
}
|
||||
|
||||
static void cg_d3d9_renderchain_unbind_all(cg_renderchain_t *chain)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
/* Have to be a bit anal about it.
|
||||
* Render targets hate it when they have filters apparently.
|
||||
*/
|
||||
for (i = 0; i < chain->chain.bound_tex->count; i++)
|
||||
{
|
||||
d3d9_set_sampler_minfilter(chain->chain.dev,
|
||||
chain->chain.bound_tex->data[i], D3DTEXF_POINT);
|
||||
d3d9_set_sampler_magfilter(chain->chain.dev,
|
||||
chain->chain.bound_tex->data[i], D3DTEXF_POINT);
|
||||
d3d9_set_texture(chain->chain.dev,
|
||||
chain->chain.bound_tex->data[i], NULL);
|
||||
}
|
||||
|
||||
for (i = 0; i < chain->chain.bound_vert->count; i++)
|
||||
d3d9_set_stream_source(chain->chain.dev,
|
||||
chain->chain.bound_vert->data[i], 0, 0, 0);
|
||||
|
||||
if (chain->chain.bound_tex)
|
||||
{
|
||||
unsigned_vector_list_free(chain->chain.bound_tex);
|
||||
chain->chain.bound_tex = unsigned_vector_list_new();
|
||||
}
|
||||
|
||||
if (chain->chain.bound_vert)
|
||||
{
|
||||
unsigned_vector_list_free(chain->chain.bound_vert);
|
||||
chain->chain.bound_vert = unsigned_vector_list_new();
|
||||
}
|
||||
}
|
||||
|
||||
static void cg_d3d9_renderchain_set_params(
|
||||
cg_renderchain_t *chain,
|
||||
struct shader_pass *pass,
|
||||
@ -1228,7 +1194,7 @@ static void cg_d3d9_renderchain_render_pass(
|
||||
d3d9_set_sampler_minfilter(chain->chain.dev, 0, D3DTEXF_POINT);
|
||||
d3d9_set_sampler_magfilter(chain->chain.dev, 0, D3DTEXF_POINT);
|
||||
|
||||
cg_d3d9_renderchain_unbind_all(chain);
|
||||
d3d9_renderchain_unbind_all(&chain->chain);
|
||||
}
|
||||
|
||||
static bool d3d9_cg_renderchain_render(
|
||||
|
@ -954,39 +954,6 @@ static void hlsl_d3d9_renderchain_set_final_viewport(
|
||||
d3d9_hlsl_recompute_pass_sizes(chain->chain.dev, chain, d3d);
|
||||
}
|
||||
|
||||
static void hlsl_d3d9_renderchain_unbind_all(hlsl_d3d9_renderchain_t *chain)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
/* Have to be a bit anal about it.
|
||||
* Render targets hate it when they have filters apparently.
|
||||
*/
|
||||
for (i = 0; i < chain->chain.bound_tex->count; i++)
|
||||
{
|
||||
d3d9_set_sampler_minfilter(chain->chain.dev,
|
||||
chain->chain.bound_tex->data[i], D3DTEXF_POINT);
|
||||
d3d9_set_sampler_magfilter(chain->chain.dev,
|
||||
chain->chain.bound_tex->data[i], D3DTEXF_POINT);
|
||||
d3d9_set_texture(chain->chain.dev, chain->chain.bound_tex->data[i], NULL);
|
||||
}
|
||||
|
||||
for (i = 0; i < chain->chain.bound_vert->count; i++)
|
||||
d3d9_set_stream_source(chain->chain.dev,
|
||||
chain->chain.bound_vert->data[i], 0, 0, 0);
|
||||
|
||||
if (chain->chain.bound_tex)
|
||||
{
|
||||
unsigned_vector_list_free(chain->chain.bound_tex);
|
||||
chain->chain.bound_tex = unsigned_vector_list_new();
|
||||
}
|
||||
|
||||
if (chain->chain.bound_vert)
|
||||
{
|
||||
unsigned_vector_list_free(chain->chain.bound_vert);
|
||||
chain->chain.bound_vert = unsigned_vector_list_new();
|
||||
}
|
||||
}
|
||||
|
||||
static void hlsl_d3d9_renderchain_render_pass(
|
||||
hlsl_d3d9_renderchain_t *chain,
|
||||
struct shader_pass *pass,
|
||||
@ -1059,7 +1026,7 @@ static void hlsl_d3d9_renderchain_render_pass(
|
||||
d3d9_set_sampler_minfilter(chain->chain.dev, 0, D3DTEXF_POINT);
|
||||
d3d9_set_sampler_magfilter(chain->chain.dev, 0, D3DTEXF_POINT);
|
||||
|
||||
hlsl_d3d9_renderchain_unbind_all(chain);
|
||||
d3d9_renderchain_unbind_all(&chain->chain);
|
||||
}
|
||||
|
||||
static void d3d9_hlsl_renderchain_start_render(hlsl_d3d9_renderchain_t *chain)
|
||||
|
@ -154,6 +154,40 @@ static INLINE void d3d9_cg_renderchain_add_lut_internal(
|
||||
unsigned_vector_list_append(chain->bound_tex, index);
|
||||
}
|
||||
|
||||
static INLINE void d3d9_renderchain_unbind_all(d3d9_renderchain_t *chain)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
/* Have to be a bit anal about it.
|
||||
* Render targets hate it when they have filters apparently.
|
||||
*/
|
||||
for (i = 0; i < chain->bound_tex->count; i++)
|
||||
{
|
||||
d3d9_set_sampler_minfilter(chain->dev,
|
||||
chain->bound_tex->data[i], D3DTEXF_POINT);
|
||||
d3d9_set_sampler_magfilter(chain->dev,
|
||||
chain->bound_tex->data[i], D3DTEXF_POINT);
|
||||
d3d9_set_texture(chain->dev,
|
||||
chain->bound_tex->data[i], NULL);
|
||||
}
|
||||
|
||||
for (i = 0; i < chain->bound_vert->count; i++)
|
||||
d3d9_set_stream_source(chain->dev,
|
||||
chain->bound_vert->data[i], 0, 0, 0);
|
||||
|
||||
if (chain->bound_tex)
|
||||
{
|
||||
unsigned_vector_list_free(chain->bound_tex);
|
||||
chain->bound_tex = unsigned_vector_list_new();
|
||||
}
|
||||
|
||||
if (chain->bound_vert)
|
||||
{
|
||||
unsigned_vector_list_free(chain->bound_vert);
|
||||
chain->bound_vert = unsigned_vector_list_new();
|
||||
}
|
||||
}
|
||||
|
||||
static INLINE void d3d9_init_renderchain(d3d9_renderchain_t *chain)
|
||||
{
|
||||
chain->passes = shader_pass_vector_list_new();
|
||||
|
Loading…
x
Reference in New Issue
Block a user