UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OpenGLDrvPrivate.h File Reference
#include "CoreMinimal.h"
#include "Stats/Stats.h"
#include "RHI.h"
#include "RenderResource.h"
#include "OpenGLDrv.h"

Go to the source code of this file.

Classes

struct  FOpenGLTextureFormat
 

Macros

#define SUBALLOCATED_CONSTANT_BUFFER   0
 
#define GL_CHECK(x)   x; do { GLint Err = glGetError(); if (Err != 0) {FPlatformMisc::LowLevelOutputDebugStringf(TEXT("(%s:%d) GL_CHECK Failed '%s'! %d (%x)\n"), ANSI_TO_TCHAR(__FILE__), __LINE__, ANSI_TO_TCHAR( #x ), Err, Err); check(!Err);}} while (0)
 
#define LOG_AND_GET_GL_INT(IntEnum, Default, Dest)
 
#define GET_GL_INT(IntEnum, Default, Dest)
 

Functions

 DECLARE_CYCLE_STAT_EXTERN (TEXT("Present time"), STAT_OpenGLPresentTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Triangles drawn"), STAT_OpenGLTriangles, STATGROUP_OpenGLRHI,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Lines drawn"), STAT_OpenGLLines, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CreateTexture time"), STAT_OpenGLCreateTextureTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("LockTexture time"), STAT_OpenGLLockTextureTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("UnlockTexture time"), STAT_OpenGLUnlockTextureTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CopyTexture time"), STAT_OpenGLCopyTextureTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CopyMipToMipAsync time"), STAT_OpenGLCopyMipToMipAsyncTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("UploadTextureMip time"), STAT_OpenGLUploadTextureMipTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CreateBoundShaderState time"), STAT_OpenGLCreateBoundShaderStateTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Constant buffer update time"), STAT_OpenGLConstantBufferUpdateTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Uniform commit time"), STAT_OpenGLUniformCommitTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Shader compile time"), STAT_OpenGLShaderCompileTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Shader compile verify time"), STAT_OpenGLShaderCompileVerifyTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Shader link time"), STAT_OpenGLShaderLinkTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Shader link verify time"), STAT_OpenGLShaderLinkVerifyTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Shader bind param time"), STAT_OpenGLShaderBindParameterTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Uniform buffer pool cleanup time"), STAT_OpenGLUniformBufferCleanupTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Uniform buffer pool memory"), STAT_OpenGLFreeUniformBufferMemory, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Emulated Uniform buffer time"), STAT_OpenGLEmulatedUniformBufferTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Uniform buffer pool num free"), STAT_OpenGLNumFreeUniformBuffers, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Time for first draw of shader programs"), STAT_OpenGLShaderFirstDrawTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Active Program binary memory (estimate driver use)"), STAT_OpenGLProgramBinaryMemory, STATGROUP_OpenGLRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("GL Program count"), STAT_OpenGLProgramCount, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Program get from cache time"), STAT_OpenGLUseCachedProgramTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Program create from binary time"), STAT_OpenGLCreateProgramFromBinaryTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Program LRU cache eviction time"), STAT_OpenGLShaderLRUEvictTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Program LRU cache miss time"), STAT_OpenGLShaderLRUMissTime, STATGROUP_OpenGLRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Program LRU count"), STAT_OpenGLShaderLRUProgramCount, STATGROUP_OpenGLRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Program LRU evicted count"), STAT_OpenGLShaderLRUEvictedProgramCount, STATGROUP_OpenGLRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Program LRU miss count"), STAT_OpenGLShaderLRUMissCount, STATGROUP_OpenGLRHI,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Program LRU memory (evicted, heap)"), STAT_OpenGLShaderLRUProgramMemory, STATGROUP_OpenGLRHI,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Program LRU mem mapped (evicted, filemapped)"), STAT_OpenGLShaderLRUProgramMemoryMapped, STATGROUP_OpenGLRHI,)
 
bool PlatformInitOpenGL ()
 
int32 PlatformGlGetError ()
 
bool PlatformOpenGLThreadHasRenderingContext ()
 
FPlatformOpenGLDevicePlatformCreateOpenGLDevice ()
 
bool PlatformCanEnableGPUCapture ()
 
void PlatformDestroyOpenGLDevice (FPlatformOpenGLDevice *Device)
 
