Files
UnrealEngine/Engine/Shaders/Private/Nanite/NaniteStreaming.usf
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

30 lines
837 B
HLSL

// Copyright Epic Games, Inc. All Rights Reserved.
#include "../Common.ush"
#include "NaniteDataDecode.ush"
#include "NaniteStreaming.ush"
#include "../ComputeShaderUtils.ush"
RWStructuredBuffer<FStreamingRequest> OutStreamingRequests;
RWByteAddressBuffer DstBuffer;
[numthreads(1, 1, 1)]
void ClearStreamingRequestCount()
{
OutStreamingRequests[0].RuntimeResourceID_Magic = 0; // First entry holds count
}
uint SrcOffset;
uint DstOffset;
uint NumThreads;
[numthreads(64, 1, 1)]
void Memcpy(uint3 GroupID : SV_GroupID, uint GroupIndex : SV_GroupIndex)
{
const uint DispatchThreadId = GetUnWrappedDispatchThreadId(GroupID, GroupIndex, 64);
if (DispatchThreadId >= NumThreads)
return;
const uint4 Data = DstBuffer.Load4(SrcOffset + (DispatchThreadId << 4));
DstBuffer.Store4(DstOffset + (DispatchThreadId << 4), Data);
}