MCPcopy Create free account
hub / github.com/carbonengine/trinity / PopulatePresentParams

Function PopulatePresentParams

trinity/UI/Tr2MainWindow.cpp:19–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17const Tr2RenderContextEnum::PixelFormat BACK_BUFFER_FORMAT = Tr2RenderContextEnum::PIXEL_FORMAT_B8G8R8A8_UNORM;
18
19ALResult PopulatePresentParams( Tr2PresentParametersAL& presentParams, Tr2WindowMode::Type windowMode, uint32_t adapter, uint32_t width, uint32_t height, Tr2RenderContextEnum::PresentInterval presentInterval )
20{
21 unsigned adapterCount;
22 CR_RETURN_HR( Tr2VideoAdapterInfo::GetAdapterCount( adapterCount ) );
23 if( adapter >= adapterCount )
24 {
25 return E_INVALIDARG;
26 }
27
28 presentParams.backBufferCount = 1;
29 presentParams.presentInterval = presentInterval;
30 presentParams.msaaType = 1;
31 presentParams.msaaQuality = 0;
32 presentParams.software = false;
33 presentParams.windowed = windowMode != Tr2WindowMode::FULL_SCREEN;
34 presentParams.swapEffect = Tr2RenderContextEnum::SWAP_EFFECT_DISCARD;
35
36 if( windowMode == Tr2WindowMode::FULL_SCREEN )
37 {
38 bool found = false;
39 unsigned modeCount;
40 CR_RETURN_HR( Tr2VideoAdapterInfo::GetAdapterModeCount( adapter, BACK_BUFFER_FORMAT, modeCount ) );
41 for( unsigned i = 0; i < modeCount; ++i )
42 {
43 Tr2DisplayModeInfo info;
44 CR_RETURN_HR( Tr2VideoAdapterInfo::GetAdapterMode( adapter, BACK_BUFFER_FORMAT, i, info ) );
45 if( info.width == width && info.height == height )
46 {
47 presentParams.mode = info;
48 found = true;
49 break;
50 }
51 }
52 if( !found )
53 {
54 return E_INVALIDARG;
55 }
56 }
57 else
58 {
59 presentParams.mode = Tr2DisplayModeInfo();
60 presentParams.mode.format = BACK_BUFFER_FORMAT;
61 presentParams.mode.width = width;
62 presentParams.mode.height = height;
63 }
64 return S_OK;
65}
66
67std::string ToString( Tr2WindowMode::Type windowMode )
68{

Callers 1

Calls 1

Tr2DisplayModeInfoClass · 0.50

Tested by

no test coverage detected