mirror of
https://github.com/libretro/RetroArch
synced 2025-03-01 07:13:35 +00:00
Get rid of set_mvp function in D3D9 renderchain driver - use
one common set_mvp function instead
This commit is contained in:
parent
843a7f200c
commit
b141c37fe9
@ -332,11 +332,7 @@ static void d3d9_set_mvp(void *data,
|
|||||||
const void *mat_data)
|
const void *mat_data)
|
||||||
{
|
{
|
||||||
d3d_video_t *d3d = (d3d_video_t*)data;
|
d3d_video_t *d3d = (d3d_video_t*)data;
|
||||||
|
d3d_set_vertex_shader_constantf(d3d->dev, 0, (const float*)mat_data, 4);
|
||||||
if ( d3d &&
|
|
||||||
d3d->renderchain_driver &&
|
|
||||||
d3d->renderchain_driver->set_mvp)
|
|
||||||
d3d->renderchain_driver->set_mvp(d3d, d3d->renderchain_data, shader_data, mat_data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void d3d9_overlay_render(d3d_video_t *d3d,
|
static void d3d9_overlay_render(d3d_video_t *d3d,
|
||||||
|
@ -1223,20 +1223,6 @@ static void d3d9_cg_renderchain_calc_and_set_shader_mvp(
|
|||||||
d3d9_cg_renderchain_set_shader_mvp(chain, vPrg, &matrix);
|
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(
|
static void cg_d3d9_renderchain_set_vertices(
|
||||||
cg_renderchain_t *chain,
|
cg_renderchain_t *chain,
|
||||||
struct Pass *pass,
|
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(
|
static void cg_d3d9_renderchain_blit_to_texture(
|
||||||
cg_renderchain_t *chain,
|
cg_renderchain_t *chain,
|
||||||
const void *frame,
|
const void *frame,
|
||||||
@ -1552,7 +1531,7 @@ static bool d3d9_cg_renderchain_render(
|
|||||||
viewport.Height = out_height;
|
viewport.Height = out_height;
|
||||||
|
|
||||||
if (chain)
|
if (chain)
|
||||||
cg_d3d9_renderchain_set_viewport(chain, &viewport);
|
d3d_set_viewports(chain, &viewport);
|
||||||
|
|
||||||
cg_d3d9_renderchain_set_vertices(chain, from_pass,
|
cg_d3d9_renderchain_set_vertices(chain, from_pass,
|
||||||
current_width, current_height,
|
current_width, current_height,
|
||||||
@ -1578,7 +1557,7 @@ static bool d3d9_cg_renderchain_render(
|
|||||||
current_width, current_height, chain->final_viewport);
|
current_width, current_height, chain->final_viewport);
|
||||||
|
|
||||||
if (chain)
|
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,
|
cg_d3d9_renderchain_set_vertices(chain, last_pass,
|
||||||
current_width, current_height,
|
current_width, current_height,
|
||||||
@ -1723,7 +1702,6 @@ static void d3d9_cg_renderchain_viewport_info(
|
|||||||
}
|
}
|
||||||
|
|
||||||
d3d_renderchain_driver_t cg_d3d9_renderchain = {
|
d3d_renderchain_driver_t cg_d3d9_renderchain = {
|
||||||
d3d9_cg_renderchain_set_mvp,
|
|
||||||
d3d9_cg_renderchain_free,
|
d3d9_cg_renderchain_free,
|
||||||
d3d9_cg_renderchain_new,
|
d3d9_cg_renderchain_new,
|
||||||
d3d9_cg_renderchain_init,
|
d3d9_cg_renderchain_init,
|
||||||
|
@ -43,23 +43,6 @@ typedef struct hlsl_d3d9_renderchain
|
|||||||
LPDIRECT3DVERTEXDECLARATION9 vertex_decl;
|
LPDIRECT3DVERTEXDECLARATION9 vertex_decl;
|
||||||
} hlsl_d3d9_renderchain_t;
|
} 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)
|
static void hlsl_d3d9_renderchain_clear(void *data)
|
||||||
{
|
{
|
||||||
hlsl_d3d9_renderchain_t *chain = (hlsl_d3d9_renderchain_t*)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);
|
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.data = d3d;
|
||||||
shader_info.idx = pass;
|
shader_info.idx = pass;
|
||||||
shader_info.set_active = true;
|
shader_info.set_active = true;
|
||||||
@ -225,8 +203,6 @@ static void hlsl_d3d9_renderchain_blit_to_texture(
|
|||||||
D3DLOCKED_RECT d3dlr;
|
D3DLOCKED_RECT d3dlr;
|
||||||
hlsl_d3d9_renderchain_t *chain = (hlsl_d3d9_renderchain_t*)data;
|
hlsl_d3d9_renderchain_t *chain = (hlsl_d3d9_renderchain_t*)data;
|
||||||
|
|
||||||
d3d_frame_postprocess(chain);
|
|
||||||
|
|
||||||
if (chain->last_width != width || chain->last_height != height)
|
if (chain->last_width != width || chain->last_height != height)
|
||||||
{
|
{
|
||||||
d3d_lock_rectangle(chain->tex,
|
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++)
|
for (i = 0; i < 4; i++)
|
||||||
d3d_set_stream_source(chain->dev, i, chain->vertex_buf, 0, sizeof(Vertex));
|
d3d_set_stream_source(chain->dev, i, chain->vertex_buf, 0, sizeof(Vertex));
|
||||||
d3d_draw_primitive(chain->dev, D3DPT_TRIANGLESTRIP, 0, 2);
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
@ -455,7 +427,6 @@ static void hlsl_d3d9_renderchain_viewport_info(
|
|||||||
}
|
}
|
||||||
|
|
||||||
d3d_renderchain_driver_t hlsl_d3d9_renderchain = {
|
d3d_renderchain_driver_t hlsl_d3d9_renderchain = {
|
||||||
hlsl_d3d9_renderchain_set_mvp,
|
|
||||||
hlsl_d3d9_renderchain_free,
|
hlsl_d3d9_renderchain_free,
|
||||||
hlsl_d3d9_renderchain_new,
|
hlsl_d3d9_renderchain_new,
|
||||||
hlsl_d3d9_renderchain_init,
|
hlsl_d3d9_renderchain_init,
|
||||||
|
@ -800,10 +800,6 @@ typedef struct video_driver
|
|||||||
|
|
||||||
typedef struct d3d_renderchain_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_free)(void *data);
|
||||||
void *(*chain_new)(void);
|
void *(*chain_new)(void);
|
||||||
bool (*init)(void *data,
|
bool (*init)(void *data,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user