MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / Init

Method Init

Source/Engine/GraphicsDevice/DirectX/DX12/GPUDeviceDX12.cpp:566–921  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

564}
565
566bool GPUDeviceDX12::Init()
567{
568#if PLATFORM_XBOX_SCARLETT || PLATFORM_XBOX_ONE
569 // Create DirectX device
570 D3D12XBOX_CREATE_DEVICE_PARAMETERS params = {};
571 params.Version = D3D12_SDK_VERSION;
572#if GPU_ENABLE_DIAGNOSTICS
573 params.ProcessDebugFlags = D3D12_PROCESS_DEBUG_FLAG_DEBUG_LAYER_ENABLED;
574#elif !BUILD_RELEASE
575 params.ProcessDebugFlags = D3D12XBOX_PROCESS_DEBUG_FLAG_INSTRUMENTED;
576#endif
577 params.GraphicsCommandQueueRingSizeBytes = static_cast<UINT>(D3D12XBOX_DEFAULT_SIZE_BYTES);
578 params.GraphicsScratchMemorySizeBytes = static_cast<UINT>(D3D12XBOX_DEFAULT_SIZE_BYTES);
579 params.ComputeScratchMemorySizeBytes = static_cast<UINT>(D3D12XBOX_DEFAULT_SIZE_BYTES);
580#if PLATFORM_XBOX_SCARLETT
581 params.DisableDXR = TRUE;
582#endif
583 VALIDATE_DIRECTX_CALL(D3D12XboxCreateDevice(nullptr, &params, IID_GRAPHICS_PPV_ARGS(&_device)));
584
585 // Setup adapter
586 D3D12XBOX_GPU_HARDWARE_CONFIGURATION hwConfig = {};
587 _device->GetGpuHardwareConfigurationX(&hwConfig);
588 const wchar_t* hwVer = L"Unknown";
589 switch (hwConfig.HardwareVersion)
590 {
591 case D3D12XBOX_HARDWARE_VERSION_XBOX_ONE:
592 hwVer = L"Xbox One";
593 break;
594 case D3D12XBOX_HARDWARE_VERSION_XBOX_ONE_S:
595 hwVer = L"Xbox One S";
596 break;
597 case D3D12XBOX_HARDWARE_VERSION_XBOX_ONE_X:
598 hwVer = L"Xbox One X";
599 break;
600 case D3D12XBOX_HARDWARE_VERSION_XBOX_ONE_X_DEVKIT:
601 hwVer = L"Xbox One X (DevKit)";
602 break;
603#ifdef _GAMING_XBOX_SCARLETT
604 case D3D12XBOX_HARDWARE_VERSION_XBOX_SCARLETT_LOCKHART:
605 hwVer = L"Scarlett Lockhart";
606 break;
607 case D3D12XBOX_HARDWARE_VERSION_XBOX_SCARLETT_ANACONDA:
608 hwVer = L"Scarlett Anaconda";
609 break;
610 case D3D12XBOX_HARDWARE_VERSION_XBOX_SCARLETT_DEVKIT:
611 hwVer = L"Scarlett Dev Kit";
612 break;
613#endif
614 }
615 LOG(Info, "Hardware Version: {0}", hwVer);
616 updateFrameEvents();
617
618 // Setup display output
619 auto& videoOutput = VideoOutputs.AddOne();
620 videoOutput.Name = hwVer;
621 ComPtr<IDXGIDevice1> dxgiDevice;
622 VALIDATE_DIRECTX_CALL(_device->QueryInterface(IID_GRAPHICS_PPV_ARGS(&dxgiDevice)));
623 ComPtr<IDXGIAdapter> dxgiAdapter;

Callers 7

OnInitMethod · 0.45
SetupMethod · 0.45
OnResidentMipsChangedMethod · 0.45
initHandlesMethod · 0.45
ResetMethod · 0.45
CreateMethod · 0.45
AllocQueryMethod · 0.45

Calls 15

MemoryClearFunction · 0.85
EnumHasAllFlagsFunction · 0.85
FormatFeaturesFunction · 0.85
AddOneMethod · 0.80
GetAddressOfMethod · 0.80
CreateSRVMethod · 0.80
CreateUAVMethod · 0.80
DrawIndexedMethod · 0.80
MaxFunction · 0.50
InitFunction · 0.50
QueryInterfaceMethod · 0.45

Tested by

no test coverage detected