mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
Revert "(D3D) Cleanups"
This reverts commit 6bf2c34da74c58d4f71a1241ff94358484474c30.
This commit is contained in:
parent
6bf2c34da7
commit
c955664e45
120
gfx/d3d/d3d.cpp
120
gfx/d3d/d3d.cpp
@ -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);
|
static void d3d_free_overlay(d3d_video_t *d3d, overlay_t *overlay);
|
||||||
#endif
|
#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,
|
void d3d_make_d3dpp(void *data, const video_info_t *info,
|
||||||
D3DPRESENT_PARAMETERS *d3dpp);
|
D3DPRESENT_PARAMETERS *d3dpp);
|
||||||
@ -104,10 +108,12 @@ static bool d3d_init_shader(void *data)
|
|||||||
|
|
||||||
static void d3d_deinit_chain(d3d_video_t *d3d)
|
static void d3d_deinit_chain(d3d_video_t *d3d)
|
||||||
{
|
{
|
||||||
|
#ifdef _XBOX
|
||||||
|
renderchain_free(d3d);
|
||||||
|
#else
|
||||||
renderchain_deinit(d3d->chain);
|
renderchain_deinit(d3d->chain);
|
||||||
d3d->chain = NULL;
|
d3d->chain = NULL;
|
||||||
|
#endif
|
||||||
renderchain_free(d3d);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void d3d_deinitialize(d3d_video_t *d3d)
|
static void d3d_deinitialize(d3d_video_t *d3d)
|
||||||
@ -462,10 +468,10 @@ static bool d3d_construct(d3d_video_t *d3d,
|
|||||||
void **input_data)
|
void **input_data)
|
||||||
{
|
{
|
||||||
unsigned full_x, full_y;
|
unsigned full_x, full_y;
|
||||||
driver_t *driver = driver_get_ptr();
|
driver_t *driver = driver_get_ptr();
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
d3d->should_resize = false;
|
d3d->should_resize = false;
|
||||||
#ifndef _XBOX
|
#ifndef _XBOX
|
||||||
gfx_set_dwm();
|
gfx_set_dwm();
|
||||||
#endif
|
#endif
|
||||||
@ -474,34 +480,33 @@ static bool d3d_construct(d3d_video_t *d3d,
|
|||||||
if (d3d->menu)
|
if (d3d->menu)
|
||||||
free(d3d->menu);
|
free(d3d->menu);
|
||||||
|
|
||||||
d3d->menu = (overlay_t*)
|
d3d->menu = (overlay_t*)calloc(1, sizeof(overlay_t));
|
||||||
calloc(1, sizeof(overlay_t));
|
|
||||||
|
|
||||||
if (!d3d->menu)
|
if (!d3d->menu)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
d3d->menu->tex_coords.x = 0;
|
d3d->menu->tex_coords.x = 0;
|
||||||
d3d->menu->tex_coords.y = 0;
|
d3d->menu->tex_coords.y = 0;
|
||||||
d3d->menu->tex_coords.w = 1;
|
d3d->menu->tex_coords.w = 1;
|
||||||
d3d->menu->tex_coords.h = 1;
|
d3d->menu->tex_coords.h = 1;
|
||||||
d3d->menu->vert_coords.x = 0;
|
d3d->menu->vert_coords.x = 0;
|
||||||
d3d->menu->vert_coords.y = 1;
|
d3d->menu->vert_coords.y = 1;
|
||||||
d3d->menu->vert_coords.w = 1;
|
d3d->menu->vert_coords.w = 1;
|
||||||
d3d->menu->vert_coords.h = -1;
|
d3d->menu->vert_coords.h = -1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_WINDOW) && !defined(_XBOX)
|
#if defined(HAVE_WINDOW) && !defined(_XBOX)
|
||||||
memset(&d3d->windowClass, 0, sizeof(d3d->windowClass));
|
memset(&d3d->windowClass, 0, sizeof(d3d->windowClass));
|
||||||
|
|
||||||
d3d->windowClass.cbSize = sizeof(d3d->windowClass);
|
d3d->windowClass.cbSize = sizeof(d3d->windowClass);
|
||||||
d3d->windowClass.style = CS_HREDRAW | CS_VREDRAW;
|
d3d->windowClass.style = CS_HREDRAW | CS_VREDRAW;
|
||||||
d3d->windowClass.lpfnWndProc = WindowProc;
|
d3d->windowClass.lpfnWndProc = WindowProc;
|
||||||
d3d->windowClass.hInstance = NULL;
|
d3d->windowClass.hInstance = NULL;
|
||||||
d3d->windowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
|
d3d->windowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||||
d3d->windowClass.lpszClassName = "RetroArch";
|
d3d->windowClass.lpszClassName = "RetroArch";
|
||||||
d3d->windowClass.hIcon = LoadIcon(GetModuleHandle(NULL),
|
d3d->windowClass.hIcon = LoadIcon(GetModuleHandle(NULL),
|
||||||
MAKEINTRESOURCE(IDI_ICON));
|
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);
|
MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 16, 16, 0);
|
||||||
if (!info->fullscreen)
|
if (!info->fullscreen)
|
||||||
d3d->windowClass.hbrBackground = (HBRUSH)COLOR_WINDOW;
|
d3d->windowClass.hbrBackground = (HBRUSH)COLOR_WINDOW;
|
||||||
@ -567,9 +572,7 @@ static bool d3d_construct(d3d_video_t *d3d,
|
|||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
#ifndef _XBOX
|
#if defined(HAVE_WINDOW) && !defined(_XBOX)
|
||||||
|
|
||||||
#if defined(HAVE_WINDOW)
|
|
||||||
if (!info->fullscreen && settings->ui.menubar_enable)
|
if (!info->fullscreen && settings->ui.menubar_enable)
|
||||||
{
|
{
|
||||||
RECT rc_temp = {0, 0, win_height, 0x7FFF};
|
RECT rc_temp = {0, 0, win_height, 0x7FFF};
|
||||||
@ -586,6 +589,7 @@ static bool d3d_construct(d3d_video_t *d3d,
|
|||||||
SetFocus(d3d->hWnd);
|
SetFocus(d3d->hWnd);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef _XBOX
|
||||||
#ifdef HAVE_SHADERS
|
#ifdef HAVE_SHADERS
|
||||||
/* This should only be done once here
|
/* This should only be done once here
|
||||||
* to avoid set_shader() to be overridden
|
* to avoid set_shader() to be overridden
|
||||||
@ -598,7 +602,6 @@ static bool d3d_construct(d3d_video_t *d3d,
|
|||||||
if (!d3d_process_shader(d3d))
|
if (!d3d_process_shader(d3d))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
d3d->video_info = *info;
|
d3d->video_info = *info;
|
||||||
@ -663,26 +666,6 @@ static const gfx_ctx_driver_t *d3d_get_context(void *data)
|
|||||||
api, major, minor, false);
|
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,
|
static void *d3d_init(const video_info_t *info,
|
||||||
const input_driver_t **input, void **input_data)
|
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;
|
video_info->input_scale * RARCH_SCALE_BASE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
d3d->chain = renderchain_new();
|
|
||||||
|
|
||||||
if (!d3d->chain)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
#ifdef _XBOX
|
#ifdef _XBOX
|
||||||
if (!renderchain_init(d3d, video_info,
|
if (!renderchain_init(d3d, video_info,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
video_info->rgb32 ?
|
video_info->rgb32 ?
|
||||||
RETRO_PIXEL_FORMAT_XRGB8888 : RETRO_PIXEL_FORMAT_RGB565))
|
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");
|
RARCH_ERR("[D3D]: Failed to init render chain.\n");
|
||||||
return false;
|
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_width = link_info.tex_w;
|
||||||
current_height = link_info.tex_h;
|
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;
|
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 _XBOX
|
||||||
#ifdef HAVE_RMENU
|
#ifdef HAVE_RMENU
|
||||||
|
Loading…
x
Reference in New Issue
Block a user