320.tese 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #version 320 es
  2. layout(vertices = 4) out; // ERROR
  3. layout(quads, cw) in;
  4. layout(triangles) in; // ERROR
  5. layout(isolines) in; // ERROR
  6. layout(ccw) in; // ERROR
  7. layout(cw) in;
  8. layout(fractional_odd_spacing) in;
  9. layout(equal_spacing) in; // ERROR
  10. layout(fractional_even_spacing) in; // ERROR
  11. layout(point_mode) in;
  12. patch in vec4 patchIn;
  13. patch out vec4 patchOut; // ERROR
  14. void main()
  15. {
  16. barrier(); // ERROR
  17. int a = gl_MaxTessEvaluationInputComponents +
  18. gl_MaxTessEvaluationOutputComponents +
  19. gl_MaxTessEvaluationTextureImageUnits +
  20. gl_MaxTessEvaluationUniformComponents +
  21. gl_MaxTessPatchComponents +
  22. gl_MaxPatchVertices +
  23. gl_MaxTessGenLevel;
  24. vec4 p = gl_in[1].gl_Position;
  25. float ps = gl_in[1].gl_PointSize; // ERROR, need point_size extension
  26. float cd = gl_in[1].gl_ClipDistance[2]; // ERROR, not in ES
  27. int pvi = gl_PatchVerticesIn;
  28. int pid = gl_PrimitiveID;
  29. vec3 tc = gl_TessCoord;
  30. float tlo = gl_TessLevelOuter[3];
  31. float tli = gl_TessLevelInner[1];
  32. gl_Position = p;
  33. gl_PointSize = ps; // ERROR, need point_size extension
  34. gl_ClipDistance[2] = cd; // ERROR, not in ES
  35. }
  36. smooth patch in vec4 badp1; // ERROR
  37. flat patch in vec4 badp2; // ERROR
  38. noperspective patch in vec4 badp3; // ERROR
  39. patch sample in vec3 badp4; // ERROR
  40. #extension GL_ARB_separate_shader_objects : enable
  41. in gl_PerVertex
  42. {
  43. vec4 gl_Position;
  44. } gl_in[];
  45. in gl_PerVertex // ERROR, second redeclaration of gl_in
  46. {
  47. vec4 gl_Position;
  48. } gl_in[];
  49. layout(quads, cw) out; // ERROR
  50. layout(triangles) out; // ERROR
  51. layout(isolines) out; // ERROR
  52. layout(cw) out; // ERROR
  53. layout(fractional_odd_spacing) out; // ERROR
  54. layout(equal_spacing) out; // ERROR
  55. layout(fractional_even_spacing) out; // ERROR
  56. layout(point_mode) out; // ERROR
  57. in vec2 ina; // ERROR, not array
  58. in vec2 inb[];
  59. in vec2 inc[18]; // ERROR, wrong size
  60. in vec2 ind[gl_MaxPatchVertices];
  61. in testbla { // ERROR, not array
  62. int f;
  63. } bla;
  64. in testblb {
  65. int f;
  66. } blb[];
  67. in testblc { // ERROR wrong size
  68. int f;
  69. } blc[18];
  70. in testbld {
  71. int f;
  72. } bld[gl_MaxPatchVertices];
  73. layout(location = 23) in vec4 ivla[];
  74. layout(location = 24) in vec4 ivlb[];
  75. layout(location = 24) in vec4 ivlc[]; // ERROR, overlap
  76. layout(location = 23) out vec4 ovla[2];
  77. layout(location = 24) out vec4 ovlb[2]; // ERROR, overlap
  78. in float gl_TessLevelOuter[4]; // ERROR, can't redeclare
  79. patch in pinbn {
  80. int a;
  81. } pinbi;
  82. centroid out vec3 myColor2;
  83. centroid in vec3 centr[];
  84. sample out vec4 perSampleColor;
  85. void bbbad()
  86. {
  87. gl_BoundingBoxOES; // ERROR, wrong stage
  88. }