// root-shader-parameter.slang // Test use of root shader parameters. [__AttributeUsage(_AttributeTargets.Var)] struct rootAttribute {}; struct S1 { StructuredBuffer c0; [root] RWStructuredBuffer c1; StructuredBuffer c2; } struct S0 { StructuredBuffer b0; [root] StructuredBuffer b1; ParameterBlock s1; ConstantBuffer s2; } ParameterBlock g; [root] RWStructuredBuffer buffer; [shader("compute")] [numthreads(1,1,1)] void computeMain( uint3 sv_dispatchThreadID : SV_DispatchThreadID) { buffer[0] = g.b0[0] - g.b1[0] + g.s1.c0[0] - g.s1.c1[0] + g.s1.c2[0] + g.s2.c0[0] - g.s2.c1[0] + g.s2.c2[0]; // 10-1+2-3+4+5-6+7 }