Get rid of set_mvp function in D3D9 renderchain driver - use

one common set_mvp function instead
This commit is contained in:
twinaphex 2018-02-10 21:21:09 +01:00
parent 843a7f200c
commit b141c37fe9
4 changed files with 3 additions and 62 deletions

View File

@ -332,11 +332,7 @@ static void d3d9_set_mvp(void *data,
const void *mat_data)
{
d3d_video_t *d3d = (d3d_video_t*)data;
if ( d3d &&
d3d->renderchain_driver &&
d3d->renderchain_driver->set_mvp)
d3d->renderchain_driver->set_mvp(d3d, d3d->renderchain_data, shader_data, mat_data);
d3d_set_vertex_shader_constantf(d3d->dev, 0, (const float*)mat_data, 4);
}
static void d3d9_overlay_render(d3d_video_t *d3d,

View File

@ -1223,20 +1223,6 @@ static void d3d9_cg_renderchain_calc_and_set_shader_mvp(
d3d9_cg_renderchain_set_shader_mvp(chain, vPrg, &matrix);
}
static void d3d9_cg_renderchain_set_mvp(
void *data,
void *chain_data,
void *shader_data,
const void *mat_data)
{
d3d_video_t *d3d = (d3d_video_t*)data;
if (!d3d)
return;
d3d_set_vertex_shader_constantf(d3d->dev, 0, (const float*)mat_data, 4);
}
static void cg_d3d9_renderchain_set_vertices(
cg_renderchain_t *chain,
struct Pass *pass,
@ -1334,13 +1320,6 @@ static void cg_d3d9_renderchain_set_vertices(
}
}
static void cg_d3d9_renderchain_set_viewport(
cg_renderchain_t *chain,
D3DVIEWPORT9 *vp)
{
d3d_set_viewports(chain->dev, vp);
}
static void cg_d3d9_renderchain_blit_to_texture(
cg_renderchain_t *chain,
const void *frame,
@ -1552,7 +1531,7 @@ static bool d3d9_cg_renderchain_render(
viewport.Height = out_height;
if (chain)
cg_d3d9_renderchain_set_viewport(chain, &viewport);
d3d_set_viewports(chain, &viewport);
cg_d3d9_renderchain_set_vertices(chain, from_pass,
current_width, current_height,
@ -1578,7 +1557,7 @@ static bool d3d9_cg_renderchain_render(
current_width, current_height, chain->final_viewport);
if (chain)
cg_d3d9_renderchain_set_viewport(chain, chain->final_viewport);
d3d_set_viewports(chain, chain->final_viewport);
cg_d3d9_renderchain_set_vertices(chain, last_pass,
current_width, current_height,
@ -1723,7 +1702,6 @@ static void d3d9_cg_renderchain_viewport_info(
}
d3d_renderchain_driver_t cg_d3d9_renderchain = {
d3d9_cg_renderchain_set_mvp,
d3d9_cg_renderchain_free,
d3d9_cg_renderchain_new,
d3d9_cg_renderchain_init,

View File

@ -43,23 +43,6 @@ typedef struct hlsl_d3d9_renderchain
LPDIRECT3DVERTEXDECLARATION9 vertex_decl;
} hlsl_d3d9_renderchain_t;
/* TODO/FIXME - this forward declaration should not be necesary */
void hlsl_set_proj_matrix(void *data, void *matrix_data);
static void hlsl_d3d9_renderchain_set_mvp(
void *data,
void *chain_data,
void *shader_data,
const void *mat_data)
{
d3d_video_t *d3d = (d3d_video_t*)data;
if(shader_data)
hlsl_set_proj_matrix(shader_data, (void*)mat_data);
else
hlsl_set_proj_matrix((void*)&d3d->shader, (void*)mat_data);
}
static void hlsl_d3d9_renderchain_clear(void *data)
{
hlsl_d3d9_renderchain_t *chain = (hlsl_d3d9_renderchain_t*)data;
@ -190,11 +173,6 @@ static void hlsl_d3d9_renderchain_set_vertices(
d3d_vertex_buffer_unlock(chain->vertex_buf);
}
/* TODO/FIXME - last parameter is mat_data, should be set to
something other than NULL */
hlsl_d3d9_renderchain_set_mvp(d3d, chain, &d3d->shader,
NULL);
shader_info.data = d3d;
shader_info.idx = pass;
shader_info.set_active = true;
@ -225,8 +203,6 @@ static void hlsl_d3d9_renderchain_blit_to_texture(
D3DLOCKED_RECT d3dlr;
hlsl_d3d9_renderchain_t *chain = (hlsl_d3d9_renderchain_t*)data;
d3d_frame_postprocess(chain);
if (chain->last_width != width || chain->last_height != height)
{
d3d_lock_rectangle(chain->tex,
@ -390,10 +366,6 @@ static bool hlsl_d3d9_renderchain_render(void *data, const void *frame,
for (i = 0; i < 4; i++)
d3d_set_stream_source(chain->dev, i, chain->vertex_buf, 0, sizeof(Vertex));
d3d_draw_primitive(chain->dev, D3DPT_TRIANGLESTRIP, 0, 2);
/* TODO/FIXME - last parameter is mat_data - should be something
other than NULL */
hlsl_d3d9_renderchain_set_mvp(d3d,
chain, &d3d->shader, NULL);
return true;
}
@ -455,7 +427,6 @@ static void hlsl_d3d9_renderchain_viewport_info(
}
d3d_renderchain_driver_t hlsl_d3d9_renderchain = {
hlsl_d3d9_renderchain_set_mvp,
hlsl_d3d9_renderchain_free,
hlsl_d3d9_renderchain_new,
hlsl_d3d9_renderchain_init,

View File

@ -800,10 +800,6 @@ typedef struct video_driver
typedef struct d3d_renderchain_driver
{
void (*set_mvp)(void *data,
void *chain_data,
void *shader_data,
const void *mat_data);
void (*chain_free)(void *data);
void *(*chain_new)(void);
bool (*init)(void *data,