Added new GLES extensions.

This commit is contained in:
Ioannis Tsakpinis 2012-09-21 00:27:14 +00:00
parent efbdd35845
commit ed0f117dfc
4 changed files with 267 additions and 0 deletions

View file

@ -0,0 +1,112 @@
/*
* Copyright (c) 2002-2008 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.opengles;
import org.lwjgl.opengl.GLSync;
import org.lwjgl.util.generator.*;
import org.lwjgl.util.generator.opengl.*;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
public interface APPLE_sync {
/** Accepted as the <pname> parameter of GetInteger64vAPPLE: */
int GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111;
/** Accepted as the <pname> parameter of GetSyncivAPPLE: */
int GL_OBJECT_TYPE_APPLE = 0x9112,
SYNC_CONDITION_APPLE = 0x9113,
SYNC_STATUS_APPLE = 0x9114,
SYNC_FLAGS_APPLE = 0x9115;
/** Returned in <values> for GetSynciv <pname> OBJECT_TYPE_APPLE: */
int GL_SYNC_FENCE_APPLE = 0x9116;
/** Returned in <values> for GetSyncivAPPLE <pname> SYNC_CONDITION_APPLE: */
int GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117;
/** Returned in <values> for GetSyncivAPPLE <pname> SYNC_STATUS_APPLE: */
int GL_UNSIGNALED_APPLE = 0x9118,
SIGNALED_APPLE = 0x9119;
/** Accepted in the <flags> parameter of ClientWaitSyncAPPLE: */
int GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001;
/** Accepted in the <timeout> parameter of WaitSyncAPPLE: */
long GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFFl;
/** Returned by ClientWaitSyncAPPLE: */
int GL_ALREADY_SIGNALED_APPLE = 0x911A,
TIMEOUT_EXPIRED_APPLE = 0x911B,
CONDITION_SATISFIED_APPLE = 0x911C,
WAIT_FAILED_APPLE = 0x911D;
/**
* Accepted by the <type> parameter of LabelObjectEXT and
* GetObjectLabelEXT:
*/
int GL_SYNC_OBJECT_APPLE = 0x8A53;
@PointerWrapper("GLsync")
org.lwjgl.opengl.GLSync glFenceSyncAPPLE(@GLenum int condition, @GLbitfield int flags);
boolean glIsSyncAPPLE(@PointerWrapper("GLsync") org.lwjgl.opengl.GLSync sync);
void glDeleteSyncAPPLE(@PointerWrapper("GLsync") org.lwjgl.opengl.GLSync sync);
@GLenum
int glClientWaitSyncAPPLE(@PointerWrapper("GLsync") org.lwjgl.opengl.GLSync sync, @GLbitfield int flags, @GLuint64 long timeout);
void glWaitSyncAPPLE(@PointerWrapper("GLsync") org.lwjgl.opengl.GLSync sync, @GLbitfield int flags, @GLuint64 long timeout);
@StripPostfix("params")
void glGetInteger64vAPPLE(@GLenum int pname, @OutParameter @Check("1") @GLint64 LongBuffer params);
@Alternate("glGetInteger64vAPPLE")
@GLreturn("params")
@StripPostfix(value = "params", postfix = "v")
void glGetInteger64vAPPLE2(@GLenum int pname, @OutParameter @GLint64 LongBuffer params);
@StripPostfix("values")
void glGetSyncivAPPLE(@PointerWrapper("GLsync") org.lwjgl.opengl.GLSync sync, @GLenum int pname, @AutoSize("values") @GLsizei int bufSize,
@OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
@OutParameter IntBuffer values);
@Alternate("glGetSyncivAPPLE")
@GLreturn("values")
@StripPostfix(value = "values", postfix = "v")
void glGetSyncivAPPLE2(@PointerWrapper("GLsync") GLSync sync, @GLenum int pname, @Constant("1") @GLsizei int bufSize,
@OutParameter @GLsizei @Constant("0L") IntBuffer length,
@OutParameter IntBuffer values);
}

View file

@ -0,0 +1,42 @@
/*
* Copyright (c) 2002-2011 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.opengles;
import org.lwjgl.util.generator.opengl.GLsizei;
import org.lwjgl.util.generator.opengl.GLuint;
public interface EXT_copy_texture_levels {
void glCopyTextureLevelsAPPLE(@GLuint int destinationTexture, @GLuint int sourceTexture,
int sourceBaseLevel, @GLsizei int sourceLevelCount);
}

View file

@ -0,0 +1,71 @@
/*
* 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.opengles;
import org.lwjgl.util.generator.AutoSize;
import org.lwjgl.util.generator.CachedResult;
import org.lwjgl.util.generator.opengl.*;
import java.nio.ByteBuffer;
public interface EXT_map_buffer_range {
/** Accepted by the <access> parameter of MapBufferRangeEXT: */
int GL_MAP_READ_BIT_EXT = 0x0001,
GL_MAP_WRITE_BIT_EXT = 0x0002,
GL_MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004,
GL_MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008,
GL_MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010,
GL_MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020;
/**
* glMapBufferRange maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null,
* in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
* it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
* otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferRange like this:
* <p/>
* ByteBuffer mapped_buffer; mapped_buffer = glMapBufferRange(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferRange(..., ..., ..., ..., mapped_buffer);
* <p/>
* Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
*
* @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.
*
* @return A ByteBuffer representing the mapped buffer memory.
*/
@CachedResult(isRange = true)
@GLvoid
@AutoSize("length")
ByteBuffer glMapBufferRangeEXT(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access);
void glFlushMappedBufferRangeEXT(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length);
}

View file

@ -0,0 +1,42 @@
/*
* 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.opengles;
public interface EXT_shader_framebuffer_fetch {
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv,
* and GetDoublev:
*/
int GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52;
}