Merge remote-tracking branch 'upstream/master'

This commit is contained in:
radius 2015-04-05 12:14:35 -05:00
commit dda1ea9c97
5 changed files with 35 additions and 42 deletions

View File

@ -1650,7 +1650,7 @@ static void config_load_core_specific(void)
* Returns: False if there was an error.
*
*/
bool config_append_specific()
bool config_append_specific(void)
{
char config_directory[PATH_MAX_LENGTH], /* path to the directory containing retroarch.cfg (prefix) */
core_path[PATH_MAX_LENGTH], /* final path for core-specific configuration (prefix+suffix) */

View File

@ -400,7 +400,7 @@ const char *config_get_default_menu(void);
*/
void config_load(void);
bool config_append_specific();
bool config_append_specific(void);
/**
* config_save_keybinds_file:

View File

@ -1097,6 +1097,30 @@ void renderchain_end_render(void *data)
chain->prev.ptr = (chain->prev.ptr + 1) & TEXTURESMASK;
}
static void renderchain_set_mvp(void *data, void *vertex_program,
unsigned vp_width, unsigned vp_height,
unsigned rotation)
{
D3DXMATRIX proj, ortho, rot, tmp;
CGprogram vPrg = (CGprogram)vertex_program;
renderchain_t *chain = (renderchain_t*)data;
if (!chain)
return;
D3DXMatrixOrthoOffCenterLH(&ortho, 0, vp_width, 0, vp_height, 0, 1);
if (rotation)
D3DXMatrixRotationZ(&rot, rotation * (M_PI / 2.0));
else
D3DXMatrixIdentity(&rot);
D3DXMatrixMultiply(&proj, &ortho, &rot);
D3DXMatrixTranspose(&tmp, &proj);
renderchain_set_shader_mvp(chain, &vPrg, &tmp);
}
static void renderchain_set_vertices(
void *data, void *pass_data,
unsigned width, unsigned height,
@ -1179,7 +1203,6 @@ bool renderchain_render(void *chain_data, const void *data,
unsigned i, current_width, current_height, out_width = 0, out_height = 0;
renderchain_t *chain = (renderchain_t*)chain_data;
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)chain->dev;
global_t *global = global_get_ptr();
renderchain_start_render(chain);
@ -1189,10 +1212,6 @@ bool renderchain_render(void *chain_data, const void *data,
&out_width, &out_height,
current_width, current_height, chain->final_viewport);
#ifdef _XBOX1
d3dr->SetFlickerFilter(global->console.screen.flicker_filter_index);
d3dr->SetSoftDisplayFilter(global->console.softfilter_enable);
#endif
renderchain_blit_to_texture(chain, data, width, height, pitch);
/* Grab back buffer. */
@ -1347,29 +1366,6 @@ void renderchain_set_viewport(void *data, void *viewport_data)
d3d_set_viewport(d3dr, vp);
}
void renderchain_set_mvp(void *data, void *vertex_program,
unsigned vp_width, unsigned vp_height,
unsigned rotation)
{
D3DXMATRIX proj, ortho, rot, tmp;
CGprogram vPrg = (CGprogram)vertex_program;
renderchain_t *chain = (renderchain_t*)data;
if (!chain)
return;
D3DXMatrixOrthoOffCenterLH(&ortho, 0, vp_width, 0, vp_height, 0, 1);
if (rotation)
D3DXMatrixRotationZ(&rot, rotation * (M_PI / 2.0));
else
D3DXMatrixIdentity(&rot);
D3DXMatrixMultiply(&proj, &ortho, &rot);
D3DXMatrixTranspose(&tmp, &proj);
renderchain_set_shader_mvp(chain, &vPrg, &tmp);
}
void renderchain_convert_geometry(
void *data, const void *info_data,

View File

@ -80,10 +80,6 @@ bool renderchain_create_first_pass(void *data,
void renderchain_set_viewport(void *data, void *viewport_data);
void renderchain_set_mvp(void *data, void *vertex_program,
unsigned vp_width, unsigned vp_height,
unsigned rotation);
void renderchain_convert_geometry(void *data, const void *info_data,
unsigned *out_width, unsigned *out_height,
unsigned width, unsigned height,

View File

@ -243,8 +243,15 @@ static void renderchain_blit_to_texture(void *data, const void *frame,
unsigned width, unsigned height, unsigned pitch)
{
D3DLOCKED_RECT d3dlr;
d3d_video_t *d3d = (d3d_video_t*)data;
driver_t *driver = driver_get_ptr();
d3d_video_t *d3d = (d3d_video_t*)data;
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
driver_t *driver = driver_get_ptr();
global_t *global = global_get_ptr();
#if defined(_XBOX1)
d3dr->SetFlickerFilter(global->console.screen.flicker_filter_index);
d3dr->SetSoftDisplayFilter(global->console.softfilter_enable);
#endif
if (d3d->last_width != width || d3d->last_height != height)
{
@ -264,12 +271,6 @@ static void renderchain_render_pass(void *data, const void *frame,
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
runloop_t *runloop = rarch_main_get_ptr();
settings_t *settings = config_get_ptr();
global_t *global = global_get_ptr();
#if defined(_XBOX1)
d3dr->SetFlickerFilter(global->console.screen.flicker_filter_index);
d3dr->SetSoftDisplayFilter(global->console.softfilter_enable);
#endif
renderchain_blit_to_texture(d3d, frame, width, height, pitch);
renderchain_set_vertices(d3d, 1, width, height);