yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
ce87ab925
master
1// raypayload-missing-access-qualifiers.slang 2 3//DIAGNOSTIC_TEST:SIMPLE: 4 5// Test error for field in ray payload struct missing read/write access qualifiers 6 7struct [raypayload] RayPayload 8{ 9 float4 color : read(caller, anyhit) : write(caller); 10 float4 colorMissingQualifiers; // Error expected here 11 12}; 13 14uniform RWTexture2D<float4> resultTexture; 15uniform RaytracingAccelerationStructure sceneBVH; 16 17[shader("raygeneration")] 18void rayGenShaderA() 19{ 20 int2 threadIdx = DispatchRaysIndex().xy; 21 22 float3 rayDir = float3(0, 0, 1); 23 float3 rayOrigin = 0; 24 rayOrigin.x = (threadIdx.x * 2) - 1; 25 rayOrigin.y = (threadIdx.y * 2) - 1; 26 27 // Trace the ray. 28 RayDesc ray; 29 ray.Origin = rayOrigin; 30 ray.Direction = rayDir; 31 ray.TMin = 0.001; 32 ray.TMax = 10000.0; 33 RayPayload payload = { float4(0, 0, 0, 0) , float4(0, 0, 0, 0)}; 34 TraceRay(sceneBVH, RAY_FLAG_NONE, ~0, 0, 0, 0, ray, payload); 35 36 resultTexture[threadIdx.xy] = payload.color; 37}