/* * Copyright (c) 2002-2012 LWJGL Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of 'LWJGL' nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.lwjgl.opengl; import org.lwjgl.PointerBuffer; import org.lwjgl.util.generator.*; import org.lwjgl.util.generator.opengl.*; import java.nio.Buffer; import java.nio.IntBuffer; public interface GL44 { /** Implementation-dependent state which constrains the maximum value of stride parameters to vertex array pointer-setting commands. */ int GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; // ------------------------------------------------------------------ // ----------------------[ ARB_buffer_storage ]---------------------- // ------------------------------------------------------------------ /** * Accepted in the <flags> parameter of BufferStorage and * NamedBufferStorageEXT: */ int GL_MAP_PERSISTENT_BIT = 0x0040, GL_MAP_COHERENT_BIT = 0x0080, GL_DYNAMIC_STORAGE_BIT = 0x0100, GL_CLIENT_STORAGE_BIT = 0x0200; /** Accepted by the <pname> parameter of GetBufferParameter{i|i64}v:\ */ int GL_BUFFER_IMMUTABLE_STORAGE = 0x821F, GL_BUFFER_STORAGE_FLAGS = 0x8220; /** Accepted by the <barriers> parameter of MemoryBarrier: */ int GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000; void glBufferStorage(@GLenum int target, @AutoSize("data") @GLsizeiptr long size, @Const @GLbyte @GLshort @GLint @GLuint64 @GLfloat @GLdouble Buffer data, @GLbitfield int flags); @Alternate("glBufferStorage") void glBufferStorage2(@GLenum int target, @GLsizeiptr long size, @Constant("0L") @Const Buffer data, @GLbitfield int flags); // ----------------------------------------------------------------- // ----------------------[ ARB_clear_texture ]---------------------- // ----------------------------------------------------------------- /** * Accepted by the <pname> parameter for GetInternalformativ and * GetInternalformati64v: */ int GL_CLEAR_TEXTURE = 0x9365; void glClearTexImage(@GLuint int texture, int level, @GLenum int format, @GLenum int type, @Check(value = "1", canBeNull = true) @Const @GLbyte @GLshort @GLint @GLuint64 @GLfloat @GLdouble Buffer data); void glClearTexSubImage(@GLuint int texture, int level, int xoffset, int yoffset, int zoffset, @GLsizei int width, @GLsizei int height, @GLsizei int depth, @GLenum int format, @GLenum int type, @Check(value = "1", canBeNull = true) @Const @GLbyte @GLshort @GLint @GLuint64 @GLfloat @GLdouble Buffer data); // -------------------------------------------------------------------- // ----------------------[ ARB_enhanced_layouts ]---------------------- // -------------------------------------------------------------------- /** Accepted in the <props> array of GetProgramResourceiv: */ int GL_LOCATION_COMPONENT = 0x934A, GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B, GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C; // -------------------------------------------------------------- // ----------------------[ ARB_multi_bind ]---------------------- // -------------------------------------------------------------- void glBindBuffersBase(@GLenum int target, @GLuint int first, @GLsizei int count, @Check(value = "count", canBeNull = true) @Const @GLuint IntBuffer buffers); void glBindBuffersRange(@GLenum int target, @GLuint int first, @GLsizei int count, @Check(value = "count", canBeNull = true) @Const @GLuint IntBuffer buffers, @Check(value = "count", canBeNull = true) @Const @GLintptr PointerBuffer offsets, @Check(value = "count", canBeNull = true) @Const @GLsizeiptr PointerBuffer sizes); void glBindTextures(@GLuint int first, @GLsizei int count, @Check(value = "count", canBeNull = true) @Const @GLuint IntBuffer textures); void glBindSamplers(@GLuint int first, @GLsizei int count, @Check(value = "count", canBeNull = true) @Const @GLuint IntBuffer samplers); void glBindImageTextures(@GLuint int first, @GLsizei int count, @Check(value = "count", canBeNull = true) @Const @GLuint IntBuffer textures); void glBindVertexBuffers(@GLuint int first, @GLsizei int count, @Check(value = "count", canBeNull = true) @Const @GLuint IntBuffer buffers, @Check(value = "count", canBeNull = true) @Const @GLintptr PointerBuffer offsets, @Check(value = "count", canBeNull = true) @Const @GLsizei IntBuffer strides); // ----------------------------------------------------------------------- // ----------------------[ ARB_query_buffer_object ]---------------------- // ----------------------------------------------------------------------- /** * Accepted by the <pname> parameter of GetQueryObjectiv, GetQueryObjectuiv, * GetQueryObjecti64v and GetQueryObjectui64v: */ int GL_QUERY_RESULT_NO_WAIT = 0x9194; /** * Accepted by the <target> parameter of BindBuffer, BufferData, * BufferSubData, MapBuffer, UnmapBuffer, MapBufferRange, GetBufferSubData, * GetBufferParameteriv, GetBufferParameteri64v, GetBufferPointerv, * ClearBufferSubData, and the <readtarget> and <writetarget> parameters of * CopyBufferSubData: */ int GL_QUERY_BUFFER = 0x9192; /** * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, * and GetDoublev: */ int GL_QUERY_BUFFER_BINDING = 0x9193; /** Accepted in the <barriers> bitfield in MemoryBarrier: */ int GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000; // -------------------------------------------------------------------------------- // ----------------------[ ARB_texture_mirror_clamp_to_edge ]---------------------- // -------------------------------------------------------------------------------- /** * Accepted by the <param> parameter of TexParameter{if}, SamplerParameter{if} * and SamplerParameter{if}v, and by the <params> parameter of * TexParameter{if}v, TexParameterI{i ui}v and SamplerParameterI{i ui}v when * their <pname> parameter is TEXTURE_WRAP_S, TEXTURE_WRAP_T, or * TEXTURE_WRAP_R: */ int GL_MIRROR_CLAMP_TO_EDGE = 0x8743; }