17{
19 auto pAdapterList = pRenderer->GetAdapterList();
20
22 {
23 auto uiNumSupportedDevices = pAdapter->GetNumSupportedDevices();
24 auto pModeList = pAdapter->GetModeList();
25
27 {
28 for (
TUINT32 i = 0; i < uiNumSupportedDevices; i++ )
29 {
30 auto pDevice = pMode->GetDevice( i );
31
32 if ( !pDevice->IsSoftware() )
33 {
34 if ( !pDevice->GetMode()->Is32Bit() && !pDevice->GetMode()->Is16Bit() )
35 {
36 continue;
37 }
38
39 auto uiWidth = pDevice->GetMode()->GetWidth();
40 auto uiHeight = pDevice->GetMode()->GetHeight();
41
42 if ( uiWidth == ( uiHeight / 3 ) * 4 ||
43 uiHeight == ( uiWidth / 3 ) * 4 ||
44 uiWidth == ( uiHeight / 4 ) * 5 ||
45 uiWidth == ( uiHeight / 5 ) * 4 ||
46 uiWidth == ( uiHeight / 9 ) * 16 ||
47 uiWidth == ( uiHeight / 10 ) * 16 )
48 {
49 if ( ( 640 <= uiWidth && 480 <= uiHeight ) ||
50 ( 1280 <= uiWidth && 1024 <= uiHeight ) ||
51 ( 1024 <= uiWidth && 1280 <= uiHeight ) ||
52 ( 1280 <= uiWidth && 720 <= uiHeight ) ||
53 ( 1440 <= uiWidth && 900 <= uiHeight ) )
54 {
55 if ( pDevice->GetMode()->Is16Bit() )
56 {
58 {
59 m_Modes.PushBack( { .m_uiWidth = uiWidth, .m_uiHeight = uiHeight, .m_uiColourDepth = 16 } );
60 }
61 }
62
63 if ( pDevice->GetMode()->Is32Bit() )
64 {
66 {
67 m_Modes.PushBack( { .m_uiWidth = uiWidth, .m_uiHeight = uiHeight, .m_uiColourDepth = 32 } );
68 }
69 }
70 }
71 }
72 }
73 }
74 }
75 }
76}
#define TSTATICCAST(POINTERTYPE, VALUE)
#define T2_FOREACH(vecName, iteratorName)
static TFORCEINLINE TRenderInterface * GetSingleton()
TBOOL IsModeExists(const TUINT32 &a_rWidth, const TUINT32 &a_rHeight, const TUINT32 &a_rColourDepth)