12#include "Containers/Array.h"
21#define ZERO_FILLED_DUMMY_UNIFORM_BUFFER_SIZE 65536
168 Target.bAlphaBlendEnable =
false;
169 Target.ColorBlendOperation =
GL_NONE;
170 Target.ColorSourceBlendFactor =
GL_NONE;
171 Target.ColorDestBlendFactor =
GL_NONE;
172 Target.bSeparateAlphaBlendEnable =
false;
173 Target.AlphaBlendOperation =
GL_NONE;
174 Target.AlphaSourceBlendFactor =
GL_NONE;
175 Target.AlphaDestBlendFactor =
GL_NONE;
176 Target.ColorWriteMaskR =
false;
177 Target.ColorWriteMaskG =
false;
178 Target.ColorWriteMaskB =
false;
179 Target.ColorWriteMaskA =
false;
191 Init = RHIInitializer;
239#define FOpenGLCachedAttr_Invalid (void*)(UPTRINT)0xFFFFFFFF
240#define FOpenGLCachedAttr_SingleVertex (void*)(UPTRINT)0xFFFFFFFE
277#define NUM_OPENGL_VERTEX_STREAMS 16
#define NULL
Definition oodle2base.h:134
typedef GLboolean(GL_APIENTRYP PFNeglPresentationTimeANDROID)(EGLDisplay dpy
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
void Init()
Definition LockFreeList.h:4
@ OGL_MAX_UNIFORM_BUFFER_BINDINGS
Definition OpenGLShaderResources.h:23
#define NUM_OPENGL_VERTEX_STREAMS
Definition OpenGLState.h:277
@ SF_NumStandardFrequencies
Definition RHIDefinitions.h:222
@ MaxSimultaneousRenderTargets
Definition RHIDefinitions.h:287
ERasterizerDepthClipMode
Definition RHIDefinitions.h:380
ERenderTargetStoreAction
Definition RHIDefinitions.h:1272
Definition OpenGLState.h:185
FOpenGLBlendStateData Data
Definition OpenGLState.h:195
virtual bool GetInitializer(FBlendStateInitializerRHI &Init) override final
Definition OpenGLState.h:189
FOpenGLBlendState(const FBlendStateInitializerRHI &Initializer)
Definition OpenGLState.h:188
Definition OpenGLState.h:133
FOpenGLDepthStencilStateData Data
Definition OpenGLState.h:137
virtual bool GetInitializer(FDepthStencilStateInitializerRHI &Init) override final
Definition OpenGLState.cpp:384
Definition OpenGLShaders.cpp:1262
Definition OpenGLState.h:85
virtual bool GetInitializer(FRasterizerStateInitializerRHI &Init) override final
Definition OpenGLState.cpp:351
FOpenGLRasterizerStateData Data
Definition OpenGLState.h:89
Definition OpenGLState.h:67
~FOpenGLSamplerState()
Definition OpenGLState.cpp:224
GLuint Resource
Definition OpenGLState.h:69
FOpenGLSamplerStateData Data
Definition OpenGLState.h:70
Definition OpenGLShaderResources.h:283
Definition OpenGLResources.h:1324
Definition OpenGLResources.h:918
Definition OpenGLResources.h:736
Definition RHIResources.h:696
Definition RHIResources.h:686
Definition RHIResources.h:679
Definition RHIResources.h:671
Definition UnrealClient.h:30
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void SetNumZeroed(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2340
SizeType AddDefaulted()
Definition Array.h:2795
UE_REWRITE bool IsEmpty() const
Definition Array.h:1133
void SetNum(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2308
SizeType AddZeroed()
Definition Array.h:2755
void Empty(SizeType Slack=0)
Definition Array.h:2273
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition RefCounting.h:454
Definition StaticArray.h:26
@ NUM_SHADER_STAGES
Definition CrossCompilerCommon.h:24
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
static FORCEINLINE GLint GetMaxCombinedUAVUnits()
Definition AndroidOpenGL.h:81
static UE_FORCEINLINE_HINT void * Memzero(void *Dest, SIZE_T Count)
Definition UnrealMemory.h:131
static UE_FORCEINLINE_HINT void * Memset(void *Dest, uint8 Char, SIZE_T Count)
Definition UnrealMemory.h:119
Definition OpenGLState.h:143
GLenum ColorDestBlendFactor
Definition OpenGLState.h:147
uint32 ColorWriteMaskG
Definition OpenGLState.h:153
bool bSeparateAlphaBlendEnable
Definition OpenGLState.h:148
GLenum AlphaSourceBlendFactor
Definition OpenGLState.h:150
bool bAlphaBlendEnable
Definition OpenGLState.h:144
uint32 ColorWriteMaskR
Definition OpenGLState.h:152
GLenum ColorSourceBlendFactor
Definition OpenGLState.h:146
uint32 ColorWriteMaskB
Definition OpenGLState.h:154
GLenum ColorBlendOperation
Definition OpenGLState.h:145
GLenum AlphaDestBlendFactor
Definition OpenGLState.h:151
uint32 ColorWriteMaskA
Definition OpenGLState.h:155
GLenum AlphaBlendOperation
Definition OpenGLState.h:149
Definition OpenGLState.h:141
TStaticArray< FRenderTarget, MaxSimultaneousRenderTargets > RenderTargets
Definition OpenGLState.h:158
FOpenGLBlendStateData()
Definition OpenGLState.h:162
bool bUseAlphaToCoverage
Definition OpenGLState.h:160
Definition OpenGLState.h:243
GLuint StreamOffset
Definition OpenGLState.h:246
FOpenGLCachedAttr()
Definition OpenGLState.h:251
GLboolean bNormalized
Definition OpenGLState.h:248
GLuint Size
Definition OpenGLState.h:244
GLuint StreamIndex
Definition OpenGLState.h:247
GLboolean bShouldConvertToFloat
Definition OpenGLState.h:249
GLenum Type
Definition OpenGLState.h:245
Definition OpenGLState.h:280
virtual ~FOpenGLCommonState()
Definition OpenGLState.h:288
FOpenGLCommonState()
Definition OpenGLState.h:285
TArray< FTextureStage > Textures
Definition OpenGLState.h:281
virtual void InitializeResources(int32 NumCombinedTextures, int32 NumCombinedUAVUnits)
Definition OpenGLState.h:295
virtual void CleanupResources()
Definition OpenGLState.h:307
TArray< FUAVStage > UAVs
Definition OpenGLState.h:283
TArray< FOpenGLSamplerState * > SamplerStates
Definition OpenGLState.h:282
Definition OpenGLState.h:316
bool bNonCoherentFramebufferFetchEnabled
Definition OpenGLState.h:345
GLenum ActiveTexture
Definition OpenGLState.h:329
uint16 ClearStencil
Definition OpenGLState.h:341
int32 FirstNonzeroRenderTarget
Definition OpenGLState.h:343
uint32 ActiveStreamMask
Definition OpenGLState.h:351
GLuint ElementArrayBufferBound
Definition OpenGLState.h:336
virtual void CleanupResources() override
Definition OpenGLState.h:413
FLinearColor ClearColor
Definition OpenGLState.h:340
FOpenGLCachedAttr VertexAttrs[NUM_OPENGL_VERTEX_STREAMS]
Definition OpenGLState.h:348
uint32 RenderTargetWidth
Definition OpenGLState.h:322
GLuint Program
Definition OpenGLState.h:325
GLuint UniformBufferOffsets[CrossCompiler::NUM_SHADER_STAGES *OGL_MAX_UNIFORM_BUFFER_BINDINGS]
Definition OpenGLState.h:327
FORCEINLINE bool GetVertexAttrEnabled(int32 Index) const
Definition OpenGLState.h:353
uint32 VertexAttrs_EnabledBits
Definition OpenGLState.h:352
GLuint StorageBufferBound
Definition OpenGLState.h:337
virtual void InitializeResources(int32 NumCombinedTextures, int32 NumCombinedUAVUnits) override
Definition OpenGLState.h:404
float DepthMaxZ
Definition OpenGLState.h:334
FOpenGLDepthStencilStateData DepthStencilState
Definition OpenGLState.h:318
FOpenGLBlendStateData BlendState
Definition OpenGLState.h:320
uint32 ActiveUAVMask
Definition OpenGLState.h:370
GLuint ArrayBufferBound
Definition OpenGLState.h:335
uint32 RenderTargetHeight
Definition OpenGLState.h:323
FOpenGLVertexDeclaration * VertexDecl
Definition OpenGLState.h:347
FOpenGLRasterizerStateData RasterizerState
Definition OpenGLState.h:317
GLuint UniformBufferBound
Definition OpenGLState.h:339
FOpenGLContextState()
Definition OpenGLState.h:372
float DepthMinZ
Definition OpenGLState.h:333
bool bScissorEnabled
Definition OpenGLState.h:330
uint32 StencilRef
Definition OpenGLState.h:319
GLuint UniformBuffers[CrossCompiler::NUM_SHADER_STAGES *OGL_MAX_UNIFORM_BUFFER_BINDINGS]
Definition OpenGLState.h:326
GLuint Framebuffer
Definition OpenGLState.h:321
FIntRect Viewport
Definition OpenGLState.h:332
bool bAlphaToCoverageEnabled
Definition OpenGLState.h:344
TArray< FOpenGLSamplerState * > CachedSamplerStates
Definition OpenGLState.h:328
GLuint OcclusionQuery
Definition OpenGLState.h:324
float ClearDepth
Definition OpenGLState.h:342
FORCEINLINE void SetVertexAttrEnabled(int32 Index, bool bEnable)
Definition OpenGLState.h:358
FIntRect Scissor
Definition OpenGLState.h:331
FOpenGLStream VertexStreams[NUM_OPENGL_VERTEX_STREAMS]
Definition OpenGLState.h:349
GLuint PixelUnpackBufferBound
Definition OpenGLState.h:338
Definition OpenGLState.h:93
GLenum StencilFail
Definition OpenGLState.h:102
GLenum ZFunc
Definition OpenGLState.h:96
GLenum CCWStencilFail
Definition OpenGLState.h:106
FOpenGLDepthStencilStateData()
Definition OpenGLState.h:112
bool bTwoSidedStencilMode
Definition OpenGLState.h:100
bool bZEnable
Definition OpenGLState.h:94
GLenum StencilFunc
Definition OpenGLState.h:101
uint32 StencilReadMask
Definition OpenGLState.h:109
uint32 StencilWriteMask
Definition OpenGLState.h:110
GLenum StencilZFail
Definition OpenGLState.h:103
bool bStencilEnable
Definition OpenGLState.h:99
bool bZWriteEnable
Definition OpenGLState.h:95
GLenum StencilPass
Definition OpenGLState.h:104
GLenum CCWStencilZFail
Definition OpenGLState.h:107
GLenum CCWStencilFunc
Definition OpenGLState.h:105
GLenum CCWStencilPass
Definition OpenGLState.h:108
Definition OpenGLState.h:421
int32 NumRenderingSamples
Definition OpenGLState.h:438
FOpenGLStream DynamicVertexStream
Definition OpenGLState.h:450
uint32 UpStride
Definition OpenGLState.h:482
FOpenGLBlendStateData BlendState
Definition OpenGLState.h:425
virtual void InitializeResources(int32 NumCombinedTextures, int32 NumComputeUAVUnits) override
AB: moved from the header, since it was causing linker error when the header is included externally.
Definition OpenGLState.cpp:437
FOpenGLStream Streams[NUM_OPENGL_VERTEX_STREAMS]
Definition OpenGLState.h:457
float DepthMaxZ
Definition OpenGLState.h:431
FIntRect Scissor
Definition OpenGLState.h:428
bool bAnyDirtyGraphicsUniformBuffers
Definition OpenGLState.h:476
uint32 BoundUniformBuffersDynamicOffset[SF_NumStandardFrequencies][MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE]
Definition OpenGLState.h:471
uint32 RenderTargetMipmapLevels[MaxSimultaneousRenderTargets]
Definition OpenGLState.h:441
bool bAnyDirtyRealUniformBuffers[SF_NumStandardFrequencies]
Definition OpenGLState.h:474
uint32 RenderTargetHeight
Definition OpenGLState.h:434
uint32 UpIndexBufferBytes
Definition OpenGLState.h:481
uint32 NumVertices
Definition OpenGLState.h:451
uint32 PrimitiveType
Definition OpenGLState.h:452
uint32 MinVertexIndex
Definition OpenGLState.h:454
uint32 NumPrimitives
Definition OpenGLState.h:453
virtual void CleanupResources() override
Definition OpenGLState.h:533
~FOpenGLRHIState()
Definition OpenGLState.h:526
FRHIUniformBuffer * BoundUniformBuffers[SF_NumStandardFrequencies][MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE]
Definition OpenGLState.h:470
FOpenGLLinkedProgram * LinkedProgramAndDirtyFlag
Definition OpenGLState.h:460
uint32 StencilRef
Definition OpenGLState.h:424
bool bScissorEnabled
Definition OpenGLState.h:427
FOpenGLRasterizerStateData RasterizerState
Definition OpenGLState.h:422
uint16 DirtyUniformBuffers[SF_NumStandardFrequencies]
Definition OpenGLState.h:477
uint32 DepthTargetWidth
Definition OpenGLState.h:445
FOpenGLShaderParameterCache * ShaderParameters
Definition OpenGLState.h:461
ERenderTargetStoreAction StencilStoreAction
Definition OpenGLState.h:444
FOpenGLDepthStencilStateData DepthStencilState
Definition OpenGLState.h:423
uint32 RenderTargetArrayIndex[MaxSimultaneousRenderTargets]
Definition OpenGLState.h:442
uint32 RenderTargetWidth
Definition OpenGLState.h:433
TRefCountPtr< FOpenGLBoundShaderState > BoundShaderState
Definition OpenGLState.h:463
@ MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE
Definition OpenGLState.h:467
bool bAlphaToCoverageEnabled
Definition OpenGLState.h:435
FIntRect Viewport
Definition OpenGLState.h:429
float DepthMinZ
Definition OpenGLState.h:430
void * UpIndexBuffer
Definition OpenGLState.h:484
uint32 UpVertexBufferBytes
Definition OpenGLState.h:480
FOpenGLTexture * RenderTargets[MaxSimultaneousRenderTargets]
Definition OpenGLState.h:440
TRefCountPtr< FOpenGLComputeShader > CurrentComputeShader
Definition OpenGLState.h:464
FOpenGLRHIState()
Definition OpenGLState.h:486
GLuint ZeroFilledDummyUniformBuffer
Definition OpenGLState.h:432
uint32 DepthTargetHeight
Definition OpenGLState.h:446
bool bFramebufferSetupInvalid
Definition OpenGLState.h:447
FOpenGLTexture * DepthStencil
Definition OpenGLState.h:443
uint32 IndexDataStride
Definition OpenGLState.h:455
void * UpVertexBuffer
Definition OpenGLState.h:483
int32 FirstNonzeroRenderTarget
Definition OpenGLState.h:439
GLuint Framebuffer
Definition OpenGLState.h:426
Definition OpenGLState.h:76
GLenum CullMode
Definition OpenGLState.h:78
float DepthBias
Definition OpenGLState.h:79
ERasterizerDepthClipMode DepthClipMode
Definition OpenGLState.h:81
float SlopeScaleDepthBias
Definition OpenGLState.h:80
GLenum FillMode
Definition OpenGLState.h:77
Definition OpenGLState.h:26
EGLSamplerData
Definition OpenGLState.h:29
@ EGLSamplerData_CompareFunc
Definition OpenGLState.h:38
@ EGLSamplerData_WrapS
Definition OpenGLState.h:30
@ EGLSamplerData_WrapR
Definition OpenGLState.h:32
@ EGLSamplerData_MaxAniso
Definition OpenGLState.h:36
@ EGLSamplerData_LODBias
Definition OpenGLState.h:33
@ EGLSamplerData_CompareMode
Definition OpenGLState.h:37
@ EGLSamplerData_WrapT
Definition OpenGLState.h:31
@ EGLSamplerData_MagFilter
Definition OpenGLState.h:34
@ EGLSamplerData_MinFilter
Definition OpenGLState.h:35
@ EGLSamplerData_Num
Definition OpenGLState.h:39
GLint CompareFunc
Definition OpenGLState.h:50
GLint WrapT
Definition OpenGLState.h:43
GLint MaxAnisotropy
Definition OpenGLState.h:48
GLint CompareMode
Definition OpenGLState.h:49
GLint WrapS
Definition OpenGLState.h:42
GLint MagFilter
Definition OpenGLState.h:46
GLint MinFilter
Definition OpenGLState.h:47
GLint WrapR
Definition OpenGLState.h:44
GLint LODBias
Definition OpenGLState.h:45
FOpenGLSamplerStateData()
Definition OpenGLState.h:52
Definition OpenGLState.h:263
GLuint VertexBufferResource
Definition OpenGLState.h:264
uint32 Offset
Definition OpenGLState.h:266
uint32 Stride
Definition OpenGLState.h:265
FOpenGLStream()
Definition OpenGLState.h:269
uint32 Divisor
Definition OpenGLState.h:267
Definition OpenGLState.h:199
GLuint Resource
Definition OpenGLState.h:203
int32 NumMips
Definition OpenGLState.h:206
int32 LimitMip
Definition OpenGLState.h:204
class FOpenGLTexture * Texture
Definition OpenGLState.h:200
class FOpenGLShaderResourceView * SRV
Definition OpenGLState.h:201
GLenum Target
Definition OpenGLState.h:202
FTextureStage()
Definition OpenGLState.h:208
bool bHasMips
Definition OpenGLState.h:205
Definition OpenGLState.h:221
GLenum Format
Definition OpenGLState.h:222
GLuint Resource
Definition OpenGLState.h:223
FUAVStage()
Definition OpenGLState.h:229
bool bLayered
Definition OpenGLState.h:226
GLint Layer
Definition OpenGLState.h:225
GLenum Access
Definition OpenGLState.h:224
GLint Level
Definition OpenGLState.h:227
FOpenGLBlendState TConcreteType
Definition OpenGLState.h:561
FOpenGLDepthStencilState TConcreteType
Definition OpenGLState.h:556
FOpenGLRasterizerState TConcreteType
Definition OpenGLState.h:551
FOpenGLSamplerState TConcreteType
Definition OpenGLState.h:546
Definition OpenGLResources.h:1473
IntType Y
Definition IntPoint.h:37
IntType X
Definition IntPoint.h:34
IntPointType Max
Definition IntRect.h:37
IntPointType Min
Definition IntRect.h:34