PAL and Progressive Scan support for XBox ..
This commit is contained in:
@@ -459,24 +459,61 @@ bool RageDisplay_D3D::TryVideoMode( VideoModeParams p, bool &bNewDeviceOut )
|
||||
|
||||
SDL_ShowCursor( p.windowed );
|
||||
#endif
|
||||
|
||||
ZeroMemory( &g_d3dpp, sizeof(g_d3dpp) );
|
||||
|
||||
#ifndef _XBOX
|
||||
|
||||
if(p.windowed)
|
||||
{
|
||||
g_d3dpp.BackBufferWidth = p.width;
|
||||
g_d3dpp.BackBufferHeight = p.height;
|
||||
g_d3dpp.BackBufferFormat = FindBackBufferType( p.windowed, p.bpp );
|
||||
g_d3dpp.BackBufferCount = 1;
|
||||
g_d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
|
||||
g_d3dpp.SwapEffect = D3DSWAPEFFECT_COPY;
|
||||
g_d3dpp.hDeviceWindow = NULL;
|
||||
g_d3dpp.Windowed = p.windowed;
|
||||
g_d3dpp.EnableAutoDepthStencil = TRUE;
|
||||
g_d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
|
||||
g_d3dpp.Flags = 0;
|
||||
g_d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
|
||||
g_d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_d3dpp.BackBufferWidth = p.width;
|
||||
g_d3dpp.BackBufferHeight = p.height;
|
||||
g_d3dpp.BackBufferFormat = FindBackBufferType( p.windowed, p.bpp );
|
||||
g_d3dpp.BackBufferCount = 1;
|
||||
g_d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
|
||||
g_d3dpp.SwapEffect = D3DSWAPEFFECT_FLIP;
|
||||
g_d3dpp.hDeviceWindow = NULL;
|
||||
g_d3dpp.Windowed = p.windowed;
|
||||
g_d3dpp.EnableAutoDepthStencil = TRUE;
|
||||
g_d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
|
||||
g_d3dpp.Flags = 0;
|
||||
g_d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
|
||||
g_d3dpp.FullScreen_PresentationInterval = p.vsync ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
ZeroMemory( &g_d3dpp, sizeof(g_d3dpp) );
|
||||
g_d3dpp.BackBufferWidth = p.width;
|
||||
g_d3dpp.BackBufferHeight = p.height;
|
||||
g_d3dpp.BackBufferFormat = FindBackBufferType( p.windowed, p.bpp );
|
||||
g_d3dpp.BackBufferCount = 1;
|
||||
g_d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
|
||||
g_d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
|
||||
g_d3dpp.BackBufferHeight = p.height;
|
||||
g_d3dpp.BackBufferFormat = FindBackBufferType( p.windowed, p.bpp );
|
||||
g_d3dpp.BackBufferCount = 1;
|
||||
g_d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
|
||||
g_d3dpp.SwapEffect = D3DSWAPEFFECT_FLIP;
|
||||
g_d3dpp.hDeviceWindow = NULL;
|
||||
g_d3dpp.Windowed = p.windowed;
|
||||
g_d3dpp.EnableAutoDepthStencil = TRUE;
|
||||
g_d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
|
||||
g_d3dpp.Flags = 0;
|
||||
g_d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
|
||||
g_d3dpp.Windowed = 0;
|
||||
g_d3dpp.EnableAutoDepthStencil = TRUE;
|
||||
g_d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
|
||||
g_d3dpp.Flags = (p.progressive ? D3DPRESENTFLAG_PROGRESSIVE : D3DPRESENTFLAG_INTERLACED) | D3DPRESENTFLAG_10X11PIXELASPECTRATIO;
|
||||
g_d3dpp.FullScreen_RefreshRateInHz = p.PAL ? 50 : 60;
|
||||
g_d3dpp.FullScreen_PresentationInterval = p.vsync ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
|
||||
/* Windowed must always use D3DPRESENT_INTERVAL_DEFAULT. */
|
||||
g_d3dpp.FullScreen_PresentationInterval =
|
||||
(p.windowed || p.vsync) ? D3DPRESENT_INTERVAL_DEFAULT : D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
#endif
|
||||
|
||||
LOG->Trace( "Present Parameters: %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d",
|
||||
g_d3dpp.BackBufferWidth, g_d3dpp.BackBufferHeight, g_d3dpp.BackBufferFormat,
|
||||
|
||||
Reference in New Issue
Block a user