Revert "(D3D) Cleanups"

This reverts commit 6bf2c34da74c58d4f71a1241ff94358484474c30.
This commit is contained in:
twinaphex 2015-04-06 01:31:54 +02:00
parent 6bf2c34da7
commit c955664e45

View File

@ -71,6 +71,10 @@ static void d3d_free_overlays(d3d_video_t *d3d);
static void d3d_free_overlay(d3d_video_t *d3d, overlay_t *overlay);
#endif
#ifdef _XBOX
static void d3d_reinit_renderchain(void *data,
const video_info_t *video);
#endif
void d3d_make_d3dpp(void *data, const video_info_t *info,
D3DPRESENT_PARAMETERS *d3dpp);
@ -104,10 +108,12 @@ static bool d3d_init_shader(void *data)
static void d3d_deinit_chain(d3d_video_t *d3d)
{
#ifdef _XBOX
renderchain_free(d3d);
#else
renderchain_deinit(d3d->chain);
d3d->chain = NULL;
renderchain_free(d3d);
#endif
}
static void d3d_deinitialize(d3d_video_t *d3d)
@ -462,10 +468,10 @@ static bool d3d_construct(d3d_video_t *d3d,
void **input_data)
{
unsigned full_x, full_y;
driver_t *driver = driver_get_ptr();
settings_t *settings = config_get_ptr();
driver_t *driver = driver_get_ptr();
settings_t *settings = config_get_ptr();
d3d->should_resize = false;
d3d->should_resize = false;
#ifndef _XBOX
gfx_set_dwm();
#endif
@ -474,34 +480,33 @@ static bool d3d_construct(d3d_video_t *d3d,
if (d3d->menu)
free(d3d->menu);
d3d->menu = (overlay_t*)
calloc(1, sizeof(overlay_t));
d3d->menu = (overlay_t*)calloc(1, sizeof(overlay_t));
if (!d3d->menu)
return false;
d3d->menu->tex_coords.x = 0;
d3d->menu->tex_coords.y = 0;
d3d->menu->tex_coords.w = 1;
d3d->menu->tex_coords.h = 1;
d3d->menu->vert_coords.x = 0;
d3d->menu->vert_coords.y = 1;
d3d->menu->vert_coords.w = 1;
d3d->menu->vert_coords.h = -1;
d3d->menu->tex_coords.x = 0;
d3d->menu->tex_coords.y = 0;
d3d->menu->tex_coords.w = 1;
d3d->menu->tex_coords.h = 1;
d3d->menu->vert_coords.x = 0;
d3d->menu->vert_coords.y = 1;
d3d->menu->vert_coords.w = 1;
d3d->menu->vert_coords.h = -1;
#endif
#if defined(HAVE_WINDOW) && !defined(_XBOX)
memset(&d3d->windowClass, 0, sizeof(d3d->windowClass));
d3d->windowClass.cbSize = sizeof(d3d->windowClass);
d3d->windowClass.style = CS_HREDRAW | CS_VREDRAW;
d3d->windowClass.lpfnWndProc = WindowProc;
d3d->windowClass.hInstance = NULL;
d3d->windowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
d3d->windowClass.lpszClassName = "RetroArch";
d3d->windowClass.hIcon = LoadIcon(GetModuleHandle(NULL),
d3d->windowClass.cbSize = sizeof(d3d->windowClass);
d3d->windowClass.style = CS_HREDRAW | CS_VREDRAW;
d3d->windowClass.lpfnWndProc = WindowProc;
d3d->windowClass.hInstance = NULL;
d3d->windowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
d3d->windowClass.lpszClassName = "RetroArch";
d3d->windowClass.hIcon = LoadIcon(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDI_ICON));
d3d->windowClass.hIconSm = (HICON)LoadImage(GetModuleHandle(NULL),
d3d->windowClass.hIconSm = (HICON)LoadImage(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 16, 16, 0);
if (!info->fullscreen)
d3d->windowClass.hbrBackground = (HBRUSH)COLOR_WINDOW;
@ -567,9 +572,7 @@ static bool d3d_construct(d3d_video_t *d3d,
#endif
);
#ifndef _XBOX
#if defined(HAVE_WINDOW)
#if defined(HAVE_WINDOW) && !defined(_XBOX)
if (!info->fullscreen && settings->ui.menubar_enable)
{
RECT rc_temp = {0, 0, win_height, 0x7FFF};
@ -586,6 +589,7 @@ static bool d3d_construct(d3d_video_t *d3d,
SetFocus(d3d->hWnd);
#endif
#ifndef _XBOX
#ifdef HAVE_SHADERS
/* This should only be done once here
* to avoid set_shader() to be overridden
@ -598,7 +602,6 @@ static bool d3d_construct(d3d_video_t *d3d,
if (!d3d_process_shader(d3d))
return false;
#endif
#endif
d3d->video_info = *info;
@ -663,26 +666,6 @@ static const gfx_ctx_driver_t *d3d_get_context(void *data)
api, major, minor, false);
}
#ifdef _XBOX
static void d3d_reinit_renderchain(void *data,
const video_info_t *video)
{
d3d_video_t *d3d = (d3d_video_t*)data;
if (!d3d)
return;
d3d->pixel_size = video->rgb32 ? sizeof(uint32_t) : sizeof(uint16_t);
d3d->tex_w = d3d->tex_h = RARCH_SCALE_BASE * video->input_scale;
RARCH_LOG(
"Reinitializing renderchain - and textures (%u x %u @ %u bpp)\n",
d3d->tex_w, d3d->tex_h, d3d->pixel_size * CHAR_BIT);
d3d_deinit_chain(d3d);
d3d_init_chain(d3d, video);
}
#endif
static void *d3d_init(const video_info_t *info,
const input_driver_t **input, void **input_data)
{
@ -911,26 +894,28 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info)
video_info->input_scale * RARCH_SCALE_BASE;
#endif
d3d->chain = renderchain_new();
if (!d3d->chain)
return false;
#ifdef _XBOX
if (!renderchain_init(d3d, video_info,
NULL, NULL, NULL,
video_info->rgb32 ?
RETRO_PIXEL_FORMAT_XRGB8888 : RETRO_PIXEL_FORMAT_RGB565))
#else
if (!renderchain_init(d3d->chain, &d3d->video_info, d3dr,
&d3d->final_viewport, &link_info,
d3d->video_info.rgb32 ?
RETRO_PIXEL_FORMAT_XRGB8888 : RETRO_PIXEL_FORMAT_RGB565))
#endif
{
RARCH_ERR("[D3D]: Failed to init render chain.\n");
return false;
}
#else
d3d->chain = renderchain_new();
if (!d3d->chain)
return false;
if (!renderchain_init(d3d->chain, &d3d->video_info, d3dr,
&d3d->final_viewport, &link_info,
d3d->video_info.rgb32 ? RETRO_PIXEL_FORMAT_XRGB8888 : RETRO_PIXEL_FORMAT_RGB565))
{
RARCH_ERR("[D3D9]: Failed to init render chain.\n");
return false;
}
current_width = link_info.tex_w;
current_height = link_info.tex_h;
@ -977,6 +962,25 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info)
return true;
}
#ifdef _XBOX
static void d3d_reinit_renderchain(void *data,
const video_info_t *video)
{
d3d_video_t *d3d = (d3d_video_t*)data;
if (!d3d)
return;
d3d->pixel_size = video->rgb32 ? sizeof(uint32_t) : sizeof(uint16_t);
d3d->tex_w = d3d->tex_h = RARCH_SCALE_BASE * video->input_scale;
RARCH_LOG(
"Reinitializing renderchain - and textures (%u x %u @ %u bpp)\n",
d3d->tex_w, d3d->tex_h, d3d->pixel_size * CHAR_BIT);
d3d_deinit_chain(d3d);
d3d_init_chain(d3d, video);
}
#endif
#ifdef _XBOX
#ifdef HAVE_RMENU