5#include "Containers/Array.h"
21 if (RootParametersMetadata)
23 Members = RootParametersMetadata->
GetMembers();
24 NextMemberOffset = RootParametersMetadata->
GetSize();
36 NextMemberOffset =
Align(NextMemberOffset, TParamTypeInfo::Alignment);
43 TParamTypeInfo::BaseType,
45 TParamTypeInfo::NumRows,
46 TParamTypeInfo::NumColumns,
47 TParamTypeInfo::NumElements,
48 TParamTypeInfo::GetStructMetadata()
51 NextMemberOffset +=
sizeof(
typename TParamTypeInfo::TAlignedType);
70 TParamTypeInfo::BaseType,
72 TParamTypeInfo::NumRows,
73 TParamTypeInfo::NumColumns,
75 TParamTypeInfo::GetStructMetadata()
78 NextMemberOffset +=
sizeof(
typename TParamTypeInfo::TAlignedType) * NumElements;
117 NextMemberOffset =
Align(NextMemberOffset, TParamTypeInfo::Alignment);
127 TParamTypeInfo::NumRows,
128 TParamTypeInfo::NumColumns,
129 TParamTypeInfo::NumElements,
130 TParamTypeInfo::GetStructMetadata()
133 NextMemberOffset +=
sizeof(
typename TParamTypeInfo::TAlignedType);
145 const TCHAR* ShaderType,
151 const TCHAR* ShaderType,
157 const TCHAR* ShaderType,
163 const TCHAR* ShaderType,
169 const TCHAR* ShaderType,
175 const TCHAR* ShaderType,
181 const TCHAR* ShaderType,
219 uint32 NextMemberOffset = 0;
constexpr T Align(T Val, uint64 Alignment)
Definition AlignmentTemplates.h:18
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SHADER_PARAMETER_ARRAY_ELEMENT_ALIGNMENT
Definition RHIDefinitions.h:28
#define SHADER_PARAMETER_STRUCT_ALIGNMENT
Definition RHIDefinitions.h:25
@ UBMT_NESTED_STRUCT
Definition RHIDefinitions.h:666
EUniformBufferBindingFlags
Definition RHIDefinitions.h:686
UE_FORCEINLINE_HINT SizeType Emplace(ArgsType &&... Args)
Definition Array.h:2561
Type
Definition ShaderParameterMetadata.h:38
@ Float
Definition ShaderParameterMetadata.h:39
Definition ShaderParameterMacros.h:1347
Definition ShaderParameterMacros.h:895