UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
D3D11Viewport.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 D3D11Viewport.h: D3D viewport RHI definitions.
5=============================================================================*/
6
7#pragma once
8
9#include "D3D11Resources.h"
10#include "RenderResource.h"
11#include "RenderUtils.h"
12#include "RHIResources.h"
14#include "DXGIUtilities.h"
15
18{
19public:
20
23
26
29
30private:
31 FD3D11DynamicRHI* D3DRHI;
33};
34
36{
37public:
44
48
50
57
62
63
67 D3D11RHI_API bool Present(IRHICommandContext& RHICmdContext, bool bLockToVsync);
68
69 // Accessors.
70 FIntPoint GetSizeXY() const { return FIntPoint(SizeX, SizeY); }
72
73 virtual void WaitForFrameEventCompletion() override
74 {
76 }
77
78 virtual void IssueFrameEvent() override
79 {
81 }
82
84
85 virtual void* GetNativeSwapChain() const override;
86 virtual void* GetNativeBackBufferTexture() const override;
87 virtual void* GetNativeBackBufferRT() const override;
88
94
95 virtual void* GetNativeWindow(void** AddParam = nullptr) const override { return (void*)WindowHandle; }
97
99 {
100 return UE::DXGIUtilities::GetSwapChainFormat(PixelFormat);
101 }
102
103protected:
104
106
109
112
118
120 void EnableHDR();
121
123 void ShutdownHDR();
124
125
144
146
149
150 // Support for selecting non-default output for display in fullscreen exclusive
153
154 // Whether to create swap chain and use swap chain's back buffer surface,
155 // or don't create swap chain and create an off-screen back buffer surface.
156 // Currently used for pixel streaming plugin "windowless" mode to run in the cloud without on screen display.
158
161
163
165};
166
167template<>
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDisplayColorGamut
Definition GenericPlatformMisc.h:518
EDisplayOutputFormat
Definition GenericPlatformMisc.h:499
FInt32Point FIntPoint
Definition MathFwd.h:124
EPixelFormat
Definition PixelFormat.h:16
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition D3D11RHIPrivate.h:366
Definition D3D11Viewport.h:18
D3D11RHI_API void WaitForCompletion()
Definition D3D11Query.cpp:417
D3D11RHI_API void IssueEvent()
Definition D3D11Query.cpp:401
Definition D3D11Resources.h:154
Definition D3D11Viewport.h:36
uint32 MaximumFrameLatency
Definition D3D11Viewport.h:133
uint32 PresentFailCount
Definition D3D11Viewport.h:137
void ShutdownHDR()
Definition WindowsD3D11Viewport.cpp:394
uint64 LastFrameComplete
Definition D3D11Viewport.h:128
D3D11RHI_API bool PresentChecked(IRHICommandContext &RHICmdContext, int32 SyncInterval)
Definition D3D11Viewport.cpp:363
uint32 SizeX
Definition D3D11Viewport.h:134
uint32 SizeY
Definition D3D11Viewport.h:135
bool bAllowTearing
Definition D3D11Viewport.h:143
TRefCountPtr< IDXGISwapChain > SwapChain
Definition D3D11Viewport.h:147
FD3D11DynamicRHI * D3DRHI
Definition D3D11Viewport.h:126
FD3D11Texture * GetBackBuffer() const
Definition D3D11Viewport.h:71
bool bForcedFullscreenDisplay
Definition D3D11Viewport.h:152
static D3D11RHI_API FD3D11Texture * GetSwapChainSurface(FD3D11DynamicRHI *D3DRHI, EPixelFormat PixelFormat, uint32 SizeX, uint32 SizeY, IDXGISwapChain *SwapChain)
Definition D3D11Viewport.cpp:115
FCustomPresentRHIRef CustomPresent
Definition D3D11Viewport.h:162
virtual void WaitForFrameEventCompletion() override
Definition D3D11Viewport.h:73
int32 SyncCounter
Definition D3D11Viewport.h:130
EPixelFormat PixelFormat
Definition D3D11Viewport.h:139
virtual void * GetNativeBackBufferRT() const override
Definition D3D11Viewport.cpp:696
static D3D11RHI_API uint32 GSwapChainFlags
Definition D3D11Viewport.h:145
D3D11RHI_API uint32 GetSwapChainFlags()
Definition D3D11Viewport.cpp:98
TRefCountPtr< IDXGIOutput > ForcedFullscreenOutput
Definition D3D11Viewport.h:151
virtual void * GetNativeWindow(void **AddParam=nullptr) const override
Definition D3D11Viewport.h:95
ED3DViewportValidFlags
Definition D3D11Viewport.h:39
@ VIEWPORT_INVALID
Definition D3D11Viewport.h:40
@ VIEWPORT_FULLSCREEN_LOST
Definition D3D11Viewport.h:41
virtual void * GetNativeBackBufferTexture() const override
Definition D3D11Viewport.cpp:691
virtual FRHICustomPresent * GetCustomPresent() const
Definition D3D11Viewport.h:93
D3D11RHI_API void ConditionalResetSwapChain(bool bIgnoreFocus)
Definition WindowsD3D11Viewport.cpp:404
EDisplayOutputFormat DisplayOutputFormat
Definition D3D11Viewport.h:141
void EnableHDR()
Definition WindowsD3D11Viewport.cpp:385
uint64 LastFlipTime
Definition D3D11Viewport.h:127
virtual void IssueFrameEvent() override
Definition D3D11Viewport.h:78
FD3D11Viewport(class FD3D11DynamicRHI *InD3DRHI)
Definition D3D11Viewport.h:45
TAtomic< uint32 > ValidState
Definition D3D11Viewport.h:138
D3D11RHI_API void ResetSwapChainInternal(bool bIgnoreFocus)
Definition WindowsD3D11Viewport.cpp:422
D3D11RHI_API void CheckHDRMonitorStatus()
Definition WindowsD3D11Viewport.cpp:381
bool bIsFullscreen
Definition D3D11Viewport.h:142
static DXGI_FORMAT GetRenderTargetFormat(EPixelFormat PixelFormat)
Definition D3D11Viewport.h:98
D3D11RHI_API ~FD3D11Viewport()
Definition D3D11Viewport.cpp:209
virtual void * GetNativeSwapChain() const override
Definition D3D11Viewport.cpp:686
uint64 LastCompleteTime
Definition D3D11Viewport.h:129
IDXGISwapChain * GetSwapChain() const
Definition D3D11Viewport.h:83
virtual D3D11RHI_API void Resize(uint32 InSizeX, uint32 InSizeY, bool bInIsFullscreen, EPixelFormat PreferredPixelFormat)
Definition D3D11Viewport.cpp:238
bool bNeedSwapChain
Definition D3D11Viewport.h:157
EDisplayColorGamut DisplayColorGamut
Definition D3D11Viewport.h:140
bool bSyncedLastFrame
Definition D3D11Viewport.h:131
FIntPoint GetSizeXY() const
Definition D3D11Viewport.h:70
D3D11RHI_API DXGI_MODE_DESC SetupDXGI_MODE_DESC() const
Definition D3D11Viewport.cpp:223
FD3D11EventQuery FrameSyncEvent
Definition D3D11Viewport.h:160
uint32 BackBufferCount
Definition D3D11Viewport.h:136
HWND WindowHandle
Definition D3D11Viewport.h:132
virtual void SetCustomPresent(FRHICustomPresent *InCustomPresent) override
Definition D3D11Viewport.h:89
TRefCountPtr< FD3D11Texture > BackBuffer
Definition D3D11Viewport.h:148
D3D11RHI_API void PresentWithVsyncDWM(IRHICommandContext &RHICmdContext)
Definition D3D11Viewport.cpp:509
Definition RHIResources.h:4294
Definition RHIResources.h:2515
Definition RHIContext.h:693
Definition Atomic.h:538
Definition RefCounting.h:454
FD3D11Viewport TConcreteType
Definition D3D11Viewport.h:170
Definition D3D11Resources.h:569
Definition IntPoint.h:25