spirv.entry-function.unused-param.hlsl 1022 B

1234567891011121314151617181920212223
  1. // Run: %dxc -T vs_6_0 -E main
  2. void main (
  3. // CHECK: %in_var_A = OpVariable %_ptr_Input_v3float Input
  4. in float3 used_in_var : A,
  5. // CHECK: %in_var_B = OpVariable %_ptr_Input_v3float Input
  6. in float3 unused_in_var : B,
  7. // CHECK: %out_var_C = OpVariable %_ptr_Output_v3float Output
  8. out float3 used_out_var : C,
  9. // CHECK: %out_var_D = OpVariable %_ptr_Output_v3float Output
  10. out float3 unused_out_var : D
  11. ) {
  12. // CHECK: [[a:%\d+]] = OpLoad %v3float %in_var_A
  13. // CHECK-NEXT: OpStore %param_var_used_in_var [[a]]
  14. // No writing to %param_var_unused_in_var
  15. // CHECK-NEXT: {{%\d+}} = OpLoad %v3float %in_var_B
  16. // CHECK-NEXT: {{%\d+}} = OpFunctionCall %void %src_main %param_var_used_in_var %param_var_unused_in_var %param_var_used_out_var %param_var_unused_out_var
  17. // CHECK-NEXT: [[c:%\d+]] = OpLoad %v3float %param_var_used_out_var
  18. // CHECK-NEXT: OpStore %out_var_C [[c]]
  19. // No writing to %out_var_D
  20. // CHECK-NEXT: OpReturn
  21. used_out_var = used_in_var;
  22. }