mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 08:43:10 +00:00
Cleanup Xbox 360 code from d3d_ctx
This commit is contained in:
parent
dbf2fae5c1
commit
dfdbc00a84
@ -46,6 +46,7 @@
|
|||||||
#ifndef _XBOX
|
#ifndef _XBOX
|
||||||
#define HAVE_MONITOR
|
#define HAVE_MONITOR
|
||||||
#define HAVE_WINDOW
|
#define HAVE_WINDOW
|
||||||
|
#define D3D9_PRESENTATIONINTERVAL D3DRS_PRESENTINTERVAL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
@ -62,6 +63,10 @@ static LPDIRECT3D9 g_pD3D9;
|
|||||||
|
|
||||||
void *dinput;
|
void *dinput;
|
||||||
|
|
||||||
|
#ifdef _XBOX
|
||||||
|
static bool d3d9_widescreen_mode = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
static bool d3d9_set_resize(d3d_video_t *d3d,
|
static bool d3d9_set_resize(d3d_video_t *d3d,
|
||||||
unsigned new_width, unsigned new_height)
|
unsigned new_width, unsigned new_height)
|
||||||
{
|
{
|
||||||
@ -603,7 +608,7 @@ static void d3d9_get_video_size(d3d_video_t *d3d,
|
|||||||
*height = 480;
|
*height = 480;
|
||||||
}
|
}
|
||||||
|
|
||||||
widescreen_mode = video_mode.fIsWideScreen;
|
d3d9_widescreen_mode = video_mode.fIsWideScreen;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -679,10 +684,8 @@ void d3d_make_d3dpp(void *data,
|
|||||||
#ifdef _XBOX
|
#ifdef _XBOX
|
||||||
d3dpp->MultiSampleType = D3DMULTISAMPLE_NONE;
|
d3dpp->MultiSampleType = D3DMULTISAMPLE_NONE;
|
||||||
d3dpp->EnableAutoDepthStencil = FALSE;
|
d3dpp->EnableAutoDepthStencil = FALSE;
|
||||||
#if 0
|
if (!d3d9_widescreen_mode)
|
||||||
if (!widescreen_mode)
|
|
||||||
d3dpp->Flags |= D3DPRESENTFLAG_NO_LETTERBOX;
|
d3dpp->Flags |= D3DPRESENTFLAG_NO_LETTERBOX;
|
||||||
#endif
|
|
||||||
d3dpp->MultiSampleQuality = 0;
|
d3dpp->MultiSampleQuality = 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -960,7 +963,7 @@ static void d3d9_set_nonblock_state(void *data, bool state)
|
|||||||
|
|
||||||
#ifdef _XBOX
|
#ifdef _XBOX
|
||||||
d3d_set_render_state(d3d->dev,
|
d3d_set_render_state(d3d->dev,
|
||||||
XBOX_PRESENTATIONINTERVAL,
|
D3D9_PRESENTATIONINTERVAL,
|
||||||
interval ?
|
interval ?
|
||||||
D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE
|
D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE
|
||||||
);
|
);
|
||||||
|
@ -36,26 +36,13 @@
|
|||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#ifndef _XBOX
|
#ifndef _XBOX
|
||||||
#ifndef HAVE_DYLIB
|
|
||||||
#pragma comment( lib, "d3d9" )
|
|
||||||
#pragma comment( lib, "d3dx9" )
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_CG
|
|
||||||
#pragma comment( lib, "cgd3d9" )
|
|
||||||
#endif
|
|
||||||
#pragma comment( lib, "dxguid" )
|
#pragma comment( lib, "dxguid" )
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX)
|
||||||
#define XBOX_PRESENTATIONINTERVAL D3DRS_PRESENTATIONINTERVAL
|
#define XBOX_PRESENTATIONINTERVAL D3DRS_PRESENTATIONINTERVAL
|
||||||
#define PresentationInterval FullScreen_PresentationInterval
|
#define PresentationInterval FullScreen_PresentationInterval
|
||||||
#elif defined(_XBOX360)
|
|
||||||
#define XBOX_PRESENTATIONINTERVAL D3DRS_PRESENTINTERVAL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _XBOX
|
|
||||||
static bool widescreen_mode = false;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct gfx_ctx_d3d_data
|
typedef struct gfx_ctx_d3d_data
|
||||||
@ -200,10 +187,6 @@ static bool gfx_ctx_d3d_bind_api(void *data,
|
|||||||
if (api == GFX_CTX_DIRECT3D8_API)
|
if (api == GFX_CTX_DIRECT3D8_API)
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
case GFX_CTX_DIRECT3D9_API:
|
|
||||||
if (api == GFX_CTX_DIRECT3D9_API)
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -281,97 +264,65 @@ static void gfx_ctx_d3d_get_video_size(void *data,
|
|||||||
unsigned *width, unsigned *height)
|
unsigned *width, unsigned *height)
|
||||||
{
|
{
|
||||||
#ifdef _XBOX
|
#ifdef _XBOX
|
||||||
#ifdef _XBOX360
|
|
||||||
XVIDEO_MODE video_mode;
|
|
||||||
#endif
|
|
||||||
d3d_video_t *d3d = (d3d_video_t*)data;
|
d3d_video_t *d3d = (d3d_video_t*)data;
|
||||||
|
DWORD video_mode = XGetVideoFlags();
|
||||||
|
|
||||||
(void)width;
|
*width = 640;
|
||||||
(void)height;
|
*height = 480;
|
||||||
#if defined(_XBOX360)
|
widescreen_mode = false;
|
||||||
XGetVideoMode(&video_mode);
|
|
||||||
|
|
||||||
*width = video_mode.dwDisplayWidth;
|
/* Only valid in PAL mode, not valid for HDTV modes! */
|
||||||
*height = video_mode.dwDisplayHeight;
|
|
||||||
|
|
||||||
d3d->resolution_hd_enable = false;
|
if(XGetVideoStandard() == XC_VIDEO_STANDARD_PAL_I)
|
||||||
|
|
||||||
if(video_mode.fIsHiDef)
|
|
||||||
{
|
{
|
||||||
*width = 1280;
|
/* Check for 16:9 mode (PAL REGION) */
|
||||||
*height = 720;
|
if(video_mode & XC_VIDEO_FLAGS_WIDESCREEN)
|
||||||
d3d->resolution_hd_enable = true;
|
{
|
||||||
|
*width = 720;
|
||||||
|
//60 Hz, 720x480i
|
||||||
|
if(video_mode & XC_VIDEO_FLAGS_PAL_60Hz)
|
||||||
|
*height = 480;
|
||||||
|
else //50 Hz, 720x576i
|
||||||
|
*height = 576;
|
||||||
|
widescreen_mode = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
*width = 640;
|
/* Check for 16:9 mode (NTSC REGIONS) */
|
||||||
*height = 480;
|
if(video_mode & XC_VIDEO_FLAGS_WIDESCREEN)
|
||||||
|
{
|
||||||
|
*width = 720;
|
||||||
|
*height = 480;
|
||||||
|
widescreen_mode = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
widescreen_mode = video_mode.fIsWideScreen;
|
if(XGetAVPack() == XC_AV_PACK_HDTV)
|
||||||
#elif defined(_XBOX1)
|
|
||||||
{
|
{
|
||||||
DWORD video_mode = XGetVideoFlags();
|
if(video_mode & XC_VIDEO_FLAGS_HDTV_480p)
|
||||||
|
|
||||||
*width = 640;
|
|
||||||
*height = 480;
|
|
||||||
|
|
||||||
widescreen_mode = false;
|
|
||||||
|
|
||||||
/* Only valid in PAL mode, not valid for HDTV modes! */
|
|
||||||
|
|
||||||
if(XGetVideoStandard() == XC_VIDEO_STANDARD_PAL_I)
|
|
||||||
{
|
{
|
||||||
/* Check for 16:9 mode (PAL REGION) */
|
*width = 640;
|
||||||
if(video_mode & XC_VIDEO_FLAGS_WIDESCREEN)
|
*height = 480;
|
||||||
{
|
widescreen_mode = false;
|
||||||
*width = 720;
|
d3d->resolution_hd_enable = true;
|
||||||
//60 Hz, 720x480i
|
|
||||||
if(video_mode & XC_VIDEO_FLAGS_PAL_60Hz)
|
|
||||||
*height = 480;
|
|
||||||
else //50 Hz, 720x576i
|
|
||||||
*height = 576;
|
|
||||||
widescreen_mode = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else if(video_mode & XC_VIDEO_FLAGS_HDTV_720p)
|
||||||
{
|
{
|
||||||
/* Check for 16:9 mode (NTSC REGIONS) */
|
*width = 1280;
|
||||||
if(video_mode & XC_VIDEO_FLAGS_WIDESCREEN)
|
*height = 720;
|
||||||
{
|
widescreen_mode = true;
|
||||||
*width = 720;
|
d3d->resolution_hd_enable = true;
|
||||||
*height = 480;
|
|
||||||
widescreen_mode = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else if(video_mode & XC_VIDEO_FLAGS_HDTV_1080i)
|
||||||
if(XGetAVPack() == XC_AV_PACK_HDTV)
|
|
||||||
{
|
{
|
||||||
if(video_mode & XC_VIDEO_FLAGS_HDTV_480p)
|
*width = 1920;
|
||||||
{
|
*height = 1080;
|
||||||
*width = 640;
|
widescreen_mode = true;
|
||||||
*height = 480;
|
d3d->resolution_hd_enable = true;
|
||||||
widescreen_mode = false;
|
|
||||||
d3d->resolution_hd_enable = true;
|
|
||||||
}
|
|
||||||
else if(video_mode & XC_VIDEO_FLAGS_HDTV_720p)
|
|
||||||
{
|
|
||||||
*width = 1280;
|
|
||||||
*height = 720;
|
|
||||||
widescreen_mode = true;
|
|
||||||
d3d->resolution_hd_enable = true;
|
|
||||||
}
|
|
||||||
else if(video_mode & XC_VIDEO_FLAGS_HDTV_1080i)
|
|
||||||
{
|
|
||||||
*width = 1920;
|
|
||||||
*height = 1080;
|
|
||||||
widescreen_mode = true;
|
|
||||||
d3d->resolution_hd_enable = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gfx_ctx_d3d_swap_interval(void *data, unsigned interval)
|
static void gfx_ctx_d3d_swap_interval(void *data, unsigned interval)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user