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