9#include "Containers/Array.h"
11#include "Containers/Map.h"
103 return SlotNames.
Num();
108 return FString::Printf(
TEXT(
"[Name: %s, Slot: %u]"), *
GetSlotName(Slot).ToString(), Slot);
113 checkf(Slot < SlotNames.
Num(),
TEXT(
"Requesting name for an invalid slot: %u."), Slot);
114 return SlotNames[Slot];
122 if (SlotNames[
Index] == SlotName)
249 uint32 ElementSize =
sizeof(
uint32) * NumRows * NumColumns;
273 template<
typename FHasherType,
typename FHashType>
280 Hasher << NumElements;
291 Hasher << NumColumns;
304 const TCHAR* ShaderType;
444 template<
typename TParameterFunction>
461 const TCHAR*
const LayoutName;
464 const TCHAR*
const StructTypeName;
467 const TCHAR*
const ShaderVariableName;
470 const TCHAR*
const StaticSlotName;
478 const int32 FileLine;
522 template<
typename FHasherType,
typename FHashType>
constexpr T Align(T Val, uint64 Alignment)
Definition AlignmentTemplates.h:18
#define check(expr)
Definition AssertionMacros.h:314
#define checkNoEntry()
Definition AssertionMacros.h:316
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
ERHIUniformBufferFlags
Definition RHIDefinitions.h:704
@ MAX_UNIFORM_BUFFER_STATIC_SLOTS
Definition RHIDefinitions.h:727
#define SHADER_PARAMETER_ARRAY_ELEMENT_ALIGNMENT
Definition RHIDefinitions.h:28
uint8 FUniformBufferStaticSlot
Definition RHIDefinitions.h:722
EUniformBufferBaseType
Definition RHIDefinitions.h:634
@ UBMT_FLOAT32
Definition RHIDefinitions.h:644
@ UBMT_NESTED_STRUCT
Definition RHIDefinitions.h:666
@ UBMT_UINT32
Definition RHIDefinitions.h:643
@ UBMT_INT32
Definition RHIDefinitions.h:642
@ UBMT_INCLUDED_STRUCT
Definition RHIDefinitions.h:669
EUniformBufferBindingFlags
Definition RHIDefinitions.h:686
EShaderCodeResourceBindingType
Definition RHIDefinitions.h:553
bool IsRDGResourceReferenceShaderParameterType(EUniformBufferBaseType BaseType)
Definition RHIDefinitions.h:1575
bool IsShaderParameterTypeReadOnlyRHIResource(EUniformBufferBaseType BaseType)
Definition RHIDefinitions.h:1580
TStringView< TCHAR > FStringView
Definition StringFwd.h:45
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition MemoryImage.h:858
Definition NameTypes.h:617
Definition ShaderKeyGenerator.h:29
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition UnrealString.h.inl:34
Definition MemoryHasher.h:22
virtual void Serialize(void *Data, int64 Num) override
Definition MemoryHasher.h:31
Definition ShaderParameterMetadata.h:36
Type
Definition ShaderParameterMetadata.h:38
@ Fixed
Definition ShaderParameterMetadata.h:41
@ Float
Definition ShaderParameterMetadata.h:39
@ Invalid
Definition ShaderParameterMetadata.h:42
@ Half
Definition ShaderParameterMetadata.h:40
U16 Index
Definition radfft.cpp:71
Definition ShaderCore.h:511
Definition ShaderParameterMetadata.h:66
EUniformBufferBindingFlags BindingFlags
Definition ShaderParameterMetadata.h:77
ERHIUniformBufferFlags Flags
Definition ShaderParameterMetadata.h:80
FString StaticSlotName
Definition ShaderParameterMetadata.h:68
uint32 LayoutHash
Definition ShaderParameterMetadata.h:74
FThreadSafeNameBufferPtr MemberNameBuffer
Definition ShaderParameterMetadata.h:71
Definition ShaderParameterMetadata.h:51
const TCHAR * UniformBufferMemberName
Definition ShaderParameterMetadata.h:53
uint8 Type
Definition ShaderParameterMetadata.h:57
uint16 ResourceIndex
Definition ShaderParameterMetadata.h:59
FStringView GetUniformBufferName() const
Definition ShaderParameterMetadata.h:61
uint8 UniformBufferNameLength
Definition ShaderParameterMetadata.h:55
static int32 Strlen(const CharType *String)
Definition CString.h:1047