semantic.on-struct.hlsl 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Run: %dxc -T vs_6_0 -E main
  2. struct T1 {
  3. float2 a;
  4. float3 b: BBB;
  5. };
  6. struct T2 {
  7. float2 a;
  8. float3 b;
  9. };
  10. struct S {
  11. float h;
  12. float1 i : III;
  13. T1 j;
  14. float4 k : JJJ;
  15. T2 l : LLL;
  16. };
  17. // CHECK: %in_var_X = OpVariable %_ptr_Input_float Input
  18. // CHECK: %in_var_X1 = OpVariable %_ptr_Input_float Input
  19. // CHECK: %in_var_X2 = OpVariable %_ptr_Input_v2float Input
  20. // CHECK: %in_var_X3 = OpVariable %_ptr_Input_v3float Input
  21. // CHECK: %in_var_X4 = OpVariable %_ptr_Input_v4float Input
  22. // CHECK: %in_var_X5 = OpVariable %_ptr_Input_v2float Input
  23. // CHECK: %in_var_X6 = OpVariable %_ptr_Input_v3float Input
  24. // CHECK: %in_var_Y10 = OpVariable %_ptr_Input_float Input
  25. // CHECK: %in_var_Y11 = OpVariable %_ptr_Input_float Input
  26. // CHECK: %in_var_Y12 = OpVariable %_ptr_Input_v2float Input
  27. // CHECK: %in_var_Y13 = OpVariable %_ptr_Input_v3float Input
  28. // CHECK: %in_var_Y14 = OpVariable %_ptr_Input_v4float Input
  29. // CHECK: %in_var_Y15 = OpVariable %_ptr_Input_v2float Input
  30. // CHECK: %in_var_Y16 = OpVariable %_ptr_Input_v3float Input
  31. // CHECK: %out_var_W20 = OpVariable %_ptr_Output_float Output
  32. // CHECK: %out_var_W21 = OpVariable %_ptr_Output_float Output
  33. // CHECK: %out_var_W22 = OpVariable %_ptr_Output_v2float Output
  34. // CHECK: %out_var_W23 = OpVariable %_ptr_Output_v3float Output
  35. // CHECK: %out_var_W24 = OpVariable %_ptr_Output_v4float Output
  36. // CHECK: %out_var_W25 = OpVariable %_ptr_Output_v2float Output
  37. // CHECK: %out_var_W26 = OpVariable %_ptr_Output_v3float Output
  38. // CHECK: %out_var_Z = OpVariable %_ptr_Output_float Output
  39. // CHECK: %out_var_Z1 = OpVariable %_ptr_Output_float Output
  40. // CHECK: %out_var_Z2 = OpVariable %_ptr_Output_v2float Output
  41. // CHECK: %out_var_Z3 = OpVariable %_ptr_Output_v3float Output
  42. // CHECK: %out_var_Z4 = OpVariable %_ptr_Output_v4float Output
  43. // CHECK: %out_var_Z5 = OpVariable %_ptr_Output_v2float Output
  44. // CHECK: %out_var_Z6 = OpVariable %_ptr_Output_v3float Output
  45. S main(S input1: X, S input2: Y10, out S output1: Z) : W20 {
  46. output1 = input1;
  47. return input2;
  48. }