readFromOutput3.hlsl 788 B

123456789101112131415161718192021222324252627282930
  1. // RUN: %dxc -E main -T vs_6_0 %s | FileCheck %s
  2. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 0
  3. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 1
  4. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 2
  5. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 0, i8 3
  6. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 1, i8 0
  7. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 1, i8 1
  8. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 1, i8 2
  9. // CHECK: dx.op.storeOutput.f32(i32 5, i32 1, i32 1, i8 3
  10. float c0;
  11. float c1;
  12. uint i;
  13. struct VsIn {
  14. float4 a:A;
  15. float4 b:B;
  16. };
  17. struct VsOut {
  18. float4 pos: SV_Position;
  19. float4 c[2]: C;
  20. };
  21. void main(VsIn input, out VsOut output) {
  22. output.c[i%2] = input.b;
  23. output.c[i%2+1] = input.b;
  24. output.pos = output.c[i];
  25. }