UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OpenGLUtil.h File Reference

Go to the source code of this file.

Classes

struct  FRHICommandGLCommandString
 

Macros

#define ENABLE_VERIFY_GL   (0 & DO_CHECK)
 
#define ENABLE_VERIFY_GL_TRACE   0
 
#define ENABLE_DEBUG_OUTPUT   (!UE_BUILD_SHIPPING)
 
#define ENABLE_VERIFY_GL_THREAD   (!(UE_BUILD_TEST || UE_BUILD_SHIPPING))
 
#define ENABLE_UNIFORM_BUFFER_LAYOUT_VERIFICATION   ( 0 & UE_BUILD_DEBUG & (!PLATFORM_ANDROID))
 
#define ENABLE_UNIFORM_BUFFER_LAYOUT_DUMP   0
 
#define ENABLE_OPENGL_DEBUG_GROUPS   1
 
#define OPENGL_PERFORMANCE_DATA_INVALID   (ENABLE_VERIFY_GL | ENABLE_UNIFORM_BUFFER_LAYOUT_VERIFICATION | DEBUG_GL_SHADERS)
 
#define CHECK_EXPECTED_GL_THREAD()
 
#define VERIFY_GL(...)   CHECK_EXPECTED_GL_THREAD()
 
#define VERIFY_GL_SCOPE(...)   CHECK_EXPECTED_GL_THREAD()
 
#define GL_CAPTURE_CALLSTACK   0
 

Functions

bool IsOGLDebugOutputEnabled ()
 
int32 GetOGLDebugOutputLevel ()
 
void SetOpenGLResourceName (FOpenGLTexture *Texture, const ANSICHAR *Name)
 
void SetOpenGLResourceName (FOpenGLTexture *Texture, const TCHAR *Name)
 
GLenum GetOpenGLCubeFace (ECubeFace Face)
 
bool PlatformOpenGLThreadHasRenderingContext ()
 

Macro Definition Documentation

◆ CHECK_EXPECTED_GL_THREAD

#define CHECK_EXPECTED_GL_THREAD ( )
Value:
{ \
UE_LOG(LogRHI, Fatal, TEXT("Potential use of GL context from incorrect thread. [IsInGameThread() = %d, IsInRenderingThread() = %d, IsInRHIThread() = %d, IsRunningRHIInSeparateThread() = %d]"), IsInGameThread(), IsInRenderingThread(), IsInRHIThread(), IsRunningRHIInSeparateThread()); \
}
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool PlatformOpenGLThreadHasRenderingContext()
Definition LinuxOpenGLPlatform.cpp:812
bool IsRunningRHIInSeparateThread()
Definition RHICommandList.h:159
CORE_API bool IsInRHIThread()
Definition ThreadingBase.cpp:339
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
CORE_API bool IsInRenderingThread()
Definition ThreadingBase.cpp:273

◆ ENABLE_DEBUG_OUTPUT

#define ENABLE_DEBUG_OUTPUT   (!UE_BUILD_SHIPPING)

◆ ENABLE_OPENGL_DEBUG_GROUPS

#define ENABLE_OPENGL_DEBUG_GROUPS   1

Set to 1 to enable calls to place event markers into the OpenGL stream this is purposefully not considered for OPENGL_PERFORMANCE_DATA_INVALID, since there is an additional cvar OpenGLConsoleVariables::bEnableARBDebug

◆ ENABLE_UNIFORM_BUFFER_LAYOUT_DUMP

#define ENABLE_UNIFORM_BUFFER_LAYOUT_DUMP   0

Set to 1 to additinally dump uniform buffer layout at shader link time, this assumes ENABLE_UNIFORM_BUFFER_LAYOUT_VERIFICATION == 1

◆ ENABLE_UNIFORM_BUFFER_LAYOUT_VERIFICATION

#define ENABLE_UNIFORM_BUFFER_LAYOUT_VERIFICATION   ( 0 & UE_BUILD_DEBUG & (!PLATFORM_ANDROID))

Set to 1 to verify that the the engine side uniform buffer layout matches the driver side of the GLSL shader

◆ ENABLE_VERIFY_GL

#define ENABLE_VERIFY_GL   (0 & DO_CHECK)

Set to 1 to enable the VERIFY_GL macros which call glGetError

◆ ENABLE_VERIFY_GL_THREAD

#define ENABLE_VERIFY_GL_THREAD   (!(UE_BUILD_TEST || UE_BUILD_SHIPPING))

◆ ENABLE_VERIFY_GL_TRACE

#define ENABLE_VERIFY_GL_TRACE   0

◆ GL_CAPTURE_CALLSTACK

#define GL_CAPTURE_CALLSTACK   0

◆ OPENGL_PERFORMANCE_DATA_INVALID

◆ VERIFY_GL

#define VERIFY_GL (   ...)    CHECK_EXPECTED_GL_THREAD()

◆ VERIFY_GL_SCOPE

#define VERIFY_GL_SCOPE (   ...)    CHECK_EXPECTED_GL_THREAD()

Function Documentation

◆ GetOGLDebugOutputLevel()

int32 GetOGLDebugOutputLevel ( )

◆ GetOpenGLCubeFace()

GLenum GetOpenGLCubeFace ( ECubeFace  Face)

Convert from ECubeFace to GLenum type

Parameters
Face- ECubeFace type to convert
Returns
OpenGL cube face enum value

◆ IsOGLDebugOutputEnabled()

bool IsOGLDebugOutputEnabled ( )

◆ PlatformOpenGLThreadHasRenderingContext()

bool PlatformOpenGLThreadHasRenderingContext ( )
extern

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

◆ SetOpenGLResourceName() [1/2]

void SetOpenGLResourceName ( FOpenGLTexture Texture,
const ANSICHAR Name 
)

◆ SetOpenGLResourceName() [2/2]

void SetOpenGLResourceName ( FOpenGLTexture Texture,
const TCHAR Name 
)