FPlatformOpenGLContextPlatformCreateOpenGLContext (FPlatformOpenGLDevice *Device, void *InWindowHandle)
 
void PlatformDestroyOpenGLContext (FPlatformOpenGLDevice *Device, FPlatformOpenGLContext *Context)
 
void PlatformRenderingContextSetup (FPlatformOpenGLDevice *Device)
 
void PlatformFlushIfNeeded ()
 
void PlatformNULLContextSetup ()
 
class FOpenGLTexturePlatformCreateBuiltinBackBuffer (FOpenGLDynamicRHI *OpenGLRHI, uint32 SizeX, uint32 SizeY)
 
bool PlatformBlitToViewport (IRHICommandContext &RHICmdContext, FPlatformOpenGLDevice *Device, const FOpenGLViewport &Viewport, uint32 BackbufferSizeX, uint32 BackbufferSizeY, bool bPresent, bool bLockToVsync)
 
void PlatformResizeGLContext (FPlatformOpenGLDevice *Device, FPlatformOpenGLContext *Context, uint32 SizeX, uint32 SizeY, bool bFullscreen, bool bWasFullscreen, GLenum BackBufferTarget, GLuint BackBufferResource)
 
void PlatformGetSupportedResolution (uint32 &Width, uint32 &Height)
 
bool PlatformGetAvailableResolutions (FScreenResolutionArray &Resolutions, bool bIgnoreRefreshRate)
 
void PlatformRestoreDesktopDisplayMode ()
 
voidPlatformGetWindow (FPlatformOpenGLContext *Context, void **AddParam)
 
uint32 FindMaxMipmapLevel (uint32 Size)
 
uint32 FindMaxMipmapLevel (uint32 Width, uint32 Height)
 
uint32 FindMaxMipmapLevel (uint32 Width, uint32 Height, uint32 Depth)
 
void FindPrimitiveType (uint32 InPrimitiveType, uint32 InNumPrimitives, GLenum &DrawMode, GLsizei &NumElements)
 
uint32 FindUniformElementSize (GLenum UniformType)
 
uint32 CalcDynamicBufferSize (uint32 Size)
 
void InitDefaultGLContextState (void)
 

Variables

FOpenGLTextureFormat OPENGLDRV_API GOpenGLTextureFormats [PF_MAX]
 
bool GUseEmulatedUniformBuffers
 

Macro Definition Documentation

◆ GET_GL_INT

#define GET_GL_INT (   IntEnum,
  Default,
  Dest 
)
Value:
do \
{ \
Dest = Default; \
} \
while (0)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool GDisableOpenGLDebugOutput
Definition OpenGLDevice.cpp:142

◆ GL_CHECK

#define GL_CHECK (   x)    x; do { GLint Err = glGetError(); if (Err != 0) {FPlatformMisc::LowLevelOutputDebugStringf(TEXT("(%s:%d) GL_CHECK Failed '%s'! %d (%x)\n"), ANSI_TO_TCHAR(__FILE__), __LINE__, ANSI_TO_TCHAR( #x ), Err, Err); check(!Err);}} while (0)

◆ LOG_AND_GET_GL_INT

