function-signatures.azsl 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. struct MyT{};
  2. int func1();
  3. void func2();
  4. float func3(int arg1);
  5. snorm float func4(int);
  6. MyT func5();
  7. MyT func6(MyT);
  8. MyT func7(MyT arg1);
  9. float4x4 func8(unorm double arg1, float3x3 arg2, int, bool);
  10. uint64_t func9(int32_t arg1, int64_t arg2, uint32_t arg3, uint64_t arg4);
  11. bool func10(in out int);
  12. bool func11(in out int i);
  13. bool func12(inout int i);
  14. float4 func13() : SV_Target0;
  15. float4 func14(in float2 : TEXCOORD0) : SV_Target0;
  16. float4 func15(in float2 uv : TEXCOORD0) : SV_Target0;
  17. [shader( "raygeneration" )]
  18. void func16();
  19. struct TriVertex{ float3 p : POSITION; };
  20. float4 main( TriVertex in_ ) : SV_POSITION {return 0;}
  21. struct P { float3 c; };
  22. struct Attributes { float2 bary; };
  23. [shader( "closesthit" )]
  24. void closest(inout P a_payload : SV_RayPayload,
  25. Attributes attrib);
  26. [shader("anyhit")]
  27. void closest(inout P a_payload : SV_RayPayload,
  28. in BuiltInTriangleIntersectionAttributes myAttr);
  29. struct Payload {};
  30. struct VertexOut {};
  31. [RootSignature( "CBV(b0), CBV(b1), CBV(b2), SRV(t0), SRV(t1), SRV(t2), SRV(t3), SRV(t4)" )]
  32. [NumThreads(128, 1, 1)]
  33. [OutputTopology("triangle")]
  34. void main2(
  35. uint dtid : SV_DispatchThreadID,
  36. uint gtid : SV_GroupThreadID,
  37. uint gid : SV_GroupID,
  38. in payload Payload a_payload,
  39. out vertices VertexOut verts[64],
  40. out indices uint3 tris[126]
  41. )
  42. {}