44 MTL::DrawPrimitivesIndirectArguments
Draw;
47 MTL::DispatchThreadgroupsIndirectArguments
Dispatch;
151#pragma mark - Public C++ Boilerplate -
165#pragma mark - Public Command Buffer Mutators -
178#pragma mark - Public Command Buffer Accessors -
186#pragma mark - Public Command Encoder Accessors -
191 return ParallelRenderCommandEncoder.get() !=
nullptr;
197 return RenderCommandEncoder.get() !=
nullptr;
203 return ComputeCommandEncoder.get() !=
nullptr;
209 return BlitCommandEncoder.get() !=
nullptr;
217#if METAL_RHI_RAYTRACING
226 return bIsParallelEncoding;
229#if METAL_RHI_RAYTRACING
249#if METAL_RHI_RAYTRACING
260#pragma mark - Public Command Encoder Mutators -
280#if METAL_RHI_RAYTRACING
303#pragma mark - Public Debug Support -
320#if ENABLE_METAL_GPUPROFILE
325#pragma mark - Public Render State Mutators -
339 void SetRenderPassStoreActions(MTL::StoreAction
const*
const ColorStore, MTL::StoreAction
const DepthStore, MTL::StoreAction
const StencilStore);
421#pragma mark - Public Shader Resource Mutators -
422#if METAL_RHI_RAYTRACING
471 void SetShaderTexture(MTL::FunctionType
const FunctionType, MTL::Texture*
Texture, NS::UInteger
const Index, MTL::ResourceUsage
const Usage);
508#pragma mark - Public Compute State Mutators -
516#pragma mark - Public Ring-Buffer Accessor -
524#pragma mark - Public Resource query Access -
527#pragma mark - Private Functions -
535 void SetShaderBufferOffset(MTL::FunctionType
const FunctionType, NS::UInteger
const Offset, NS::UInteger
const Length, NS::UInteger
const Index);
539 void FenceResource(MTL::Texture* Resource,
const MTL::FunctionType
Function,
bool bIsRenderTarget =
false);
540 void FenceResource(MTL::Buffer* Resource,
const MTL::FunctionType
Function);
543 void UseResource(MTL::Resource* Resource, MTL::ResourceUsage
const Usage);
547#pragma mark - Private Type Declarations -
550 struct FMetalBufferBindings
557#if METAL_RHI_RAYTRACING
562 FMetalBufferData* Bytes[ML_MaxBuffers];
583 void SetBufferMetaData(NS::UInteger
Index, NS::UInteger
Length, NS::UInteger
Format, NS::UInteger ElementRowPitch)
589 void SetTextureSwizzle(NS::UInteger
Index,
uint8 (&Swizzle)[4])
597#pragma mark - Private Member Variables -
601 FMetalBufferBindings ShaderBuffers[
int(MTL::FunctionTypeObject)+1];
604 MTL::StoreAction DepthStoreAction;
605 MTL::StoreAction StencilStoreAction;
609 MTL::RenderPassDescriptor* RenderPassDesc =
nullptr;
617#if METAL_RHI_RAYTRACING
622#if ENABLE_METAL_GPUPROFILE
636 bool bIsParallelEncoding =
false;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ MaxSimultaneousRenderTargets
Definition RHIDefinitions.h:287
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition MetalRHIContext.h:48
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition SharedPointer.h:692
int
Definition TestServer.py:515
U16 Index
Definition radfft.cpp:71
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160
Definition LinuxPlatformSplash.cpp:43