(D3D) Implement stub d3d_restore function for XDK

This commit is contained in:
twinaphex 2014-06-08 23:35:14 +02:00
parent e4abd58485
commit e02d61a6a9
3 changed files with 11 additions and 8 deletions

View File

@ -49,7 +49,6 @@ extern bool d3d_restore(void *data);
static void d3d_resize(void *data, unsigned new_width, unsigned new_height) static void d3d_resize(void *data, unsigned new_width, unsigned new_height)
{ {
(void)data; (void)data;
#ifndef _XBOX
d3d_video_t *d3d = (d3d_video_t*)curD3D; d3d_video_t *d3d = (d3d_video_t*)curD3D;
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev; LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
if (!d3dr) if (!d3dr)
@ -63,7 +62,6 @@ static void d3d_resize(void *data, unsigned new_width, unsigned new_height)
d3d->video_info.height = d3d->screen_height = new_height; d3d->video_info.height = d3d->screen_height = new_height;
d3d_restore(d3d); d3d_restore(d3d);
} }
#endif
} }
#ifdef HAVE_WINDOW #ifdef HAVE_WINDOW

View File

@ -500,8 +500,12 @@ static bool d3d_initialize(void *data, const video_info_t *info)
bool d3d_restore(void *data) bool d3d_restore(void *data)
{ {
d3d_video_t *d3d = (d3d_video_t*)data; d3d_video_t *d3d = (d3d_video_t*)data;
#ifdef _XBOX
d3d->needs_restore = false;
#else
d3d_deinitialize(d3d); d3d_deinitialize(d3d);
d3d->needs_restore = !d3d_initialize(d3d, &d3d->video_info); d3d->needs_restore = !d3d_initialize(d3d, &d3d->video_info);
#endif
if (d3d->needs_restore) if (d3d->needs_restore)
RARCH_ERR("[D3D]: Restore error.\n"); RARCH_ERR("[D3D]: Restore error.\n");
@ -698,13 +702,12 @@ static bool d3d_frame(void *data, const void *frame,
// We cannot recover in fullscreen. // We cannot recover in fullscreen.
if (d3d->needs_restore && IsIconic(d3d->hWnd)) if (d3d->needs_restore && IsIconic(d3d->hWnd))
return true; return true;
#endif
if (d3d->needs_restore && !d3d_restore(d3d)) if (d3d->needs_restore && !d3d_restore(d3d))
{ {
RARCH_ERR("[D3D]: Failed to restore.\n"); RARCH_ERR("[D3D]: Failed to restore.\n");
return false; return false;
} }
#endif
if (d3d->should_resize) if (d3d->should_resize)
{ {

View File

@ -751,19 +751,22 @@ static bool d3d_initialize(void *data, const video_info_t *info)
return true; return true;
} }
#ifndef _XBOX
bool d3d_restore(void *data) bool d3d_restore(void *data)
{ {
d3d_video_t *d3d = (d3d_video_t*)data; d3d_video_t *d3d = (d3d_video_t*)data;
#ifdef _XBOX
d3d_deinitialize(d3d); d3d_deinitialize(d3d);
d3d->needs_restore = !d3d_initialize(d3d, &d3d->video_info); d3d->needs_restore = !d3d_initialize(d3d, &d3d->video_info);
#else
d3d->needs_restore = false;
#endif
if (d3d->needs_restore) if (d3d->needs_restore)
RARCH_ERR("[D3D]: Restore error.\n"); RARCH_ERR("[D3D]: Restore error.\n");
return !d3d->needs_restore; return !d3d->needs_restore;
} }
#endif
static void d3d_set_viewport(void *data, int x, int y, unsigned width, unsigned height) static void d3d_set_viewport(void *data, int x, int y, unsigned width, unsigned height)
{ {
@ -847,13 +850,12 @@ static bool d3d_frame(void *data, const void *frame,
// We cannot recover in fullscreen. // We cannot recover in fullscreen.
if (d3d->needs_restore && IsIconic(d3d->hWnd)) if (d3d->needs_restore && IsIconic(d3d->hWnd))
return true; return true;
#endif
if (d3d->needs_restore && !d3d_restore(d3d)) if (d3d->needs_restore && !d3d_restore(d3d))
{ {
RARCH_ERR("[D3D]: Failed to restore.\n"); RARCH_ERR("[D3D]: Failed to restore.\n");
return false; return false;
} }
#endif
if (d3d->should_resize) if (d3d->should_resize)
{ {