diff options
| author | Yong He <yonghe@outlook.com> | 2023-09-03 12:56:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-03 12:56:31 -0700 |
| commit | 1d4b5b6fd2433a10cc7ab87626cb560f54b0acbb (patch) | |
| tree | 6196d519190720fd2968ac7d4b373e3c967d5fe6 /tests/pipeline | |
| parent | 355bb4287861f96082751042f4e58ff3598b4e5e (diff) | |
Proper lowering of functiosn that returns NonCopyable values. (#3179)
* Proper lowering of functiosn that returns NonCopyable values.
* Fix tests.
* Fix clang errors.
* Fix.
* Fix clang error.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/pipeline')
| -rw-r--r-- | tests/pipeline/ray-tracing/trace-ray-inline.slang.hlsl | 49 |
1 files changed, 17 insertions, 32 deletions
diff --git a/tests/pipeline/ray-tracing/trace-ray-inline.slang.hlsl b/tests/pipeline/ray-tracing/trace-ray-inline.slang.hlsl index bf10cc2e1..4ed4c9966 100644 --- a/tests/pipeline/ray-tracing/trace-ray-inline.slang.hlsl +++ b/tests/pipeline/ray-tracing/trace-ray-inline.slang.hlsl @@ -1,4 +1,8 @@ #pragma pack_matrix(column_major) +#ifdef SLANG_HLSL_ENABLE_NVAPI +#include "nvHLSLExtns.h" +#endif +#pragma warning(disable: 3557) struct SLANG_ParameterGroup_C_0 { @@ -15,7 +19,6 @@ cbuffer C_0 : register(b0) { SLANG_ParameterGroup_C_0 C_0; } - RaytracingAccelerationStructure myAccelerationStructure_0 : register(t0); RWStructuredBuffer<int > resultBuffer_0 : register(u0); @@ -67,53 +70,41 @@ void myMiss_0(inout MyRayPayload_0 payload_4) void main(uint3 tid_0 : SV_DISPATCHTHREADID) { uint index_0 = tid_0.x; - RayQuery<int(512) > query_0; - MyRayPayload_0 payload_5; payload_5.value_1 = int(-1); - RayDesc ray_0 = { C_0.origin_0, C_0.tMin_0, C_0.direction_0, C_0.tMax_0 }; - + RayQuery<512U > query_0; query_0.TraceRayInline(myAccelerationStructure_0, C_0.rayFlags_0, C_0.instanceMask_0, ray_0); - MyProceduralHitAttrs_0 committedProceduralAttrs_0; - for(;;) { - bool _S1 = query_0.Proceed(); - if(!_S1) { - break; } - + uint _S2 = query_0.CandidateType(); MyProceduralHitAttrs_0 committedProceduralAttrs_1; - switch(query_0.CandidateType()) + switch(_S2) { case 1U: { MyProceduralHitAttrs_0 candidateProceduralAttrs_0; candidateProceduralAttrs_0.value_0 = int(0); - float tHit_1 = 0.0; - bool _S2 = myProceduralIntersection_0(tHit_1, candidateProceduralAttrs_0); - if(_S2) + bool _S3 = myProceduralIntersection_0(tHit_1, candidateProceduralAttrs_0); + if(_S3) { - bool _S3 = myProceduralAnyHit_0(payload_5); - if(_S3) + bool _S4 = myProceduralAnyHit_0(payload_5); + if(_S4) { query_0.CommitProceduralPrimitiveHit(tHit_1); - MyProceduralHitAttrs_0 _S4 = candidateProceduralAttrs_0; + MyProceduralHitAttrs_0 _S5 = candidateProceduralAttrs_0; if(C_0.shouldStopAtFirstHit_0 != 0U) { query_0.Abort(); } - else - {} - - committedProceduralAttrs_1 = _S4; + committedProceduralAttrs_1 = _S5; } else { @@ -128,20 +119,15 @@ void main(uint3 tid_0 : SV_DISPATCHTHREADID) } case 0U: { - bool _S5 = myTriangleAnyHit_0(payload_5); - if(_S5) + bool _S6 = myTriangleAnyHit_0(payload_5); + if(_S6) { query_0.CommitNonOpaqueTriangleHit(); if(C_0.shouldStopAtFirstHit_0 != 0U) { query_0.Abort(); } - else - {} } - else - {} - committedProceduralAttrs_1 = committedProceduralAttrs_0; break; } @@ -151,11 +137,10 @@ void main(uint3 tid_0 : SV_DISPATCHTHREADID) break; } } - committedProceduralAttrs_0 = committedProceduralAttrs_1; } - - switch(query_0.CommittedStatus()) + uint _S7 = query_0.CommittedStatus(); + switch(_S7) { case 1U: { |
