yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
94ced35a5
master
1//TEST:SIMPLE(filecheck=CHECK): -target hlsl -stage raygeneration -entry main 2 3RaytracingAccelerationStructure as; 4 5struct testStruct 6{ 7 int data; 8} 9 10RWStructuredBuffer<int> outputBuffer1; 11 12void main() 13{ 14 RayDesc ray; 15 ray.Origin = float3(0); 16 ray.TMin = 1e-6; 17 ray.Direction = float3(0,0,1); 18 ray.TMax = 100.0f; 19 20 testStruct someInData1; 21 someInData1.data = 5; 22 23 // CHECK: TraceRay( 24 TraceRay(as, 25 1, 26 0xff, 27 0, 28 0, 29 2, 30 ray, 31 someInData1); 32 outputBuffer1[0] = outputBuffer1[0]+someInData1.data; 33 34 // CHECK: TraceMotionRay( 35 TraceMotionRay(as, 36 1, 37 0xff, 38 0, 39 0, 40 2, 41 ray, 42 0.0f, 43 someInData1); 44 outputBuffer1[0] = outputBuffer1[0]+someInData1.data; 45 46 // CHECK: NvTraceRayHitObject( 47 HitObject::TraceRay(as, 48 1, 49 0xff, 50 0, 51 0, 52 2, 53 ray, 54 someInData1); 55 outputBuffer1[0] = outputBuffer1[0]+someInData1.data; 56 57 // CHECK: TraceMotionRay( 58 HitObject::TraceMotionRay(as, 59 1, 60 0xff, 61 0, 62 0, 63 2, 64 ray, 65 0.0f, 66 someInData1); 67 outputBuffer1[0] = outputBuffer1[0]+someInData1.data; 68 69 // CHECK: NvInvokeHitObject( 70 HitObject hitObject_HitOrMiss; 71 HitObject::Invoke( 72 as, 73 hitObject_HitOrMiss, 74 someInData1); 75 outputBuffer1[0] = outputBuffer1[0]+someInData1.data; 76}