#define LOG_AND_GET_GL_INT (   IntEnum,
  Default,
  Dest 
)
Value:
do \
{ \
Dest = Default; \
UE_LOG(LogRHI, Log, TEXT(" ") ## TEXT(#IntEnum) ## TEXT(": %d"), Dest); \
} \
while (0)
#define TEXT(x)
Definition Platform.h:1272

◆ SUBALLOCATED_CONSTANT_BUFFER

#define SUBALLOCATED_CONSTANT_BUFFER   0

Function Documentation

◆ CalcDynamicBufferSize()

uint32 CalcDynamicBufferSize ( uint32  Size)
inline

Calculate the dynamic buffer size needed for a given allocation.

◆ DECLARE_CYCLE_STAT_EXTERN() [1/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Constant buffer update time" ,
STAT_OpenGLConstantBufferUpdateTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CopyMipToMipAsync time" ,
STAT_OpenGLCopyMipToMipAsyncTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CopyTexture time" ,
STAT_OpenGLCopyTextureTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CreateBoundShaderState time" ,
STAT_OpenGLCreateBoundShaderStateTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [5/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CreateTexture time" ,
STAT_OpenGLCreateTextureTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [6/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Emulated Uniform buffer time" ,
STAT_OpenGLEmulatedUniformBufferTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [7/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("LockTexture time" ,
STAT_OpenGLLockTextureTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [8/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Present time" ,
STAT_OpenGLPresentTime  ,
STATGROUP_OpenGLRHI   
)

The OpenGL RHI stats.

◆ DECLARE_CYCLE_STAT_EXTERN() [9/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Program create from binary time" ,
STAT_OpenGLCreateProgramFromBinaryTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [10/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Program get from cache time" ,
STAT_OpenGLUseCachedProgramTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [11/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Program LRU cache eviction time" ,
STAT_OpenGLShaderLRUEvictTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [12/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Program LRU cache miss time" ,
STAT_OpenGLShaderLRUMissTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [13/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Shader bind param time" ,
STAT_OpenGLShaderBindParameterTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [14/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Shader compile time" ,
STAT_OpenGLShaderCompileTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [15/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Shader compile verify time" ,
STAT_OpenGLShaderCompileVerifyTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [16/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Shader link time" ,
STAT_OpenGLShaderLinkTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [17/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Shader link verify time" ,
STAT_OpenGLShaderLinkVerifyTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [18/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Time for first draw of shader programs" ,
STAT_OpenGLShaderFirstDrawTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [19/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Uniform buffer pool cleanup time" ,
STAT_OpenGLUniformBufferCleanupTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [20/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Uniform commit time" ,
STAT_OpenGLUniformCommitTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [21/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("UnlockTexture time" ,
STAT_OpenGLUnlockTextureTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [22/22]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("UploadTextureMip time" ,
STAT_OpenGLUploadTextureMipTime  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [1/5]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("GL Program count" ,
STAT_OpenGLProgramCount  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [2/5]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Program LRU count" ,
STAT_OpenGLShaderLRUProgramCount  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [3/5]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Program LRU evicted count" ,
STAT_OpenGLShaderLRUEvictedProgramCount  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [4/5]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Program LRU miss count" ,
STAT_OpenGLShaderLRUMissCount  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [5/5]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Uniform buffer pool num free" ,
STAT_OpenGLNumFreeUniformBuffers  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [1/2]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Lines drawn" ,
STAT_OpenGLLines  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [2/2]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Triangles drawn" ,
STAT_OpenGLTriangles  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [1/4]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Active Program binary memory (estimate driver use)")  ,
STAT_OpenGLProgramBinaryMemory  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [2/4]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Program LRU mem mapped (evicted, filemapped)")  ,
STAT_OpenGLShaderLRUProgramMemoryMapped  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [3/4]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Program LRU memory (evicted, heap)")  ,
STAT_OpenGLShaderLRUProgramMemory  ,
STATGROUP_OpenGLRHI   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [4/4]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Uniform buffer pool memory" ,
STAT_OpenGLFreeUniformBufferMemory  ,
STATGROUP_OpenGLRHI   
)

◆ FindMaxMipmapLevel() [1/3]

uint32 FindMaxMipmapLevel ( uint32  Size)
inline

◆ FindMaxMipmapLevel() [2/3]

uint32 FindMaxMipmapLevel ( uint32  Width,
uint32  Height 
)
inline

◆ FindMaxMipmapLevel() [3/3]

uint32 FindMaxMipmapLevel ( uint32  Width,
uint32  Height,
uint32  Depth 
)
inline

◆ FindPrimitiveType()

void FindPrimitiveType ( uint32  InPrimitiveType,
uint32  InNumPrimitives,
GLenum DrawMode,
GLsizei NumElements 
)
inline

◆ FindUniformElementSize()

uint32 FindUniformElementSize ( GLenum  UniformType)
inline

◆ InitDefaultGLContextState()

void InitDefaultGLContextState ( void  )

Call after creating a context to initialise default state values to correct values for UE.

◆ PlatformBlitToViewport()

bool PlatformBlitToViewport ( IRHICommandContext RHICmdContext,
FPlatformOpenGLDevice Device,
const FOpenGLViewport Viewport,
uint32  BackbufferSizeX,
uint32  BackbufferSizeY,
bool  bPresent,
bool  bLockToVsync 
)

Main function for transferring data to on-screen buffers. On Windows it temporarily switches OpenGL context, on Mac only context's output view. Should return true if frame was presented and it is necessary to finish frame rendering.

Main function for transferring data to on-screen buffers. On Windows it temporarily switches OpenGL context, on Mac only context's output view.

◆ PlatformCanEnableGPUCapture()

bool PlatformCanEnableGPUCapture ( )

Returns true if the platform supports a GPU capture tool (eg RenderDoc)

◆ PlatformCreateBuiltinBackBuffer()

class FOpenGLTexture * PlatformCreateBuiltinBackBuffer ( FOpenGLDynamicRHI OpenGLRHI,
uint32  SizeX,
uint32  SizeY 
)

◆ PlatformCreateOpenGLContext()

FPlatformOpenGLContext * PlatformCreateOpenGLContext ( FPlatformOpenGLDevice Device,
void InWindowHandle 
)

Create an OpenGL context connected to some window, or fullscreen. This will be used to transfer the rendering results to screen by rendering thread, inside RHIEndDrawingViewport().

Create an OpenGL context.

◆ PlatformCreateOpenGLDevice()

FPlatformOpenGLDevice * PlatformCreateOpenGLDevice ( )

Create the OpenGL device, encompassing all data needed to handle set of OpenGL contexts for a single OpenGL RHI. This contains shared context (to be used for resource loading), rendering context (to be used for rendering), and viewport contexts (to be used for blitting for various platform-specific viewports). On different platforms implementation details differ, by a lot. This should be called when creating the OpenGL RHI.

◆ PlatformDestroyOpenGLContext()

void PlatformDestroyOpenGLContext ( FPlatformOpenGLDevice Device,
FPlatformOpenGLContext Context 
)

Destroy a viewport OpenGL context.

Destroy an OpenGL context.

◆ PlatformDestroyOpenGLDevice()

void PlatformDestroyOpenGLDevice ( FPlatformOpenGLDevice Device)

Destroy the OpenGL device for single OpenGL RHI. This should happen when destroying the RHI.

◆ PlatformFlushIfNeeded()

void PlatformFlushIfNeeded ( )

◆ PlatformGetAvailableResolutions()

bool PlatformGetAvailableResolutions ( FScreenResolutionArray Resolutions,
bool  bIgnoreRefreshRate 
)

Retrieve available screen resolutions.

◆ PlatformGetSupportedResolution()

void PlatformGetSupportedResolution ( uint32 Width,
uint32 Height 
)

Returns a supported screen resolution that most closely matches input.

◆ PlatformGetWindow()

void * PlatformGetWindow ( FPlatformOpenGLContext Context,
void **  AddParam 
)

◆ PlatformGlGetError()

int32 PlatformGlGetError ( )

Just a glGetError() call. Added to make it possible to compile GL_VERIFY macros in other projects than OpenGLDrv.

◆ PlatformInitOpenGL()

bool PlatformInitOpenGL ( )

Initialize OpenGL on this platform. This must be called once before device contexts can be created.

Returns
true if initialization was successful.

◆ PlatformNULLContextSetup()

void PlatformNULLContextSetup ( )

This is used to detach an OpenGL context from current thread.

◆ PlatformOpenGLThreadHasRenderingContext()

bool PlatformOpenGLThreadHasRenderingContext ( )

Returns true when the calling thread owns the OpenGL rendering context.

◆ PlatformRenderingContextSetup()

void PlatformRenderingContextSetup ( FPlatformOpenGLDevice Device)

Set up rendering OpenGL context on current thread. This is the only context that can be used for rendering, and not only loading resources and framebuffer blitting (due to limitations of Windows OpenGL).

◆ PlatformResizeGLContext()

void PlatformResizeGLContext ( FPlatformOpenGLDevice Device,
FPlatformOpenGLContext Context,
uint32  SizeX,
uint32  SizeY,
bool  bFullscreen,
bool  bWasFullscreen,
GLenum  BackBufferTarget,
GLuint  BackBufferResource 
)

Resize the GL context for platform.

Resize the GL context.

◆ PlatformRestoreDesktopDisplayMode()

void PlatformRestoreDesktopDisplayMode ( )

Restore the original display mode

Variable Documentation

◆ GOpenGLTextureFormats

FOpenGLTextureFormat OPENGLDRV_API GOpenGLTextureFormats[PF_MAX]
extern

OpenGL texture format table.

◆ GUseEmulatedUniformBuffers

bool GUseEmulatedUniformBuffers
extern

true if we're not using UBOs.