summaryrefslogtreecommitdiff
path: root/tests/pipeline
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-09-03 12:56:31 -0700
committerGitHub <noreply@github.com>2023-09-03 12:56:31 -0700
commit1d4b5b6fd2433a10cc7ab87626cb560f54b0acbb (patch)
tree6196d519190720fd2968ac7d4b373e3c967d5fe6 /tests/pipeline
parent355bb4287861f96082751042f4e58ff3598b4e5e (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.hlsl49
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:
{