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

27 lines
900 B
HLSL

// Copyright Epic Games, Inc. All Rights Reserved.
#include "../Common.ush"
#include "../ComputeShaderUtils.ush"
#include "/Engine/Shared/SceneCullingDefinitions.h"
uint NumWorkGroups;
StructuredBuffer< FViewDrawGroup > InViewDrawRanges;
RWStructuredBuffer< FInstanceCullingGroupWork > InOutInstanceCullingWorkGroups;
[numthreads(64, 1, 1)]
void ComputeExplicitChunkDrawsViewMask(
uint3 GroupId : SV_GroupID,
uint GroupThreadIndex : SV_GroupIndex)
{
const uint DispatchThreadId = GetUnWrappedDispatchThreadId(GroupId, GroupThreadIndex, 64);
if (DispatchThreadId < NumWorkGroups)
{
FInstanceCullingGroupWork WorkGroup = InOutInstanceCullingWorkGroups[DispatchThreadId];
const FViewDrawGroup ViewDrawGroup = InViewDrawRanges[WorkGroup.ViewGroupId];
WorkGroup.ActiveViewMask = (1u << ViewDrawGroup.NumViews) - 1u;
InOutInstanceCullingWorkGroups[DispatchThreadId] = WorkGroup;
}
}