From f570e109c4039e15526af38e17f350c115327489 Mon Sep 17 00:00:00 2001 From: Mukund Keshava Date: Tue, 27 May 2025 17:46:04 +0530 Subject: Add LSS intrinsics (#7200) * WiP: LSS intrinsics: initial commit * format code * Fix CI failures * Address review comment --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- tests/cuda/lss-test.slang | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/cuda/lss-test.slang (limited to 'tests/cuda') diff --git a/tests/cuda/lss-test.slang b/tests/cuda/lss-test.slang new file mode 100644 index 000000000..4b0512cb1 --- /dev/null +++ b/tests/cuda/lss-test.slang @@ -0,0 +1,34 @@ +//TEST:SIMPLE(filecheck=CHECK): -target cuda +//CHECK_: __global__ void __closesthit__closestHitShaderLss +//CHECK: optixGetSpherePositionAndRadius +//CHECK: optixObjectPositionsAndRadii +//CHECK: optixIsSphereHit +//CHECK: optixIsLSSHit + +struct RayPayload +{ + float4 color; + float2x4 lssData; + bool isSphere; + bool isLss; +}; + +[shader("closesthit")] +void closestHitShaderLss(inout RayPayload payload, in BuiltInTriangleIntersectionAttributes attr) +{ + // Test TraceRay API functions + payload.color = GetSpherePositionAndRadius(); + payload.lssData = GetLssPositionsAndRadii(); + payload.isSphere = IsSphereHit(); + payload.isLss = IsLssHit(); + +// TODO: This will be enabled once issue #6647 is completed. +#if 0 + // Test HitObject API functions + HitObject hitObj; + float4 sphereData = hitObj.GetSphereObjectPositionAndRadius(); + float2x4 lssData = hitObj.GetLssObjectPositionsAndRadii(); + bool isSphereHit = hitObj.IsSphereHit(); + bool isLssHit = hitObj.IsLssHit(); +#endif +} \ No newline at end of file -- cgit v1.2.3