9#include "Containers/Map.h"
38namespace UE::ShaderParameters
67 inline bool IsBound()
const {
return NumBytes > 0; }
95 inline bool IsBound()
const {
return NumResources > 0; }
128 inline bool IsBound()
const {
return BaseIndex != 0xffff; }
146template<
typename TBufferStruct>
153 FShaderUniformBufferParameter::ModifyCompilationEnvironment(ParameterName,TBufferStruct::StaticStruct,
Platform,
OutEnvironment);
174 inline bool IsBound()
const {
return bIsBound != 0; }
189 BindlessParameters.Add(Parameter);
245 SRVs[BaseIndex] =
Value;
251 Samplers[BaseIndex] =
Value;
257 UAVs[BaseIndex] =
Value;
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define LAYOUT_FIELD(T, Name,...)
Definition MemoryLayout.h:471
#define DECLARE_EXPORTED_TYPE_LAYOUT(T, RequiredAPI, Interface)
Definition MemoryLayout.h:559
#define LAYOUT_FIELD_INITIALIZED(T, Name, Value,...)
Definition MemoryLayout.h:473
#define DECLARE_INTRINSIC_TYPE_LAYOUT(T)
Definition MemoryLayout.h:760
EShaderCodeResourceBindingType
Definition RHIDefinitions.h:553
EShaderParameterType
Definition ShaderCore.h:248
EShaderParameterFlags
Definition ShaderParameters.h:47
@ SPF_Optional
Definition ShaderParameters.h:49
@ SPF_Mandatory
Definition ShaderParameters.h:51
#define UE_ARRAY_COUNT(array)
Definition UnrealTemplate.h:212
Definition Archive.h:1208
Definition MemoryImage.h:49
Definition RHIResources.h:1018
Definition RHIResources.h:671
Definition RHIResources.h:3304
Definition RHIResources.h:2153
Definition RHIResources.h:3294
Definition ShaderCore.h:323
Definition ShaderParameters.h:56
uint32 GetBufferIndex() const
Definition ShaderParameters.h:74
uint32 GetBaseIndex() const
Definition ShaderParameters.h:75
uint32 GetNumBytes() const
Definition ShaderParameters.h:76
bool IsBound() const
Definition ShaderParameters.h:67
bool IsInitialized() const
Definition ShaderParameters.h:69
RENDERCORE_API void Bind(const FShaderParameterMap &ParameterMap, const TCHAR *ParameterName, EShaderParameterFlags Flags=SPF_Optional)
Definition ShaderParameters.cpp:39
friend RENDERCORE_API FArchive & operator<<(FArchive &Ar, FShaderParameter &P)
Definition ShaderParameters.cpp:47
FShaderParameter()
Definition ShaderParameters.h:59
Definition ShaderParameters.h:87
EShaderParameterType GetType() const
Definition ShaderParameters.h:100
RENDERCORE_API void Bind(const FShaderParameterMap &ParameterMap, const TCHAR *ParameterName, EShaderParameterFlags Flags=SPF_Optional)
Definition ShaderParameters.cpp:53
bool IsBound() const
Definition ShaderParameters.h:95
bool IsInitialized() const
Definition ShaderParameters.h:96
uint32 GetNumResources() const
Definition ShaderParameters.h:99
uint32 GetBaseIndex() const
Definition ShaderParameters.h:98
friend RENDERCORE_API FArchive & operator<<(FArchive &Ar, FShaderResourceParameter &P)
Definition ShaderParameters.cpp:67
FShaderResourceParameter()=default
Definition RHIShaderParameters.h:32
Definition RHIUtilities.h:423
Definition RHIUtilities.h:181
Definition RHICommandList.h:248
Definition ShaderCore.h:544