spv.bufferhandle15.frag 601 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #version 450
  2. #extension GL_EXT_buffer_reference : enable
  3. #extension GL_EXT_scalar_block_layout : enable
  4. layout(buffer_reference, scalar) buffer T1 {
  5. vec3 x[];
  6. };
  7. layout(buffer_reference, scalar) buffer T2 {
  8. vec3 x[][4][2];
  9. };
  10. struct S
  11. {
  12. highp ivec3 a;
  13. mediump mat3 b[4];
  14. highp vec4 c;
  15. };
  16. layout(buffer_reference, scalar) buffer T3 {
  17. S s;
  18. };
  19. layout(std430) buffer T4 {
  20. T1 t1;
  21. T2 t2;
  22. T3 t3;
  23. } t4;
  24. layout(location = 0) flat in int i;
  25. void main()
  26. {
  27. vec3 y;
  28. y = t4.t1.x[i];
  29. y = t4.t2.x[i][i][i];
  30. mat3 z = t4.t3.s.b[0];
  31. }