PageRenderTime 66ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 1ms

/game_platform/lib/lwjgl-2.8.5/src/templates/org/lwjgl/opengles/GLES30.java

https://bitbucket.org/dagronlund/opengl-game-platform
Java | 856 lines | 654 code | 136 blank | 66 comment | 0 complexity | 5a9c2ca122c0fcdcb50b7d18768ce178 MD5 | raw file
  1. /*
  2. * Copyright (c) 2002-2011 LWJGL Project
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions are
  7. * met:
  8. *
  9. * * Redistributions of source code must retain the above copyright
  10. * notice, this list of conditions and the following disclaimer.
  11. *
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. *
  16. * * Neither the name of 'LWJGL' nor the names of
  17. * its contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  22. * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  23. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  24. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  25. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  26. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  27. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  28. * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  29. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  30. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. */
  32. package org.lwjgl.opengles;
  33. import org.lwjgl.opengl.GLSync;
  34. import org.lwjgl.util.generator.*;
  35. import org.lwjgl.util.generator.opengl.*;
  36. import java.nio.*;
  37. public interface GLES30 {
  38. int GL_READ_BUFFER = 0x0C02;
  39. int GL_UNPACK_ROW_LENGTH = 0x0CF2;
  40. int GL_UNPACK_SKIP_ROWS = 0x0CF3;
  41. int GL_UNPACK_SKIP_PIXELS = 0x0CF4;
  42. int GL_PACK_ROW_LENGTH = 0x0D02;
  43. int GL_PACK_SKIP_ROWS = 0x0D03;
  44. int GL_PACK_SKIP_PIXELS = 0x0D04;
  45. int GL_COLOR = 0x1800;
  46. int GL_DEPTH = 0x1801;
  47. int GL_STENCIL = 0x1802;
  48. int GL_RED = 0x1903;
  49. int GL_RGB8 = 0x8051;
  50. int GL_RGBA8 = 0x8058;
  51. int GL_RGB10_A2 = 0x8059;
  52. int GL_TEXTURE_BINDING_3D = 0x806A;
  53. int GL_PACK_SKIP_IMAGES = 0x806B;
  54. int GL_PACK_IMAGE_HEIGHT = 0x806C;
  55. int GL_UNPACK_SKIP_IMAGES = 0x806D;
  56. int GL_UNPACK_IMAGE_HEIGHT = 0x806E;
  57. int GL_TEXTURE_3D = 0x806F;
  58. int GL_TEXTURE_WRAP_R = 0x8072;
  59. int GL_MAX_3D_TEXTURE_SIZE = 0x8073;
  60. int GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368;
  61. int GL_MAX_ELEMENTS_VERTICES = 0x80E8;
  62. int GL_MAX_ELEMENTS_INDICES = 0x80E9;
  63. int GL_TEXTURE_MIN_LOD = 0x813A;
  64. int GL_TEXTURE_MAX_LOD = 0x813B;
  65. int GL_TEXTURE_BASE_LEVEL = 0x813C;
  66. int GL_TEXTURE_MAX_LEVEL = 0x813D;
  67. int GL_MIN = 0x8007;
  68. int GL_MAX = 0x8008;
  69. int GL_DEPTH_COMPONENT24 = 0x81A6;
  70. int GL_MAX_TEXTURE_LOD_BIAS = 0x84FD;
  71. int GL_TEXTURE_COMPARE_MODE = 0x884C;
  72. int GL_TEXTURE_COMPARE_FUNC = 0x884D;
  73. int GL_CURRENT_QUERY = 0x8865;
  74. int GL_QUERY_RESULT = 0x8866;
  75. int GL_QUERY_RESULT_AVAILABLE = 0x8867;
  76. int GL_BUFFER_MAPPED = 0x88BC;
  77. int GL_BUFFER_MAP_POINTER = 0x88BD;
  78. int GL_STREAM_READ = 0x88E1;
  79. int GL_STREAM_COPY = 0x88E2;
  80. int GL_STATIC_READ = 0x88E5;
  81. int GL_STATIC_COPY = 0x88E6;
  82. int GL_DYNAMIC_READ = 0x88E9;
  83. int GL_DYNAMIC_COPY = 0x88EA;
  84. int GL_MAX_DRAW_BUFFERS = 0x8824;
  85. int GL_DRAW_BUFFER0 = 0x8825;
  86. int GL_DRAW_BUFFER1 = 0x8826;
  87. int GL_DRAW_BUFFER2 = 0x8827;
  88. int GL_DRAW_BUFFER3 = 0x8828;
  89. int GL_DRAW_BUFFER4 = 0x8829;
  90. int GL_DRAW_BUFFER5 = 0x882A;
  91. int GL_DRAW_BUFFER6 = 0x882B;
  92. int GL_DRAW_BUFFER7 = 0x882C;
  93. int GL_DRAW_BUFFER8 = 0x882D;
  94. int GL_DRAW_BUFFER9 = 0x882E;
  95. int GL_DRAW_BUFFER10 = 0x882F;
  96. int GL_DRAW_BUFFER11 = 0x8830;
  97. int GL_DRAW_BUFFER12 = 0x8831;
  98. int GL_DRAW_BUFFER13 = 0x8832;
  99. int GL_DRAW_BUFFER14 = 0x8833;
  100. int GL_DRAW_BUFFER15 = 0x8834;
  101. int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
  102. int GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
  103. int GL_SAMPLER_3D = 0x8B5F;
  104. int GL_SAMPLER_2D_SHADOW = 0x8B62;
  105. int GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
  106. int GL_PIXEL_PACK_BUFFER = 0x88EB;
  107. int GL_PIXEL_UNPACK_BUFFER = 0x88EC;
  108. int GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED;
  109. int GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
  110. int GL_FLOAT_MAT2x3 = 0x8B65;
  111. int GL_FLOAT_MAT2x4 = 0x8B66;
  112. int GL_FLOAT_MAT3x2 = 0x8B67;
  113. int GL_FLOAT_MAT3x4 = 0x8B68;
  114. int GL_FLOAT_MAT4x2 = 0x8B69;
  115. int GL_FLOAT_MAT4x3 = 0x8B6A;
  116. int GL_SRGB = 0x8C40;
  117. int GL_SRGB8 = 0x8C41;
  118. int GL_SRGB8_ALPHA8 = 0x8C43;
  119. int GL_COMPARE_REF_TO_TEXTURE = 0x884E;
  120. int GL_MAJOR_VERSION = 0x821B;
  121. int GL_MINOR_VERSION = 0x821C;
  122. int GL_NUM_EXTENSIONS = 0x821D;
  123. int GL_RGBA32F = 0x8814;
  124. int GL_RGB32F = 0x8815;
  125. int GL_RGBA16F = 0x881A;
  126. int GL_RGB16F = 0x881B;
  127. int GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
  128. int GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
  129. int GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
  130. int GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
  131. int GL_MAX_VARYING_COMPONENTS = 0x8B4B;
  132. int GL_TEXTURE_2D_ARRAY = 0x8C1A;
  133. int GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
  134. int GL_R11F_G11F_B10F = 0x8C3A;
  135. int GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
  136. int GL_RGB9_E5 = 0x8C3D;
  137. int GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
  138. int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
  139. int GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
  140. int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
  141. int GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
  142. int GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
  143. int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
  144. int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
  145. int GL_RASTERIZER_DISCARD = 0x8C89;
  146. int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
  147. int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
  148. int GL_INTERLEAVED_ATTRIBS = 0x8C8C;
  149. int GL_SEPARATE_ATTRIBS = 0x8C8D;
  150. int GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
  151. int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
  152. int GL_RGBA32UI = 0x8D70;
  153. int GL_RGB32UI = 0x8D71;
  154. int GL_RGBA16UI = 0x8D76;
  155. int GL_RGB16UI = 0x8D77;
  156. int GL_RGBA8UI = 0x8D7C;
  157. int GL_RGB8UI = 0x8D7D;
  158. int GL_RGBA32I = 0x8D82;
  159. int GL_RGB32I = 0x8D83;
  160. int GL_RGBA16I = 0x8D88;
  161. int GL_RGB16I = 0x8D89;
  162. int GL_RGBA8I = 0x8D8E;
  163. int GL_RGB8I = 0x8D8F;
  164. int GL_RED_INTEGER = 0x8D94;
  165. int GL_RGB_INTEGER = 0x8D98;
  166. int GL_RGBA_INTEGER = 0x8D99;
  167. int GL_SAMPLER_2D_ARRAY = 0x8DC1;
  168. int GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
  169. int GL_SAMPLER_CUBE_SHADOW = 0x8DC5;
  170. int GL_UNSIGNED_INT_VEC2 = 0x8DC6;
  171. int GL_UNSIGNED_INT_VEC3 = 0x8DC7;
  172. int GL_UNSIGNED_INT_VEC4 = 0x8DC8;
  173. int GL_INT_SAMPLER_2D = 0x8DCA;
  174. int GL_INT_SAMPLER_3D = 0x8DCB;
  175. int GL_INT_SAMPLER_CUBE = 0x8DCC;
  176. int GL_INT_SAMPLER_2D_ARRAY = 0x8DCF;
  177. int GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
  178. int GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
  179. int GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
  180. int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
  181. int GL_BUFFER_ACCESS_FLAGS = 0x911F;
  182. int GL_BUFFER_MAP_LENGTH = 0x9120;
  183. int GL_BUFFER_MAP_OFFSET = 0x9121;
  184. int GL_DEPTH_COMPONENT32F = 0x8CAC;
  185. int GL_DEPTH32F_STENCIL8 = 0x8CAD;
  186. int GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
  187. int GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
  188. int GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
  189. int GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
  190. int GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
  191. int GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
  192. int GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
  193. int GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
  194. int GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
  195. int GL_FRAMEBUFFER_DEFAULT = 0x8218;
  196. int GL_FRAMEBUFFER_UNDEFINED = 0x8219;
  197. int GL_DEPTH_STENCIL_ATTACHMENT = 0x821A;
  198. int GL_DEPTH_STENCIL = 0x84F9;
  199. int GL_UNSIGNED_INT_24_8 = 0x84FA;
  200. int GL_DEPTH24_STENCIL8 = 0x88F0;
  201. int GL_UNSIGNED_NORMALIZED = 0x8C17;
  202. int GL_DRAW_FRAMEBUFFER_BINDING = GLES20.GL_FRAMEBUFFER_BINDING;
  203. int GL_READ_FRAMEBUFFER = 0x8CA8;
  204. int GL_DRAW_FRAMEBUFFER = 0x8CA9;
  205. int GL_READ_FRAMEBUFFER_BINDING = 0x8CAA;
  206. int GL_RENDERBUFFER_SAMPLES = 0x8CAB;
  207. int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
  208. int GL_MAX_COLOR_ATTACHMENTS = 0x8CDF;
  209. int GL_COLOR_ATTACHMENT1 = 0x8CE1;
  210. int GL_COLOR_ATTACHMENT2 = 0x8CE2;
  211. int GL_COLOR_ATTACHMENT3 = 0x8CE3;
  212. int GL_COLOR_ATTACHMENT4 = 0x8CE4;
  213. int GL_COLOR_ATTACHMENT5 = 0x8CE5;
  214. int GL_COLOR_ATTACHMENT6 = 0x8CE6;
  215. int GL_COLOR_ATTACHMENT7 = 0x8CE7;
  216. int GL_COLOR_ATTACHMENT8 = 0x8CE8;
  217. int GL_COLOR_ATTACHMENT9 = 0x8CE9;
  218. int GL_COLOR_ATTACHMENT10 = 0x8CEA;
  219. int GL_COLOR_ATTACHMENT11 = 0x8CEB;
  220. int GL_COLOR_ATTACHMENT12 = 0x8CEC;
  221. int GL_COLOR_ATTACHMENT13 = 0x8CED;
  222. int GL_COLOR_ATTACHMENT14 = 0x8CEE;
  223. int GL_COLOR_ATTACHMENT15 = 0x8CEF;
  224. int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
  225. int GL_MAX_SAMPLES = 0x8D57;
  226. int GL_HALF_FLOAT = 0x140B;
  227. int GL_MAP_READ_BIT = 0x0001;
  228. int GL_MAP_WRITE_BIT = 0x0002;
  229. int GL_MAP_INVALIDATE_RANGE_BIT = 0x0004;
  230. int GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008;
  231. int GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010;
  232. int GL_MAP_UNSYNCHRONIZED_BIT = 0x0020;
  233. int GL_RG = 0x8227;
  234. int GL_RG_INTEGER = 0x8228;
  235. int GL_R8 = 0x8229;
  236. int GL_RG8 = 0x822B;
  237. int GL_R16F = 0x822D;
  238. int GL_R32F = 0x822E;
  239. int GL_RG16F = 0x822F;
  240. int GL_RG32F = 0x8230;
  241. int GL_R8I = 0x8231;
  242. int GL_R8UI = 0x8232;
  243. int GL_R16I = 0x8233;
  244. int GL_R16UI = 0x8234;
  245. int GL_R32I = 0x8235;
  246. int GL_R32UI = 0x8236;
  247. int GL_RG8I = 0x8237;
  248. int GL_RG8UI = 0x8238;
  249. int GL_RG16I = 0x8239;
  250. int GL_RG16UI = 0x823A;
  251. int GL_RG32I = 0x823B;
  252. int GL_RG32UI = 0x823C;
  253. int GL_VERTEX_ARRAY_BINDING = 0x85B5;
  254. int GL_R8_SNORM = 0x8F94;
  255. int GL_RG8_SNORM = 0x8F95;
  256. int GL_RGB8_SNORM = 0x8F96;
  257. int GL_RGBA8_SNORM = 0x8F97;
  258. int GL_SIGNED_NORMALIZED = 0x8F9C;
  259. int GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69;
  260. int GL_COPY_READ_BUFFER = 0x8F36;
  261. int GL_COPY_WRITE_BUFFER = 0x8F37;
  262. int GL_COPY_READ_BUFFER_BINDING = GL_COPY_READ_BUFFER;
  263. int GL_COPY_WRITE_BUFFER_BINDING = GL_COPY_WRITE_BUFFER;
  264. int GL_UNIFORM_BUFFER = 0x8A11;
  265. int GL_UNIFORM_BUFFER_BINDING = 0x8A28;
  266. int GL_UNIFORM_BUFFER_START = 0x8A29;
  267. int GL_UNIFORM_BUFFER_SIZE = 0x8A2A;
  268. int GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
  269. int GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
  270. int GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
  271. int GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
  272. int GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
  273. int GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
  274. int GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
  275. int GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
  276. int GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35;
  277. int GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36;
  278. int GL_UNIFORM_TYPE = 0x8A37;
  279. int GL_UNIFORM_SIZE = 0x8A38;
  280. int GL_UNIFORM_NAME_LENGTH = 0x8A39;
  281. int GL_UNIFORM_BLOCK_INDEX = 0x8A3A;
  282. int GL_UNIFORM_OFFSET = 0x8A3B;
  283. int GL_UNIFORM_ARRAY_STRIDE = 0x8A3C;
  284. int GL_UNIFORM_MATRIX_STRIDE = 0x8A3D;
  285. int GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E;
  286. int GL_UNIFORM_BLOCK_BINDING = 0x8A3F;
  287. int GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
  288. int GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41;
  289. int GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
  290. int GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
  291. int GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
  292. int GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
  293. int GL_INVALID_INDEX = 0xFFFFFFFF;
  294. int GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
  295. int GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
  296. int GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111;
  297. int GL_OBJECT_TYPE = 0x9112;
  298. int GL_SYNC_CONDITION = 0x9113;
  299. int GL_SYNC_STATUS = 0x9114;
  300. int GL_SYNC_FLAGS = 0x9115;
  301. int GL_SYNC_FENCE = 0x9116;
  302. int GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
  303. int GL_UNSIGNALED = 0x9118;
  304. int GL_SIGNALED = 0x9119;
  305. int GL_ALREADY_SIGNALED = 0x911A;
  306. int GL_TIMEOUT_EXPIRED = 0x911B;
  307. int GL_CONDITION_SATISFIED = 0x911C;
  308. int GL_WAIT_FAILED = 0x911D;
  309. int GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
  310. long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFl;
  311. int GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
  312. int GL_ANY_SAMPLES_PASSED = 0x8C2F;
  313. int GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
  314. int GL_SAMPLER_BINDING = 0x8919;
  315. int GL_RGB10_A2UI = 0x906F;
  316. int GL_TEXTURE_SWIZZLE_R = 0x8E42;
  317. int GL_TEXTURE_SWIZZLE_G = 0x8E43;
  318. int GL_TEXTURE_SWIZZLE_B = 0x8E44;
  319. int GL_TEXTURE_SWIZZLE_A = 0x8E45;
  320. int GL_GREEN = 0x1904;
  321. int GL_BLUE = 0x1905;
  322. int GL_INT_2_10_10_10_REV = 0x8D9F;
  323. int GL_TRANSFORM_FEEDBACK = 0x8E22;
  324. int GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
  325. int GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
  326. int GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25;
  327. int GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257;
  328. int GL_PROGRAM_BINARY_LENGTH = 0x8741;
  329. int GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE;
  330. int GL_PROGRAM_BINARY_FORMATS = 0x87FF;
  331. int GL_COMPRESSED_R11_EAC = 0x9270;
  332. int GL_COMPRESSED_SIGNED_R11_EAC = 0x9271;
  333. int GL_COMPRESSED_RG11_EAC = 0x9272;
  334. int GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273;
  335. int GL_COMPRESSED_RGB8_ETC2 = 0x9274;
  336. int GL_COMPRESSED_SRGB8_ETC2 = 0x9275;
  337. int GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
  338. int GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
  339. int GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
  340. int GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279;
  341. int GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F;
  342. int GL_MAX_ELEMENT_INDEX = 0x8D6B;
  343. int GL_NUM_SAMPLE_COUNTS = 0x9380;
  344. void glReadBuffer(@GLenum int mode);
  345. void glDrawRangeElements(@GLenum int mode, @GLuint int start, @GLuint int end, @AutoSize("indices") @GLsizei int count,
  346. @AutoType("indices")
  347. @GLenum int type,
  348. @BufferObject(BufferKind.ElementVBO)
  349. @Const
  350. @GLubyte
  351. @GLushort
  352. @GLuint Buffer indices);
  353. void glTexImage3D(@GLenum int target, int level, int internalFormat, @GLsizei int width, @GLsizei int height, @GLsizei int depth, int border, @GLenum int format, @GLenum int type,
  354. @BufferObject(BufferKind.UnpackPBO)
  355. @Check(value = "GLChecks.calculateTexImage3DStorage(pixels, format, type, width, height, depth)", canBeNull = true)
  356. @Const
  357. @GLbyte
  358. @GLshort
  359. @GLint
  360. @GLfloat Buffer pixels);
  361. void glTexSubImage3D(@GLenum int target, int level, int xoffset, int yoffset, int zoffset, @GLsizei int width, @GLsizei int height, @GLsizei int depth, @GLenum int format, @GLenum int type,
  362. @BufferObject(BufferKind.UnpackPBO)
  363. @Check("GLChecks.calculateImageStorage(pixels, format, type, width, height, depth)")
  364. @Const
  365. @GLbyte
  366. @GLshort
  367. @GLint
  368. @GLfloat Buffer pixels);
  369. void glCopyTexSubImage3D(@GLenum int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, @GLsizei int width, @GLsizei int height);
  370. void glCompressedTexImage3D(@GLenum int target, int level, @GLenum int internalformat, @GLsizei int width, @GLsizei int height, @GLsizei int depth, int border, @AutoSize("data") @GLsizei int imageSize,
  371. @BufferObject(BufferKind.UnpackPBO)
  372. @Check
  373. @Const
  374. @GLvoid
  375. ByteBuffer data);
  376. void glCompressedTexSubImage3D(@GLenum int target, int level, int xoffset, int yoffset, int zoffset, @GLsizei int width, @GLsizei int height, @GLsizei int depth, @GLenum int format, @AutoSize("data") @GLsizei int imageSize,
  377. @BufferObject(BufferKind.UnpackPBO)
  378. @Check
  379. @Const
  380. @GLvoid
  381. ByteBuffer data);
  382. void glGenQueries(@AutoSize("ids") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
  383. @Alternate("glGenQueries")
  384. @GLreturn("ids")
  385. void glGenQueries2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
  386. void glDeleteQueries(@AutoSize("ids") @GLsizei int n, @GLuint IntBuffer ids);
  387. @Alternate("glDeleteQueries")
  388. void glDeleteQueries(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(id)", keepParam = true) int id);
  389. boolean glIsQuery(@GLuint int id);
  390. void glBeginQuery(@GLenum int target, @GLuint int id);
  391. void glEndQuery(@GLenum int target);
  392. @StripPostfix("params")
  393. void glGetQueryiv(@GLenum int target, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
  394. @Alternate("glGetQueryiv")
  395. @GLreturn("params")
  396. @StripPostfix(value = "params", postfix = "v")
  397. void glGetQueryiv2(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params);
  398. @StripPostfix("params")
  399. void glGetQueryObjectuiv(@GLenum int id, @GLenum int pname, @OutParameter @Check("1") @GLuint IntBuffer params);
  400. @Alternate("glGetQueryObjectuiv")
  401. @GLreturn("params")
  402. @StripPostfix(value = "params", postfix = "v")
  403. void glGetQueryObjectuiv2(@GLenum int id, @GLenum int pname, @OutParameter @GLuint IntBuffer params);
  404. boolean glUnmapBuffer(@GLenum int target);
  405. @StripPostfix("pointer")
  406. @AutoSize("GLChecks.getBufferObjectSize(target)")
  407. void glGetBufferPointerv(@GLenum int target, @GLenum int pname, @OutParameter @Result @GLvoid ByteBuffer pointer);
  408. void glDrawBuffers(@AutoSize("buffers") @GLsizei int size, @Const @GLenum IntBuffer buffers);
  409. @Alternate("glDrawBuffers")
  410. void glDrawBuffers(@Constant("1") @GLsizei int size, @Constant(value = "APIUtil.getInt(buffer)", keepParam = true) int buffer);
  411. @StripPostfix("matrices")
  412. void glUniformMatrix2x3fv(int location, @AutoSize(value = "matrices", expression = " / (2 * 3)") @GLsizei int count,
  413. boolean transpose, FloatBuffer matrices);
  414. @StripPostfix("matrices")
  415. void glUniformMatrix3x2fv(int location, @AutoSize(value = "matrices", expression = " / (3 * 2)") @GLsizei int count,
  416. boolean transpose, FloatBuffer matrices);
  417. @StripPostfix("matrices")
  418. void glUniformMatrix2x4fv(int location, @AutoSize(value = "matrices", expression = " >> 3") @GLsizei int count,
  419. boolean transpose, FloatBuffer matrices);
  420. @StripPostfix("matrices")
  421. void glUniformMatrix4x2fv(int location, @AutoSize(value = "matrices", expression = " >> 3") @GLsizei int count,
  422. boolean transpose, FloatBuffer matrices);
  423. @StripPostfix("matrices")
  424. void glUniformMatrix3x4fv(int location, @AutoSize(value = "matrices", expression = " / (3 * 4)") @GLsizei int count,
  425. boolean transpose, FloatBuffer matrices);
  426. @StripPostfix("matrices")
  427. void glUniformMatrix4x3fv(int location, @AutoSize(value = "matrices", expression = " / (4 * 3)") @GLsizei int count,
  428. boolean transpose, FloatBuffer matrices);
  429. /**
  430. * Transfers a rectangle of pixel values from one
  431. * region of the read framebuffer to another in the draw framebuffer.
  432. * <mask> is the bitwise OR of a number of values indicating which
  433. * buffers are to be copied. The values are COLOR_BUFFER_BIT,
  434. * DEPTH_BUFFER_BIT, and STENCIL_BUFFER_BIT.
  435. * The pixels corresponding to these buffers are
  436. * copied from the source rectangle, bound by the locations (srcX0,
  437. * srcY0) and (srcX1, srcY1) inclusive, to the destination rectangle,
  438. * bound by the locations (dstX0, dstY0) and (dstX1, dstY1)
  439. * inclusive.
  440. * If the source and destination rectangle dimensions do not match,
  441. * the source image is stretched to fit the destination
  442. * rectangle. <filter> must be LINEAR or NEAREST and specifies the
  443. * method of interpolation to be applied if the image is
  444. * stretched.
  445. */
  446. void glBlitFramebuffer(
  447. @GLint int srcX0, @GLint int srcY0, @GLint int srcX1, @GLint int srcY1,
  448. @GLint int dstX0, @GLint int dstY0, @GLint int dstX1, @GLint int dstY1,
  449. @GLbitfield int mask, @GLenum int filter);
  450. /**
  451. * Establishes the data storage, format, dimensions, and number of
  452. * samples of a renderbuffer object's image.
  453. */
  454. void glRenderbufferStorageMultisample(
  455. @GLenum int target, @GLsizei int samples,
  456. @GLenum int internalformat,
  457. @GLsizei int width, @GLsizei int height);
  458. void glFramebufferTextureLayer(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer);
  459. /**
  460. * glMapBufferRange maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null,
  461. * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
  462. * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
  463. * otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferRange like this:
  464. * <p/>
  465. * ByteBuffer mapped_buffer; mapped_buffer = glMapBufferRange(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferRange(..., ..., ..., ..., mapped_buffer);
  466. * <p/>
  467. * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
  468. *
  469. * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
  470. *
  471. * @return A ByteBuffer representing the mapped buffer memory.
  472. */
  473. @CachedResult(isRange = true)
  474. @GLvoid
  475. @AutoSize("length")
  476. ByteBuffer glMapBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access);
  477. void glFlushMappedBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length);
  478. @Code(" StateTracker.bindVAO(array);")
  479. void glBindVertexArray(@GLuint int array);
  480. @Code(" StateTracker.deleteVAO(arrays);")
  481. void glDeleteVertexArrays(@AutoSize("arrays") @GLsizei int n, @Const @GLuint IntBuffer arrays);
  482. @Alternate("glDeleteVertexArrays")
  483. @Code(" StateTracker.deleteVAO(array);")
  484. void glDeleteVertexArrays(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(array)", keepParam = true) int array);
  485. void glGenVertexArrays(@AutoSize("arrays") @GLsizei int n, @OutParameter @GLuint IntBuffer arrays);
  486. @Alternate("glGenVertexArrays")
  487. @GLreturn("arrays")
  488. void glGenVertexArrays2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer arrays);
  489. boolean glIsVertexArray(@GLuint int array);
  490. @StripPostfix("data")
  491. void glGetIntegeri_v(@GLenum int value, @GLuint int index, @OutParameter @Check("4") IntBuffer data);
  492. @Alternate("glGetIntegeri_v")
  493. @GLreturn("data")
  494. @StripPostfix("data")
  495. void glGetIntegeri_v2(@GLenum int value, @GLuint int index, @OutParameter IntBuffer data);
  496. void glBeginTransformFeedback(@GLenum int primitiveMode);
  497. void glEndTransformFeedback();
  498. void glBindBufferRange(@GLenum int target, @GLuint int index, @GLuint int buffer, @GLintptr long offset, @GLsizeiptr long size);
  499. void glBindBufferBase(@GLenum int target, @GLuint int index, @GLuint int buffer);
  500. void glTransformFeedbackVaryings(@GLuint int program, @GLsizei int count,
  501. @Const @NullTerminated("count") @GLchar @PointerArray("count") ByteBuffer varyings,
  502. @GLenum int bufferMode);
  503. @Alternate("glTransformFeedbackVaryings")
  504. void glTransformFeedbackVaryings(@GLuint int program, @Constant("varyings.length") @GLsizei int count,
  505. @Const @NullTerminated @PointerArray("count") CharSequence[] varyings,
  506. @GLenum int bufferMode);
  507. void glGetTransformFeedbackVarying(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int bufSize,
  508. @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
  509. @OutParameter @GLsizei @Check("1") IntBuffer size,
  510. @OutParameter @GLenum @Check("1") IntBuffer type,
  511. @OutParameter @GLchar ByteBuffer name);
  512. @Alternate("glGetTransformFeedbackVarying")
  513. @GLreturn(value = "name", maxLength = "bufSize")
  514. void glGetTransformFeedbackVarying2(@GLuint int program, @GLuint int index, @GLsizei int bufSize,
  515. @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(name_length)") IntBuffer length,
  516. @OutParameter @GLsizei @Check("1") IntBuffer size,
  517. @OutParameter @GLenum @Check("1") IntBuffer type,
  518. @OutParameter @GLchar ByteBuffer name);
  519. void glVertexAttribIPointer(@GLuint int index, int size, @GLenum int type, @GLsizei int stride,
  520. @CachedReference(index = "index", name = "glVertexAttribPointer_buffer")
  521. @BufferObject(BufferKind.ArrayVBO)
  522. @Check
  523. @Const
  524. @GLbyte
  525. @GLubyte
  526. @GLshort
  527. @GLushort
  528. @GLint
  529. @GLuint Buffer buffer);
  530. @StripPostfix("params")
  531. void glGetVertexAttribIiv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
  532. @StripPostfix("params")
  533. void glGetVertexAttribIuiv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") @GLuint IntBuffer params);
  534. @NoErrorCheck
  535. void glVertexAttribI4i(@GLuint int index, int x, int y, int z, int w);
  536. @NoErrorCheck
  537. void glVertexAttribI4ui(@GLuint int index, @GLuint int x, @GLuint int y, @GLuint int z, @GLuint int w);
  538. @NoErrorCheck
  539. @StripPostfix("v")
  540. void glVertexAttribI4iv(@GLuint int index, @Check("4") @Const IntBuffer v);
  541. @NoErrorCheck
  542. @StripPostfix("v")
  543. void glVertexAttribI4uiv(@GLuint int index, @Check("4") @Const @GLuint IntBuffer v);
  544. @StripPostfix("params")
  545. void glGetUniformuiv(@GLuint int program, int location, @OutParameter @Check @GLuint IntBuffer params);
  546. int glGetFragDataLocation(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name);
  547. @Alternate("glGetFragDataLocation")
  548. int glGetFragDataLocation(@GLuint int program, @NullTerminated CharSequence name);
  549. void glUniform1ui(int location, @GLuint int v0);
  550. void glUniform2ui(int location, @GLuint int v0, @GLuint int v1);
  551. void glUniform3ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2);
  552. void glUniform4ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2, @GLuint int v3);
  553. @StripPostfix("value")
  554. void glUniform1uiv(int location, @AutoSize("value") @GLsizei int count, @Const @GLuint IntBuffer value);
  555. @StripPostfix("value")
  556. void glUniform2uiv(int location, @AutoSize(value = "value", expression = " >> 1") @GLsizei int count, @Const @GLuint IntBuffer value);
  557. @StripPostfix("value")
  558. void glUniform3uiv(int location, @AutoSize(value = "value", expression = " / 3") @GLsizei int count, @Const @GLuint IntBuffer value);
  559. @StripPostfix("value")
  560. void glUniform4uiv(int location, @AutoSize(value = "value", expression = " >> 2") @GLsizei int count, @Const @GLuint IntBuffer value);
  561. @StripPostfix("value")
  562. void glClearBufferfv(@GLenum int buffer, int drawbuffer, @Const @Check("4") FloatBuffer value);
  563. @StripPostfix("value")
  564. void glClearBufferiv(@GLenum int buffer, int drawbuffer, @Const @Check("4") IntBuffer value);
  565. @StripPostfix("value")
  566. void glClearBufferuiv(@GLenum int buffer, int drawbuffer, @Const @Check("4") IntBuffer value);
  567. void glClearBufferfi(@GLenum int buffer, int drawbuffer, float depth, int stencil);
  568. String glGetStringi(@GLenum int name, @GLuint int index);
  569. void glCopyBufferSubData(@GLenum int readtarget, @GLenum int writetarget, @GLintptr long readoffset, @GLintptr long writeoffset, @GLsizeiptr long size);
  570. void glGetUniformIndices(@GLuint int program, @AutoSize("uniformIndices") @GLsizei int uniformCount,
  571. @Const @NullTerminated("uniformIndices.remaining()") @GLchar @PointerArray("uniformCount") ByteBuffer uniformNames,
  572. @OutParameter @GLuint IntBuffer uniformIndices);
  573. @Alternate("glGetUniformIndices")
  574. void glGetUniformIndices(@GLuint int program, @Constant("uniformNames.length") @GLsizei int uniformCount,
  575. @Const @NullTerminated @PointerArray("uniformCount") CharSequence[] uniformNames,
  576. @OutParameter @Check("uniformNames.length") @GLuint IntBuffer uniformIndices);
  577. @StripPostfix("params")
  578. void glGetActiveUniformsiv(@GLuint int program, @AutoSize("uniformIndices") @GLsizei int uniformCount,
  579. @Const @GLuint IntBuffer uniformIndices,
  580. @GLenum int pname,
  581. @OutParameter @Check("uniformIndices.remaining()") @GLint IntBuffer params);
  582. @Alternate("glGetActiveUniformsiv")
  583. @GLreturn("params")
  584. @StripPostfix(value = "params", postfix = "v")
  585. void glGetActiveUniformsiv(@GLuint int program, @Constant("1") @GLsizei int uniformCount,
  586. @Constant(value = "MemoryUtil.getAddress(params.put(1, uniformIndex), 1)", keepParam = true) int uniformIndex, // Reuse params buffer
  587. @GLenum int pname,
  588. @OutParameter @GLint IntBuffer params);
  589. @GLuint
  590. int glGetUniformBlockIndex(@GLuint int program, @Const @NullTerminated @GLchar ByteBuffer uniformBlockName);
  591. @Alternate("glGetUniformBlockIndex")
  592. @GLuint
  593. int glGetUniformBlockIndex(@GLuint int program, @NullTerminated CharSequence uniformBlockName);
  594. @StripPostfix("params")
  595. void glGetActiveUniformBlockiv(@GLuint int program, @GLuint int uniformBlockIndex, @GLenum int pname,
  596. @OutParameter @Check(value = "16") @GLint IntBuffer params);
  597. @Alternate("glGetActiveUniformBlockiv")
  598. @GLreturn("params")
  599. @StripPostfix(value = "params", postfix = "v")
  600. void glGetActiveUniformBlockiv2(@GLuint int program, @GLuint int uniformBlockIndex, @GLenum int pname,
  601. @OutParameter @GLint IntBuffer params);
  602. void glGetActiveUniformBlockName(@GLuint int program, @GLuint int uniformBlockIndex, @AutoSize("uniformBlockName") @GLsizei int bufSize,
  603. @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
  604. @OutParameter @GLchar ByteBuffer uniformBlockName);
  605. @Alternate("glGetActiveUniformBlockName")
  606. @GLreturn(value = "uniformBlockName", maxLength = "bufSize")
  607. void glGetActiveUniformBlockName2(@GLuint int program, @GLuint int uniformBlockIndex, @GLsizei int bufSize,
  608. @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(uniformBlockName_length)") IntBuffer length,
  609. @OutParameter @GLchar ByteBuffer uniformBlockName);
  610. void glUniformBlockBinding(@GLuint int program, @GLuint int uniformBlockIndex, @GLuint int uniformBlockBinding);
  611. void glDrawArraysInstanced(@GLenum int mode, int first, @GLsizei int count, @GLsizei int primcount);
  612. void glDrawElementsInstanced(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
  613. @BufferObject(BufferKind.ElementVBO)
  614. @Const
  615. @GLubyte
  616. @GLushort
  617. @GLuint Buffer indices, @GLsizei int primcount);
  618. @PointerWrapper("GLsync")
  619. GLSync glFenceSync(@GLenum int condition, @GLbitfield int flags);
  620. boolean glIsSync(@PointerWrapper("GLsync") GLSync sync);
  621. void glDeleteSync(@PointerWrapper("GLsync") GLSync sync);
  622. @GLenum
  623. int glClientWaitSync(@PointerWrapper("GLsync") GLSync sync, @GLbitfield int flags, @GLuint64 long timeout);
  624. void glWaitSync(@PointerWrapper("GLsync") GLSync sync, @GLbitfield int flags, @GLuint64 long timeout);
  625. @StripPostfix("data")
  626. void glGetInteger64v(@GLenum int pname, @OutParameter @Check("1") @GLint64 LongBuffer data);
  627. @Alternate("glGetInteger64v")
  628. @GLreturn("data")
  629. @StripPostfix("data")
  630. void glGetInteger64v2(@GLenum int pname, @OutParameter @GLint64 LongBuffer data);
  631. @StripPostfix("data")
  632. @Optional(reason = "NV's 3.2 implementation does not expose this (last driver checked: 19?.??)")
  633. void glGetInteger64i_v(@GLenum int value, @GLuint int index, @OutParameter @Check("4") @GLint64 LongBuffer data);
  634. @Alternate("glGetInteger64i_v")
  635. @GLreturn("data")
  636. @StripPostfix("data")
  637. void glGetInteger64i_v2(@GLenum int value, @GLuint int index, @OutParameter @GLint64 LongBuffer data);
  638. @StripPostfix("values")
  639. void glGetSynciv(@PointerWrapper("GLsync") GLSync sync, @GLenum int pname, @AutoSize("values") @GLsizei int bufSize,
  640. @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
  641. @OutParameter IntBuffer values);
  642. @Alternate("glGetSynciv")
  643. @GLreturn("values")
  644. @StripPostfix(value = "values", postfix = "v")
  645. void glGetSynciv2(@PointerWrapper("GLsync") GLSync sync, @GLenum int pname, @Constant("1") @GLsizei int bufSize,
  646. @OutParameter @GLsizei @Constant("0L") IntBuffer length,
  647. @OutParameter IntBuffer values);
  648. @StripPostfix("params")
  649. void glGetBufferParameteri64v(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") LongBuffer params);
  650. @Alternate("glGetBufferParameteri64v")
  651. @GLreturn("params")
  652. @StripPostfix(value = "params", postfix = "v")
  653. void glGetBufferParameteri64v2(@GLenum int target, @GLenum int pname, @OutParameter LongBuffer params);
  654. void glGenSamplers(@AutoSize("samplers") @GLsizei int count, @OutParameter @GLuint IntBuffer samplers);
  655. @Alternate("glGenSamplers")
  656. @GLreturn("samplers")
  657. void glGenSamplers2(@Constant("1") @GLsizei int count, @OutParameter @GLuint IntBuffer samplers);
  658. void glDeleteSamplers(@AutoSize("samplers") @GLsizei int count, @Const @GLuint IntBuffer samplers);
  659. @Alternate("glDeleteSamplers")
  660. void glDeleteSamplers(@Constant("1") @GLsizei int count, @Constant(value = "APIUtil.getInt(sampler)", keepParam = true) int sampler);
  661. boolean glIsSampler(@GLuint int sampler);
  662. void glBindSampler(@GLenum int unit, @GLuint int sampler);
  663. void glSamplerParameteri(@GLuint int sampler, @GLenum int pname, int param);
  664. void glSamplerParameterf(@GLuint int sampler, @GLenum int pname, float param);
  665. @StripPostfix("params")
  666. void glSamplerParameteriv(@GLuint int sampler, @GLenum int pname, @Check("4") @Const IntBuffer params);
  667. @StripPostfix("params")
  668. void glSamplerParameterfv(@GLuint int sampler, @GLenum int pname, @Check("4") @Const FloatBuffer params);
  669. @StripPostfix("params")
  670. void glGetSamplerParameteriv(@GLuint int sampler, @GLenum int pname, @Check("4") @OutParameter IntBuffer params);
  671. @Alternate("glGetSamplerParameteriv")
  672. @GLreturn("params")
  673. @StripPostfix(value = "params", postfix = "v")
  674. void glGetSamplerParameteriv2(@GLuint int sampler, @GLenum int pname, @OutParameter IntBuffer params);
  675. @StripPostfix("params")
  676. void glGetSamplerParameterfv(@GLuint int sampler, @GLenum int pname, @Check("4") @OutParameter FloatBuffer params);
  677. @Alternate("glGetSamplerParameterfv")
  678. @GLreturn("params")
  679. @StripPostfix(value = "params", postfix = "v")
  680. void glGetSamplerParameterfv2(@GLuint int sampler, @GLenum int pname, @OutParameter FloatBuffer params);
  681. void glVertexAttribDivisor(@GLuint int index, @GLuint int divisor);
  682. void glBindTransformFeedback(@GLenum int target, @GLuint int id);
  683. void glDeleteTransformFeedbacks(@AutoSize("ids") @GLsizei int n, @Const @GLuint IntBuffer ids);
  684. @Alternate("glDeleteTransformFeedbacks")
  685. void glDeleteTransformFeedbacks(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(id)", keepParam = true) int id);
  686. void glGenTransformFeedbacks(@AutoSize("ids") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
  687. @Alternate("glGenTransformFeedbacks")
  688. @GLreturn("ids")
  689. void glGenTransformFeedbacks2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
  690. boolean glIsTransformFeedback(@GLuint int id);
  691. void glPauseTransformFeedback();
  692. void glResumeTransformFeedback();
  693. void glGetProgramBinary(@GLuint int program, @AutoSize("binary") @GLsizei int bufSize,
  694. @Check(value = "1", canBeNull = true) @GLsizei IntBuffer length,
  695. @Check("1") @GLenum IntBuffer binaryFormat,
  696. @OutParameter @GLvoid ByteBuffer binary);
  697. void glProgramBinary(@GLuint int program, @GLenum int binaryFormat, @Const @GLvoid ByteBuffer binary, @AutoSize("binary") @GLsizei int length);
  698. void glProgramParameteri(@GLuint int program, @GLenum int pname, int value);
  699. void glInvalidateFramebuffer(@GLenum int target,
  700. @AutoSize("attachments") @GLsizei int numAttachments,
  701. @Const @GLenum IntBuffer attachments);
  702. void glInvalidateSubFramebuffer(@GLenum int target,
  703. @AutoSize("attachments") @GLsizei int numAttachments,
  704. @Const @GLenum IntBuffer attachments,
  705. int x, int y, @GLsizei int width, @GLsizei int height);
  706. void glTexStorage2D(@GLenum int target, @GLsizei int levels,
  707. @GLenum int internalformat,
  708. @GLsizei int width, @GLsizei int height);
  709. void glTexStorage3D(@GLenum int target, @GLsizei int levels,
  710. @GLenum int internalformat,
  711. @GLsizei int width, @GLsizei int height, @GLsizei int depth);
  712. @StripPostfix("params")
  713. void glGetInternalformativ(@GLenum int target, @GLenum int internalformat,
  714. @GLenum int pname, @AutoSize("params") @GLsizei int bufSize, @OutParameter IntBuffer params);
  715. @Alternate("glGetInternalformativ")
  716. @StripPostfix("params")
  717. @GLreturn("params")
  718. void glGetInternalformativ2(@GLenum int target, @GLenum int internalformat,
  719. @GLenum int pname, @Constant("1") @GLsizei int bufSize, @OutParameter IntBuffer params);
  720. }