vk.layout.cbuffer.nested.empty.std140.hlsl 866 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Run: %dxc -T vs_6_0 -E main
  2. // CHECK: OpMemberDecorate %OuterStruct 0 Offset 0
  3. // CHECK: OpMemberDecorate %OuterStruct 1 Offset 0
  4. // CHECK: OpMemberDecorate %type_Params_cbuffer 0 Offset 0
  5. // CHECK: %InnerStruct0 = OpTypeStruct
  6. // CHECK: %InnerStruct1 = OpTypeStruct
  7. // CHECK: %OuterStruct = OpTypeStruct %InnerStruct0 %InnerStruct1
  8. // CHECK: %type_Params_cbuffer = OpTypeStruct %OuterStruct
  9. struct InnerStruct0 {};
  10. struct InnerStruct1 {};
  11. struct OuterStruct
  12. {
  13. InnerStruct0 s0;
  14. InnerStruct1 s1;
  15. };
  16. struct MyParams
  17. {
  18. OuterStruct constants;
  19. };
  20. cbuffer Params_cbuffer : register(b0)
  21. {
  22. OuterStruct constants;
  23. };
  24. MyParams CreateParams()
  25. {
  26. MyParams i;
  27. i.constants = constants;
  28. return i;
  29. }
  30. static const MyParams params_vars = CreateParams();
  31. float4 main(float4 pos : POSITION) : SV_POSITION
  32. {
  33. return float4(0, 0, 0, 0);
  34. }