struct-pad-to-256.azsl 681 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. ShaderResourceGroupSemantic slot1
  2. {
  3. FrequencyId = 1;
  4. };
  5. struct MyStructA
  6. {
  7. float m_data;
  8. [[pad_to(16)]]
  9. };
  10. struct MyStructB
  11. {
  12. int m_data;
  13. [[pad_to(16)]]
  14. MyStructA m_a;
  15. float2 m_b;
  16. [[pad_to(64)]]
  17. };
  18. struct MyStruct
  19. {
  20. MyStructA m_a;
  21. MyStructB m_b;
  22. float m_color_red;
  23. [[pad_to(16)]]
  24. uint m_uint;
  25. [[pad_to(256)]]
  26. };
  27. ShaderResourceGroup DemoSrg : slot1
  28. {
  29. MyStruct m_myStruct;
  30. StructuredBuffer<MyStruct> m_mySB;
  31. };
  32. float4 PSMain() : SV_Target0
  33. {
  34. // Inside func
  35. float4 color = float4(0, 0, 0, 0);
  36. color.r = DemoSrg::m_myStruct.m_color_red;
  37. color.r += DemoSrg::m_mySB[0].m_color_red;
  38. return color;
  39. }