templateStructFunc.hlsl 309 B

123456789101112131415161718192021
  1. // RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
  2. // CHECK:define void @main
  3. template<typename T>
  4. struct Test {
  5. T t;
  6. T foo(T t1) {
  7. return sin(t) * cos(t1);
  8. }
  9. };
  10. float2 main(float4 a:A) : SV_Target {
  11. Test<float> t0;
  12. t0.t = a.x;
  13. Test<float2> t1;
  14. t1.t = a.xy;
  15. return t0.foo(a.y) + t1.foo(a.zw);
  16. }