Refactor some more code to no longer use global->video_data.width/

global->video_data.height directly
This commit is contained in:
twinaphex 2015-05-20 01:39:35 +02:00
parent 79db0c2ab5
commit b99ae6f4e4
4 changed files with 32 additions and 9 deletions

View File

@ -353,18 +353,21 @@ static void xdk_renderchain_set_final_viewport(void *data,
}
static bool xdk_renderchain_render(void *data, const void *frame,
unsigned width, unsigned height, unsigned pitch, unsigned rotation)
unsigned frame_width, unsigned frame_height,
unsigned pitch, unsigned rotation)
{
unsigned i;
unsigned width, height;
d3d_video_t *d3d = (d3d_video_t*)data;
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
settings_t *settings = config_get_ptr();
global_t *global = global_get_ptr();
xdk_renderchain_t *chain = (xdk_renderchain_t*)d3d->renderchain_data;
uint64_t frame_count = video_driver_get_frame_count();
renderchain_blit_to_texture(chain, frame, width, height, pitch);
renderchain_set_vertices(d3d, 1, width, height, frame_count);
video_driver_get_size(&width, &height);
renderchain_blit_to_texture(chain, frame, frame_width, frame_height, pitch);
renderchain_set_vertices(d3d, 1, frame_width, frame_height, frame_count);
d3d_set_texture(d3dr, 0, chain->tex);
d3d_set_viewport(chain->dev, &d3d->final_viewport);
@ -378,8 +381,7 @@ static bool xdk_renderchain_render(void *data, const void *frame,
d3d_set_stream_source(d3dr, i, chain->vertex_buf, 0, sizeof(Vertex));
d3d_draw_primitive(d3dr, D3DPT_TRIANGLESTRIP, 0, 2);
renderchain_set_mvp(d3d, global->video_data.width,
global->video_data.height, d3d->dev_rotation);
renderchain_set_mvp(d3d, width, height, d3d->dev_rotation);
return true;
}

View File

@ -55,7 +55,6 @@ static void d3d_resize(void *data, unsigned new_width, unsigned new_height)
{
d3d_video_t *d3d = (d3d_video_t*)curD3D;
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
global_t *global = global_get_ptr();
if (!d3dr)
return;
@ -65,8 +64,10 @@ static void d3d_resize(void *data, unsigned new_width, unsigned new_height)
if (new_width != d3d->video_info.width || new_height != d3d->video_info.height)
{
RARCH_LOG("[D3D]: Resize %ux%u.\n", new_width, new_height);
d3d->video_info.width = global->video_data.width = new_width;
d3d->video_info.height = global->video_data.height = new_height;
d3d->video_info.width = new_width;
d3d->video_info.height = new_height;
video_driver_set_size_width(new_width);
video_driver_set_size_height(new_height);
d3d_restore(d3d);
}
}

View File

@ -846,3 +846,19 @@ void video_driver_get_size(unsigned *width, unsigned *height)
if (height)
*height = global->video_data.height;
}
void video_driver_set_size_width(unsigned width)
{
global_t *global = global_get_ptr();
if (!global)
return;
global->video_data.width = width;
}
void video_driver_set_size_height(unsigned height)
{
global_t *global = global_get_ptr();
if (!global)
return;
global->video_data.height = height;
}

View File

@ -342,6 +342,10 @@ bool video_driver_set_viewport(unsigned width, unsigned height,
void video_driver_get_size(unsigned *width, unsigned *height);
void video_driver_set_size_width(unsigned width);
void video_driver_set_size_height(unsigned width);
uint64_t video_driver_get_frame_count(void);
#ifdef __cplusplus