Files
LNXSDK/lib/haxejolt/JoltPhysics/Jolt/Shaders/TestCompute.hlsl

26 lines
686 B
HLSL
Raw Normal View History

2026-03-04 00:50:15 -08:00
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2025 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#include "TestComputeBindings.h"
JPH_SHADER_FUNCTION_BEGIN(void, main, cTestComputeGroupSize, 1, 1)
JPH_SHADER_PARAM_THREAD_ID(tid)
JPH_SHADER_FUNCTION_END
{
// Ensure that we do not write out of bounds
if (tid.x >= cNumElements)
return;
if (cUIntValue2 == 0)
{
// First write, uses optional data and tests that the packing of float3/uint3's works
gData[tid.x] = gOptionalData[tid.x] + int(cFloat3Value2.y) + gUploadData[0];
}
else
{
// Read-modify-write gData
gData[tid.x] = (gData[tid.x] + cUIntValue) * cUIntValue2;
}
}