83 template<
typename ShaderType>
87template<EUpdateTextureValueType ValueType>
101 const TCHAR* Type =
nullptr;
112template <
typename ShaderType>
124 case EUpdateTextureValueType::Float:
return FUpdateTexture2DSubresourceCS::SelectShader<TUpdateTexture2DSubresourceCS<EUpdateTextureValueType::Float>>(GlobalShaderMap);
125 case EUpdateTextureValueType::Int32:
return FUpdateTexture2DSubresourceCS::SelectShader<TUpdateTexture2DSubresourceCS<EUpdateTextureValueType::Int32>>(GlobalShaderMap);
126 case EUpdateTextureValueType::Uint32:
return FUpdateTexture2DSubresourceCS::SelectShader<TUpdateTexture2DSubresourceCS<EUpdateTextureValueType::Uint32>>(GlobalShaderMap);
163template<u
int32 ElementsPerThread>
182 case 1u:
return TEXT(
"CopyData1CS");
break;
183 case 2u:
return TEXT(
"CopyData2CS");
break;
#define checkNoEntry()
Definition AssertionMacros.h:316
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
void SetShaderValue(FRHIBatchedShaderParameters &BatchedParameters, const FShaderParameter &Parameter, const ParameterType &Value, uint32 ElementIndex=0)
Definition ShaderParameterUtils.h:24
@ SPF_Mandatory
Definition ShaderParameters.h:51
#define DECLARE_EXPORTED_SHADER_TYPE(ShaderClass, ShaderMetaTypeShortcut, RequiredAPI,...)
Definition Shader.h:1683
EUpdateTextureValueType
Definition UpdateTextureShaders.h:15
Definition GlobalShader.h:173
RENDERCORE_API TShaderRef< FShader > GetShader(FShaderType *ShaderType, int32 PermutationId=0) const
Definition GlobalShader.cpp:608
Definition GlobalShader.h:269
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &Environment)
Definition GlobalShader.h:289
Definition ShaderParameters.h:56
Definition ShaderParameters.h:87
Definition UpdateTextureShaders.h:42
static TShaderRef< FUpdateTexture2DSubresourceCS > SelectShader(FGlobalShaderMap *GlobalShaderMap, EUpdateTextureValueType ValueType)
Definition UpdateTextureShaders.h:119
void SetParameters(FRHIBatchedShaderParameters &BatchedParameters, const FUpdateTextureRegion2D &UpdateRegionInBlocks, uint32 SrcElementPitch)
Definition UpdateTextureShaders.h:60
LAYOUT_FIELD(FShaderResourceParameter, DestTexture)
LAYOUT_FIELD(FShaderResourceParameter, SrcBuffer)
FUpdateTexture2DSubresourceCS()
Definition UpdateTextureShaders.h:45
FUpdateTexture2DSubresourceCS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition UpdateTextureShaders.h:46
LAYOUT_FIELD(FShaderParameter, DestPosSizeParameter)
LAYOUT_FIELD(FShaderParameter, SrcPosPitchParameter)
static const TCHAR * GetFunctionName()
Definition UpdateTextureShaders.h:56
static const TCHAR * GetSourceFilename()
Definition UpdateTextureShaders.h:55
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition UpdateTextureShaders.h:30
Definition UpdateTextureShaders.h:131
FUpdateTexture3DSubresourceCS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition UpdateTextureShaders.h:135
LAYOUT_FIELD(FShaderParameter, DestPosParameter)
LAYOUT_FIELD(FShaderParameter, SrcPitchParameter)
FUpdateTexture3DSubresourceCS()
Definition UpdateTextureShaders.h:134
static const TCHAR * GetSourceFilename()
Definition UpdateTextureShaders.h:149
LAYOUT_FIELD(FShaderParameter, SrcDepthPitchParameter)
LAYOUT_FIELD(FShaderResourceParameter, SrcBuffer)
static const TCHAR * GetFunctionName()
Definition UpdateTextureShaders.h:151
LAYOUT_FIELD(FShaderParameter, DestSizeParameter)
Definition UpdateTextureShaders.h:22
FUpdateTextureShaderBase()
Definition UpdateTextureShaders.h:24
FUpdateTextureShaderBase(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition UpdateTextureShaders.h:25
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition UpdateTextureShaders.h:30
Definition UpdateTextureShaders.h:165
static const TCHAR * GetFunctionName()
Definition UpdateTextureShaders.h:178
LAYOUT_FIELD(FShaderResourceParameter, SrcBuffer)
static const TCHAR * GetSourceFilename()
Definition UpdateTextureShaders.h:176
TCopyDataCS()
Definition UpdateTextureShaders.h:168
TCopyDataCS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition UpdateTextureShaders.h:169
LAYOUT_FIELD(FShaderResourceParameter, DestBuffer)
Definition UpdateTextureShaders.h:89
TUpdateTexture2DSubresourceCS()
Definition UpdateTextureShaders.h:92
TUpdateTexture2DSubresourceCS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition UpdateTextureShaders.h:93
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition UpdateTextureShaders.h:97
Definition GlobalShader.h:73
Definition RHIShaderParameters.h:241
Definition ShaderCore.h:544
const EShaderPlatform Platform
Definition ShaderPermutation.h:29
Definition RHITypes.h:127