spv.structDeref.frag 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #version 140
  2. uniform sampler2D samp2D;
  3. in vec2 coord;
  4. struct s0 {
  5. int i;
  6. };
  7. struct s00 {
  8. s0 s0_0;
  9. };
  10. struct s1 {
  11. int i;
  12. float f;
  13. s0 s0_1;
  14. };
  15. struct s2 {
  16. int i;
  17. float f;
  18. s1 s1_1;
  19. };
  20. struct s3 {
  21. s2[12] s2_1;
  22. int i;
  23. float f;
  24. s1 s1_1;
  25. };
  26. s0 foo0;
  27. s1 foo1;
  28. s2 foo2;
  29. s3 foo3;
  30. s00 foo00;
  31. void main()
  32. {
  33. s0 locals0;
  34. s2 locals2;
  35. s00 locals00;
  36. float[6] fArray;
  37. s1[10] locals1Array;
  38. if (foo3.s2_1[9].i > 0) {
  39. locals2.f = 1.0;
  40. locals2.s1_1 = s1(0, 1.0, s0(0));
  41. fArray = float[6]( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  42. locals1Array[6] = foo1;
  43. locals0 = s0(0);
  44. locals00 = s00(s0(0));
  45. } else {
  46. locals2.f = coord.x;
  47. locals2.s1_1 = s1(1, coord.y, foo0);
  48. fArray = float[6]( 0.0, 1.0, 2.0, 3.0, 4.0, 5.0);
  49. locals1Array[6] = locals2.s1_1;
  50. locals0 = foo1.s0_1;
  51. locals00 = foo00;
  52. }
  53. if (locals0.i > 5)
  54. locals0 = locals00.s0_0;
  55. gl_FragColor = (float(locals0.i) + locals1Array[6].f + fArray[3] + locals2.s1_1.f) * texture(samp2D, coord);
  56. }