FOpenGLProgramBinaryCache

Choose your operating system:

Windows

macOS

Linux

References

Module

OpenGLDrv

Header

/Engine/Source/Runtime/OpenGLDrv/Public/OpenGLShaderResources.h

Include

#include "OpenGLShaderResources.h"

Syntax

class FOpenGLProgramBinaryCache

Constructors

No constructors are accessible with public or protected access.

Destructors

No destructors are accessible with public or protected access.

Functions

Name Description

Public function Static

void

 

CacheProgram

(
    GLuint Program,
    const FOpenGLProgramKey& ProgramKe...,
    TArray< uint8 >& CachedProgramBina...
)

Store program binary on disk in case ProgramBinaryCache is enabled

Public function Static

void

 

CheckPendingGLProgramCreateRequests()

Create any pending GL programs that have come from shader library requests

Public function Static

bool

 

CheckSinglePendingGLProgramCreateRequest

(
    const FOpenGLProgramKey& ProgramKe...
)

Create any single GL program that have come from shader library requests

Public function Static

void

 

CompilePendingShaders

(
    const FOpenGLLinkedProgramConfigura...
)

Compile required shaders for a program, only in case binary program was not found in the cache

Public function Static

bool

 

DeferShaderCompilation

(
    GLuint Shader,
    const TArray< ANSICHAR >& GlslCode
)

Defer shader compilation until we link a program, so we will have a chance to load cached binary and skip compilation

Public function Static

void

 

Initialize()

Public function Static

bool

 

IsBuildingCache()

True if the program binary cache is currently in cache build mode

Public function Static

bool

 

IsEnabled()

Public function Static

void

 

OnShaderLibraryRequestShaderCode

(
    const FSHAHash& Hash,
    FArchive* Ar
)

Public function Static

void

 

Shutdown()

Public function Static

bool

 

UseCachedProgram

(
    GLuint& ProgramOUT,
    const FOpenGLProgramKey& ProgramKe...,
    TArray< uint8 >& CachedProgramBina...
)

Try to find and load program binary from cache

Enums

Name

Description

Private enum

EBinaryFileState

Constants