FVulkanViewport

Windows
MacOS
Linux

Inheritance Hierarchy

FRHIViewport

FDeviceChild

FVulkanViewport

Syntax

class FVulkanViewport :
    public FRHIViewport,
    public VulkanRHI::FDeviceChild

Variables

Name Description

Protected variable

int32

 

AcquiredImageIndex

Protected variable

VulkanRHI::FSem...

 

AcquiredSemaphore

Just a pointer, not owned by this class.

Protected variable

VkImage[NUM_BUF...

 

BackBufferImages

Protected variable

TRefCountPtr< F...

 

BackBuffers

Protected variable

bool

 

bIsFullscreen

Protected variable

FCustomPresentR...

 

CustomPresent

Protected variable

FVulkanCmdBuffe...

 

LastFrameCommandBuffer

Protected variable

uint64

 

LastFrameFenceCounter

Protected variable

int8

 

LockToVsync

Protected variable

EPixelFormat

 

PixelFormat

Protected variable

int32

 

PreAcquiredImageIndex

Protected variable

uint32

 

PresentCount

Protected variable

FCriticalSectio...

 

RecreatingSwapchain

Narrow-scoped section that locks access to back buffer during its recreation

Protected variable

TRefCountPtr< F...

 

RenderingBackBuffer

'Dummy' back buffer

Protected variable

TRefCountPtr< F...

 

RenderingBackBufferReference

Protected variable

VulkanRHI::FSem...

 

RenderingDoneSemaphores

Protected variable

FVulkanDynamicR...

 

RHI

Protected variable

TRefCountPtr< F...

 

RHIBackBuffer

Protected variable

uint32

 

SizeX

Protected variable

uint32

 

SizeY

Protected variable

FVulkanSwapChai...

 

SwapChain

Protected variable

FVulkanTextureV...

 

TextureViews

Protected variable

void *

 

WindowHandle

Constructors

Name Description

Public function

FVulkanViewport

(
    FVulkanDynamicRHI* InRHI,
    FVulkanDevice* InDevice,
    void* InWindowHandle,
    uint32 InSizeX,
    uint32 InSizeY,
    bool bInIsFullscreen,
    EPixelFormat InPreferredPixelFormat
)

Destructors

Name Description

Public function

~FVulkanViewport()

Functions

Name Description

Protected function

void

 

AcquireBackBuffer

(
    FRHICommandListBase& CmdList,
    FVulkanBackBufferReference* Ne...
)

Protected function

void

 

AcquireImageIndex()

Public function

void

 

AdvanceBackBufferFrame()

Protected function

void

 

CreateSwapchain()

Protected function Static

int32

 

DoAcquireImageIndex

(
    FVulkanViewport* Viewport
)

Protected function

bool

 

DoCheckedSwapChainJob

(
    TFunction< int32&#...
)

Public function

FTexture2DRH...

 

GetBackBuffer

(
    FRHICommandList& RHICmdList
)

Protected function

void

 

GetNextImageIndex()

Public function Const

uint32

 

GetPresentCount()

Public function Const

FIntPoint

 

GetSizeXY()

Public function

void

 

IssueFrameEvent()

Protected function

void

 

PreAcquireSwapchainImage()

Public function

bool

 

Present

(
    FVulkanCommandListContext* Con...,
    FVulkanCmdBuffer* CmdBuffer,
    FVulkanQueue* Queue,
    FVulkanQueue* PresentQueue,
    bool bLockToVsync
)

Protected function

void

 

RecreateSwapchain

(
    void* NewNativeWindow,
    bool bForce
)

Protected function

void

 

RecreateSwapchainFromRT

(
    EPixelFormat PreferredPixelFormat
)

Protected function

void

 

Resize

(
    uint32 InSizeX,
    uint32 InSizeY,
    bool bIsFullscreen,
    EPixelFormat PreferredPixelFormat
)

Public function

void

 

WaitForFrameEventCompletion()

Overridden from FRHIViewport

Name Description

Public function Virtual Const

FRHICustomPr...

 

GetCustomPresent()

Returns currently set custom present handler.

Public function Virtual

void

 

SetCustomPresent

(
    FRHICustomPresent*
)

Sets custom Present handler on the viewport

Public function Virtual

void

 

Tick

(
    float DeltaTime
)

Ticks the viewport on the Game thread

Constants

Name

Description

NUM_BUFFERS

References

Module

VulkanRHI

Header

Runtime/VulkanRHI/Public/VulkanViewport.h

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback