optimized3.hlsl 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. // RUN: %dxilver 1.5 | %dxc -E main -T vs_6_0 -pack_optimized %s | FileCheck %s
  2. // CHECK: ; Output signature:
  3. // CHECK: ; Name Index Mask Register SysValue Format Used
  4. // CHECK-NEXT: ; -------------------- ----- ------ -------- -------- ------- ------
  5. // CHECK-NEXT: ; First 0 xyz 0 NONE float xyz
  6. // CHECK-NEXT: ; WithFirst 0 w 0 NONE float w
  7. // CHECK-NEXT: ; SV_CullDistance 0 w 1 CULLDST float w
  8. // CHECK-NEXT: ; SV_CullDistance 1 z 1 CULLDST float z
  9. // CHECK-NEXT: ; SV_ClipDistance 1 y 1 CLIPDST float y
  10. // CHECK-NEXT: ; BeforeClipCull 0 x 1 NONE float x
  11. // CHECK-NEXT: ; SV_CullDistance 2 z 2 CULLDST float z
  12. // CHECK-NEXT: ; SV_ClipDistance 0 x 2 CLIPDST float x
  13. // CHECK-NEXT: ; SV_ClipDistance 2 y 2 CLIPDST float y
  14. // CHECK-NEXT: ; SV_ClipDistance 3 w 2 CLIPDST float w
  15. struct VS_OUT {
  16. float3 first : First;
  17. float cull0 : SV_CullDistance0;
  18. float clip0 : SV_ClipDistance0;
  19. float clip1[2] : SV_ClipDistance1;
  20. float cull1[2] : SV_CullDistance1;
  21. float clip3 : SV_ClipDistance3;
  22. float withFirst : WithFirst; // packs with First
  23. float afterClipCull : BeforeClipCull; // packed before clip/cull in same row
  24. };
  25. VS_OUT main() {
  26. return (VS_OUT)1.0F;
  27. }