diff options
author | Jesse Hall <jessehall@google.com> | 2014-05-22 04:41:53 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-05-22 04:41:54 +0000 |
commit | 6487b67d8e39aaec83b71a41b850ff6c2f0d97df (patch) | |
tree | 26813b57c074b8dfc3b7670d15dbd7b45d1eb8dd | |
parent | fca1b54031a1ba2a3c82bbbbe71716cd7e6a61d7 (diff) | |
parent | 16f03928743b01638419874e2b6300b52da6eb4c (diff) | |
download | frameworks_native-6487b67d8e39aaec83b71a41b850ff6c2f0d97df.zip frameworks_native-6487b67d8e39aaec83b71a41b850ff6c2f0d97df.tar.gz frameworks_native-6487b67d8e39aaec83b71a41b850ff6c2f0d97df.tar.bz2 |
Merge "opengl: Add GLES31 and GLES31Ext class templates"
51 files changed, 1006 insertions, 3 deletions
diff --git a/opengl/tools/glgen/gen b/opengl/tools/glgen/gen index 7146a29..84a94c8 100755 --- a/opengl/tools/glgen/gen +++ b/opengl/tools/glgen/gen @@ -105,7 +105,9 @@ javac -d classes android/opengl/EGL14.java \ android/opengl/GLES11.java \ android/opengl/GLES11Ext.java \ android/opengl/GLES20.java \ - android/opengl/GLES30.java + android/opengl/GLES30.java \ + android/opengl/GLES31.java \ + android/opengl/GLES31Ext.java popd > /dev/null JAVA_RESULT=$? if [ $JAVA_RESULT -ne 0 ]; then @@ -152,7 +154,7 @@ do compareGenerated ../../../../base/opengl/java/javax/microedition/khronos/opengles generated/javax/microedition/khronos/opengles $x done -for x in EGL14 EGLExt GLES10 GLES10Ext GLES11 GLES11Ext GLES20 GLES30 +for x in EGL14 EGLExt GLES10 GLES10Ext GLES11 GLES11Ext GLES20 GLES30 GLES31 GLES31Ext do compareGenerated ../../../../base/opengl/java/android/opengl generated/android/opengl ${x}.java compareGenerated ../../../../base/core/jni generated/C android_opengl_${x}.cpp diff --git a/opengl/tools/glgen/specs/gles11/GLES31.spec b/opengl/tools/glgen/specs/gles11/GLES31.spec new file mode 100644 index 0000000..28c1e8b --- /dev/null +++ b/opengl/tools/glgen/specs/gles11/GLES31.spec @@ -0,0 +1,68 @@ +void glDispatchCompute ( GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z ) +void glDispatchComputeIndirect ( GLintptr indirect ) +void glDrawArraysIndirect ( GLenum mode, const void *indirect ) +void glDrawElementsIndirect ( GLenum mode, GLenum type, const void *indirect ) +void glFramebufferParameteri ( GLenum target, GLenum pname, GLint param ) +void glGetFramebufferParameteriv ( GLenum target, GLenum pname, GLint *params ) +void glGetProgramInterfaceiv ( GLuint program, GLenum programInterface, GLenum pname, GLint *params ) +GLuint glGetProgramResourceIndex ( GLuint program, GLenum programInterface, const GLchar *name ) +void glGetProgramResourceName ( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name ) +void glGetProgramResourceiv ( GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params ) +GLint glGetProgramResourceLocation ( GLuint program, GLenum programInterface, const GLchar *name ) +void glUseProgramStages ( GLuint pipeline, GLbitfield stages, GLuint program ) +void glActiveShaderProgram ( GLuint pipeline, GLuint program ) +GLuint glCreateShaderProgramv ( GLenum type, GLsizei count, const GLchar *const *strings ) +void glBindProgramPipeline ( GLuint pipeline ) +void glDeleteProgramPipelines ( GLsizei n, const GLuint *pipelines ) +void glGenProgramPipelines ( GLsizei n, GLuint *pipelines ) +GLboolean glIsProgramPipeline ( GLuint pipeline ) +void glGetProgramPipelineiv ( GLuint pipeline, GLenum pname, GLint *params ) +void glProgramUniform1i ( GLuint program, GLint location, GLint v0 ) +void glProgramUniform2i ( GLuint program, GLint location, GLint v0, GLint v1 ) +void glProgramUniform3i ( GLuint program, GLint location, GLint v0, GLint v1, GLint v2 ) +void glProgramUniform4i ( GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) +void glProgramUniform1ui ( GLuint program, GLint location, GLuint v0 ) +void glProgramUniform2ui ( GLuint program, GLint location, GLuint v0, GLuint v1 ) +void glProgramUniform3ui ( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2 ) +void glProgramUniform4ui ( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) +void glProgramUniform1f ( GLuint program, GLint location, GLfloat v0 ) +void glProgramUniform2f ( GLuint program, GLint location, GLfloat v0, GLfloat v1 ) +void glProgramUniform3f ( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) +void glProgramUniform4f ( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) +void glProgramUniform1iv ( GLuint program, GLint location, GLsizei count, const GLint *value ) +void glProgramUniform2iv ( GLuint program, GLint location, GLsizei count, const GLint *value ) +void glProgramUniform3iv ( GLuint program, GLint location, GLsizei count, const GLint *value ) +void glProgramUniform4iv ( GLuint program, GLint location, GLsizei count, const GLint *value ) +void glProgramUniform1uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value ) +void glProgramUniform2uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value ) +void glProgramUniform3uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value ) +void glProgramUniform4uiv ( GLuint program, GLint location, GLsizei count, const GLuint *value ) +void glProgramUniform1fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value ) +void glProgramUniform2fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value ) +void glProgramUniform3fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value ) +void glProgramUniform4fv ( GLuint program, GLint location, GLsizei count, const GLfloat *value ) +void glProgramUniformMatrix2fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix3fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix4fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix2x3fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix3x2fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix2x4fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix4x2fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix3x4fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glProgramUniformMatrix4x3fv ( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) +void glValidateProgramPipeline ( GLuint pipeline ) +void glGetProgramPipelineInfoLog ( GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog ) +void glBindImageTexture ( GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format ) +void glGetBooleani_v ( GLenum target, GLuint index, GLboolean *data ) +void glMemoryBarrier ( GLbitfield barriers ) +void glMemoryBarrierByRegion ( GLbitfield barriers ) +void glTexStorage2DMultisample ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) +void glGetMultisamplefv ( GLenum pname, GLuint index, GLfloat *val ) +void glSampleMaski ( GLuint maskNumber, GLbitfield mask ) +void glGetTexLevelParameteriv ( GLenum target, GLint level, GLenum pname, GLint *params ) +void glGetTexLevelParameterfv ( GLenum target, GLint level, GLenum pname, GLfloat *params ) +void glBindVertexBuffer ( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) +void glVertexAttribFormat ( GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset ) +void glVertexAttribIFormat ( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) +void glVertexAttribBinding ( GLuint attribindex, GLuint bindingindex ) +void glVertexBindingDivisor ( GLuint bindingindex, GLuint divisor ) diff --git a/opengl/tools/glgen/specs/gles11/GLES31Ext.spec b/opengl/tools/glgen/specs/gles11/GLES31Ext.spec new file mode 100644 index 0000000..2898c7f --- /dev/null +++ b/opengl/tools/glgen/specs/gles11/GLES31Ext.spec @@ -0,0 +1,36 @@ +void glBlendBarrierKHR ( void ) +void glDebugMessageControlKHR ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) +void glDebugMessageInsertKHR ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) +void glDebugMessageCallbackKHR ( GLDEBUGPROCKHR callback, const void *userParam ) +GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) +void glPushDebugGroupKHR ( GLenum source, GLuint id, GLsizei length, const GLchar *message ) +void glPopDebugGroupKHR ( void ) +void glObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei length, const GLchar *label ) +void glGetObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) +void glObjectPtrLabelKHR ( const void *ptr, GLsizei length, const GLchar *label ) +void glGetObjectPtrLabelKHR ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) +void glGetPointervKHR ( GLenum pname, void **params ) +void glMinSampleShadingOES ( GLfloat value ) +void glTexStorage3DMultisampleOES ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) +void glCopyImageSubDataEXT ( GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth ) +void glEnableiEXT ( GLenum target, GLuint index ) +void glDisableiEXT ( GLenum target, GLuint index ) +void glBlendEquationiEXT ( GLuint buf, GLenum mode ) +void glBlendEquationSeparateiEXT ( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) +void glBlendFunciEXT ( GLuint buf, GLenum src, GLenum dst ) +void glBlendFuncSeparateiEXT ( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) +void glColorMaskiEXT ( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) +GLboolean glIsEnablediEXT ( GLenum target, GLuint index ) +void glFramebufferTextureEXT ( GLenum target, GLenum attachment, GLuint texture, GLint level ) +void glPrimitiveBoundingBoxEXT ( GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW ) +void glPatchParameteriEXT ( GLenum pname, GLint value ) +void glTexParameterIivEXT ( GLenum target, GLenum pname, const GLint *params ) +void glTexParameterIuivEXT ( GLenum target, GLenum pname, const GLuint *params ) +void glGetTexParameterIivEXT ( GLenum target, GLenum pname, GLint *params ) +void glGetTexParameterIuivEXT ( GLenum target, GLenum pname, GLuint *params ) +void glSamplerParameterIivEXT ( GLuint sampler, GLenum pname, const GLint *param ) +void glSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, const GLuint *param ) +void glGetSamplerParameterIivEXT ( GLuint sampler, GLenum pname, GLint *params ) +void glGetSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, GLuint *params ) +void glTexBufferEXT ( GLenum target, GLenum internalformat, GLuint buffer ) +void glTexBufferRangeEXT ( GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) diff --git a/opengl/tools/glgen/src/GenerateGLES.java b/opengl/tools/glgen/src/GenerateGLES.java index c99c45d..5693ef3 100644 --- a/opengl/tools/glgen/src/GenerateGLES.java +++ b/opengl/tools/glgen/src/GenerateGLES.java @@ -84,7 +84,8 @@ public class GenerateGLES { // Generate files for(String suffix: new String[] {"GLES10", "GLES10Ext", - "GLES11", "GLES11Ext", "GLES20", "GLES30"}) + "GLES11", "GLES11Ext", "GLES20", + "GLES30", "GLES31", "GLES31Ext"}) { BufferedReader spec11Reader = new BufferedReader(new FileReader("specs/gles11/" diff --git a/opengl/tools/glgen/stubs/gles11/GLES31ExtHeader.java-if b/opengl/tools/glgen/stubs/gles11/GLES31ExtHeader.java-if new file mode 100644 index 0000000..546306c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES31ExtHeader.java-if @@ -0,0 +1,257 @@ +/* + * Copyright 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// This source file is automatically generated + +package android.opengl; + +/** @hide */ +public class GLES31Ext { + + // GL_KHR_blend_equation_advanced + public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285; + public static final int GL_MULTIPLY_KHR = 0x9294; + public static final int GL_SCREEN_KHR = 0x9295; + public static final int GL_OVERLAY_KHR = 0x9296; + public static final int GL_DARKEN_KHR = 0x9297; + public static final int GL_LIGHTEN_KHR = 0x9298; + public static final int GL_COLORDODGE_KHR = 0x9299; + public static final int GL_COLORBURN_KHR = 0x929A; + public static final int GL_HARDLIGHT_KHR = 0x929B; + public static final int GL_SOFTLIGHT_KHR = 0x929C; + public static final int GL_DIFFERENCE_KHR = 0x929E; + public static final int GL_EXCLUSION_KHR = 0x92A0; + public static final int GL_HSL_HUE_KHR = 0x92AD; + public static final int GL_HSL_SATURATION_KHR = 0x92AE; + public static final int GL_HSL_COLOR_KHR = 0x92AF; + public static final int GL_HSL_LUMINOSITY_KHR = 0x92B0; + + // GL_KHR_debug + public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242; + public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243; + public static final int GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244; + public static final int GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245; + public static final int GL_DEBUG_SOURCE_API_KHR = 0x8246; + public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247; + public static final int GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248; + public static final int GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249; + public static final int GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A; + public static final int GL_DEBUG_SOURCE_OTHER_KHR = 0x824B; + public static final int GL_DEBUG_TYPE_ERROR_KHR = 0x824C; + public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D; + public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E; + public static final int GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F; + public static final int GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250; + public static final int GL_DEBUG_TYPE_OTHER_KHR = 0x8251; + public static final int GL_DEBUG_TYPE_MARKER_KHR = 0x8268; + public static final int GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269; + public static final int GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A; + public static final int GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B; + public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C; + public static final int GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D; + public static final int GL_BUFFER_KHR = 0x82E0; + public static final int GL_SHADER_KHR = 0x82E1; + public static final int GL_PROGRAM_KHR = 0x82E2; + public static final int GL_VERTEX_ARRAY_KHR = 0x8074; + public static final int GL_QUERY_KHR = 0x82E3; + public static final int GL_SAMPLER_KHR = 0x82E6; + public static final int GL_MAX_LABEL_LENGTH_KHR = 0x82E8; + public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143; + public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144; + public static final int GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145; + public static final int GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146; + public static final int GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147; + public static final int GL_DEBUG_SEVERITY_LOW_KHR = 0x9148; + public static final int GL_DEBUG_OUTPUT_KHR = 0x92E0; + public static final int GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002; + public static final int GL_STACK_OVERFLOW_KHR = 0x0503; + public static final int GL_STACK_UNDERFLOW_KHR = 0x0504; + + // GL_KHR_texture_compression_astc_ldr + public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; + public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; + public static final int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; + public static final int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; + public static final int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; + public static final int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; + public static final int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; + public static final int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; + public static final int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; + public static final int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; + public static final int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; + public static final int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; + public static final int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; + public static final int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; + + // GL_OES_sample_shading + public static final int GL_SAMPLE_SHADING_OES = 0x8C36; + public static final int GL_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37; + + // GL_OES_shader_multisample_interpolation + public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B; + public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C; + public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D; + + // GL_OES_texture_stencil8 + public static final int GL_STENCIL_INDEX_OES = 0x1901; + public static final int GL_STENCIL_INDEX8_OES = 0x8D48; + + // GL_OES_texture_storage_multisample_2d_array + public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102; + public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105; + public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B; + public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C; + public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D; + + // GL_EXT_geometry_shader + public static final int GL_GEOMETRY_SHADER_EXT = 0x8DD9; + public static final int GL_GEOMETRY_SHADER_BIT_EXT = 0x00000004; + public static final int GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916; + public static final int GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917; + public static final int GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918; + public static final int GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F; + public static final int GL_LAYER_PROVOKING_VERTEX_EXT = 0x825E; + public static final int GL_LINES_ADJACENCY_EXT = 0x000A; + public static final int GL_LINE_STRIP_ADJACENCY_EXT = 0x000B; + public static final int GL_TRIANGLES_ADJACENCY_EXT = 0x000C; + public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; + public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; + public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C; + public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32; + public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123; + public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124; + public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; + public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; + public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A; + public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; + public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF; + public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5; + public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD; + public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7; + public static final int GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; + public static final int GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E; + public static final int GL_UNDEFINED_VERTEX_EXT = 0x8260; + public static final int GL_PRIMITIVES_GENERATED_EXT = 0x8C87; + public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312; + public static final int GL_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317; + public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; + public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; + public static final int GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309; + + // GL_EXT_primitive_bounding_box + public static final int GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE; + + // GL_EXT_tessellation_shader + public static final int GL_PATCHES_EXT = 0x000E; + public static final int GL_PATCH_VERTICES_EXT = 0x8E72; + public static final int GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75; + public static final int GL_TESS_GEN_MODE_EXT = 0x8E76; + public static final int GL_TESS_GEN_SPACING_EXT = 0x8E77; + public static final int GL_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78; + public static final int GL_TESS_GEN_POINT_MODE_EXT = 0x8E79; + public static final int GL_ISOLINES_EXT = 0x8E7A; + public static final int GL_QUADS_EXT = 0x0007; + public static final int GL_FRACTIONAL_ODD_EXT = 0x8E7B; + public static final int GL_FRACTIONAL_EVEN_EXT = 0x8E7C; + public static final int GL_MAX_PATCH_VERTICES_EXT = 0x8E7D; + public static final int GL_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E; + public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F; + public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80; + public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81; + public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82; + public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83; + public static final int GL_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84; + public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85; + public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86; + public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89; + public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A; + public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C; + public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D; + public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E; + public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F; + public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD; + public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE; + public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3; + public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4; + public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB; + public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC; + public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8; + public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9; + public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; + public static final int GL_IS_PER_PATCH_EXT = 0x92E7; + public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307; + public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308; + public static final int GL_TESS_CONTROL_SHADER_EXT = 0x8E88; + public static final int GL_TESS_EVALUATION_SHADER_EXT = 0x8E87; + public static final int GL_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008; + public static final int GL_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010; + + // GL_EXT_texture_border_clamp + public static final int GL_TEXTURE_BORDER_COLOR_EXT = 0x1004; + public static final int GL_CLAMP_TO_BORDER_EXT = 0x812D; + + // GL_EXT_texture_buffer + public static final int GL_TEXTURE_BUFFER_EXT = 0x8C2A; + public static final int GL_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A; + public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; + public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; + public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; + public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F; + public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2; + public static final int GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0; + public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; + public static final int GL_IMAGE_BUFFER_EXT = 0x9051; + public static final int GL_INT_IMAGE_BUFFER_EXT = 0x905C; + public static final int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; + public static final int GL_TEXTURE_BUFFER_OFFSET_EXT = 0x919D; + public static final int GL_TEXTURE_BUFFER_SIZE_EXT = 0x919E; + + // GL_EXT_texture_cube_map_array + public static final int GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009; + public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A; + public static final int GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C; + public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D; + public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E; + public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F; + public static final int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; + public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; + public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; + + // GL_EXT_texture_sRGB_decode + public static final int GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48; + public static final int GL_DECODE_EXT = 0x8A49; + public static final int GL_SKIP_DECODE_EXT = 0x8A4A; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + private GLES31Ext() {} diff --git a/opengl/tools/glgen/stubs/gles11/GLES31ExtcHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES31ExtcHeader.cpp new file mode 100644 index 0000000..e7e3561 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES31ExtcHeader.cpp @@ -0,0 +1,21 @@ +/* + * Copyright 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// This source file is automatically generated + +#include <GLES3/gl31.h> +#include <GLES2/gl2ext.h> + diff --git a/opengl/tools/glgen/stubs/gles11/GLES31Header.java-if b/opengl/tools/glgen/stubs/gles11/GLES31Header.java-if new file mode 100644 index 0000000..a1fc02c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES31Header.java-if @@ -0,0 +1,202 @@ +/* + * Copyright 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// This source file is automatically generated + +package android.opengl; + +/** OpenGL ES 3.1 + * @hide + */ +public class GLES31 extends GLES30 { + + public static final int GL_VERTEX_SHADER_BIT = 0x00000001; + public static final int GL_FRAGMENT_SHADER_BIT = 0x00000002; + public static final int GL_UNIFORM_BARRIER_BIT = 0x00000004; + public static final int GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008; + public static final int GL_COMPUTE_SHADER_BIT = 0x00000020; + public static final int GL_COMMAND_BARRIER_BIT = 0x00000040; + public static final int GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080; + public static final int GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100; + public static final int GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200; + public static final int GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400; + public static final int GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800; + public static final int GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000; + public static final int GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000; + public static final int GL_ALL_SHADER_BITS = -1; // 0xFFFFFFFF + + public static final int GL_TEXTURE_WIDTH = 0x1000; + public static final int GL_TEXTURE_HEIGHT = 0x1001; + public static final int GL_TEXTURE_INTERNAL_FORMAT = 0x1003; + public static final int GL_STENCIL_INDEX = 0x1901; + public static final int GL_TEXTURE_RED_SIZE = 0x805C; + public static final int GL_TEXTURE_GREEN_SIZE = 0x805D; + public static final int GL_TEXTURE_BLUE_SIZE = 0x805E; + public static final int GL_TEXTURE_ALPHA_SIZE = 0x805F; + public static final int GL_TEXTURE_DEPTH = 0x8071; + public static final int GL_PROGRAM_SEPARABLE = 0x8258; + public static final int GL_ACTIVE_PROGRAM = 0x8259; + public static final int GL_PROGRAM_PIPELINE_BINDING = 0x825A; + public static final int GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262; + public static final int GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263; + public static final int GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264; + public static final int GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265; + public static final int GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266; + public static final int GL_COMPUTE_WORK_GROUP_SIZE = 0x8267; + public static final int GL_MAX_UNIFORM_LOCATIONS = 0x826E; + public static final int GL_VERTEX_ATTRIB_BINDING = 0x82D4; + public static final int GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5; + public static final int GL_VERTEX_BINDING_DIVISOR = 0x82D6; + public static final int GL_VERTEX_BINDING_OFFSET = 0x82D7; + public static final int GL_VERTEX_BINDING_STRIDE = 0x82D8; + public static final int GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9; + public static final int GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA; + public static final int GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; + public static final int GL_TEXTURE_COMPRESSED = 0x86A1; + public static final int GL_TEXTURE_DEPTH_SIZE = 0x884A; + public static final int GL_READ_ONLY = 0x88B8; + public static final int GL_WRITE_ONLY = 0x88B9; + public static final int GL_READ_WRITE = 0x88BA; + public static final int GL_TEXTURE_STENCIL_SIZE = 0x88F1; + public static final int GL_TEXTURE_RED_TYPE = 0x8C10; + public static final int GL_TEXTURE_GREEN_TYPE = 0x8C11; + public static final int GL_TEXTURE_BLUE_TYPE = 0x8C12; + public static final int GL_TEXTURE_ALPHA_TYPE = 0x8C13; + public static final int GL_TEXTURE_DEPTH_TYPE = 0x8C16; + public static final int GL_TEXTURE_SHARED_SIZE = 0x8C3F; + public static final int GL_SAMPLE_POSITION = 0x8E50; + public static final int GL_SAMPLE_MASK = 0x8E51; + public static final int GL_SAMPLE_MASK_VALUE = 0x8E52; + public static final int GL_MAX_SAMPLE_MASK_WORDS = 0x8E59; + public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E; + public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F; + public static final int GL_MAX_IMAGE_UNITS = 0x8F38; + public static final int GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39; + public static final int GL_IMAGE_BINDING_NAME = 0x8F3A; + public static final int GL_IMAGE_BINDING_LEVEL = 0x8F3B; + public static final int GL_IMAGE_BINDING_LAYERED = 0x8F3C; + public static final int GL_IMAGE_BINDING_LAYER = 0x8F3D; + public static final int GL_IMAGE_BINDING_ACCESS = 0x8F3E; + public static final int GL_DRAW_INDIRECT_BUFFER = 0x8F3F; + public static final int GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43; + public static final int GL_VERTEX_BINDING_BUFFER = 0x8F4F; + public static final int GL_IMAGE_2D = 0x904D; + public static final int GL_IMAGE_3D = 0x904E; + public static final int GL_IMAGE_CUBE = 0x9050; + public static final int GL_IMAGE_2D_ARRAY = 0x9053; + public static final int GL_INT_IMAGE_2D = 0x9058; + public static final int GL_INT_IMAGE_3D = 0x9059; + public static final int GL_INT_IMAGE_CUBE = 0x905B; + public static final int GL_INT_IMAGE_2D_ARRAY = 0x905E; + public static final int GL_UNSIGNED_INT_IMAGE_2D = 0x9063; + public static final int GL_UNSIGNED_INT_IMAGE_3D = 0x9064; + public static final int GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066; + public static final int GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069; + public static final int GL_IMAGE_BINDING_FORMAT = 0x906E; + public static final int GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7; + public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8; + public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9; + public static final int GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA; + public static final int GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE; + public static final int GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF; + public static final int GL_SHADER_STORAGE_BUFFER = 0x90D2; + public static final int GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3; + public static final int GL_SHADER_STORAGE_BUFFER_START = 0x90D4; + public static final int GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5; + public static final int GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6; + public static final int GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA; + public static final int GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB; + public static final int GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC; + public static final int GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD; + public static final int GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE; + public static final int GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF; + public static final int GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA; + public static final int GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB; + public static final int GL_DISPATCH_INDIRECT_BUFFER = 0x90EE; + public static final int GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF; + public static final int GL_TEXTURE_2D_MULTISAMPLE = 0x9100; + public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; + public static final int GL_TEXTURE_SAMPLES = 0x9106; + public static final int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; + public static final int GL_SAMPLER_2D_MULTISAMPLE = 0x9108; + public static final int GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109; + public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; + public static final int GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E; + public static final int GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; + public static final int GL_MAX_INTEGER_SAMPLES = 0x9110; + public static final int GL_COMPUTE_SHADER = 0x91B9; + public static final int GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB; + public static final int GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC; + public static final int GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD; + public static final int GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE; + public static final int GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF; + public static final int GL_ATOMIC_COUNTER_BUFFER = 0x92C0; + public static final int GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1; + public static final int GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2; + public static final int GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3; + public static final int GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC; + public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0; + public static final int GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1; + public static final int GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2; + public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6; + public static final int GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7; + public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8; + public static final int GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9; + public static final int GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB; + public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC; + public static final int GL_UNIFORM = 0x92E1; + public static final int GL_UNIFORM_BLOCK = 0x92E2; + public static final int GL_PROGRAM_INPUT = 0x92E3; + public static final int GL_PROGRAM_OUTPUT = 0x92E4; + public static final int GL_BUFFER_VARIABLE = 0x92E5; + public static final int GL_SHADER_STORAGE_BLOCK = 0x92E6; + public static final int GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4; + public static final int GL_ACTIVE_RESOURCES = 0x92F5; + public static final int GL_MAX_NAME_LENGTH = 0x92F6; + public static final int GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7; + public static final int GL_NAME_LENGTH = 0x92F9; + public static final int GL_TYPE = 0x92FA; + public static final int GL_ARRAY_SIZE = 0x92FB; + public static final int GL_OFFSET = 0x92FC; + public static final int GL_BLOCK_INDEX = 0x92FD; + public static final int GL_ARRAY_STRIDE = 0x92FE; + public static final int GL_MATRIX_STRIDE = 0x92FF; + public static final int GL_IS_ROW_MAJOR = 0x9300; + public static final int GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301; + public static final int GL_BUFFER_BINDING = 0x9302; + public static final int GL_BUFFER_DATA_SIZE = 0x9303; + public static final int GL_NUM_ACTIVE_VARIABLES = 0x9304; + public static final int GL_ACTIVE_VARIABLES = 0x9305; + public static final int GL_REFERENCED_BY_VERTEX_SHADER = 0x9306; + public static final int GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A; + public static final int GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B; + public static final int GL_TOP_LEVEL_ARRAY_SIZE = 0x930C; + public static final int GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D; + public static final int GL_LOCATION = 0x930E; + public static final int GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310; + public static final int GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311; + public static final int GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313; + public static final int GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314; + public static final int GL_MAX_FRAMEBUFFER_WIDTH = 0x9315; + public static final int GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316; + public static final int GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318; + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + private GLES31() {} diff --git a/opengl/tools/glgen/stubs/gles11/GLES31cHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES31cHeader.cpp new file mode 100644 index 0000000..c48ec7c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/GLES31cHeader.cpp @@ -0,0 +1,20 @@ +/* + * Copyright 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// This source file is automatically generated + +#include <stdint.h> +#include <GLES3/gl31.h> diff --git a/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.cpp b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.cpp new file mode 100644 index 0000000..b3b70cc --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.cpp @@ -0,0 +1,15 @@ +/* void glBindVertexBuffer ( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) */ +static void +android_glBindVertexBuffer__IIJI + (JNIEnv *_env, jobject _this, jint bindingindex, jint buffer, jlong offset, jint stride) { + if (sizeof(GLintptr) != sizeof(jlong) && (offset < LONG_MIN || offset > LONG_MAX)) { + jniThrowException(_env, "java/lang/IllegalArgumentException", "offset too large"); + return; + } + glBindVertexBuffer( + (GLuint)bindingindex, + (GLuint)buffer, + (GLintptr)offset, + (GLsizei)stride + ); +} diff --git a/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.java b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.java new file mode 100644 index 0000000..bab2e89 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.java @@ -0,0 +1,9 @@ + // C function void glBindVertexBuffer ( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) + + public static native void glBindVertexBuffer( + int bindingindex, + int buffer, + long offset, + int stride + ); + diff --git a/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.nativeReg b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.nativeReg new file mode 100644 index 0000000..f3d5979 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glBindVertexBuffer.nativeReg @@ -0,0 +1 @@ +{"glBindVertexBuffer", "(IIJI)V", (void *) android_glBindVertexBuffer__IIJI }, diff --git a/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.cpp b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.cpp new file mode 100644 index 0000000..e701481 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.cpp @@ -0,0 +1,8 @@ +/* GLuint glCreateShaderProgramv ( GLenum type, GLsizei count, const GLchar *const *strings ) */ +static jint +android_glCreateShaderProgramv + (JNIEnv *_env, jobject _this, jint type, jobjectArray strings) { + + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return 0; +} diff --git a/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.java b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.java new file mode 100644 index 0000000..5f7b41b --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.java @@ -0,0 +1,7 @@ + // C function GLuint glCreateShaderProgramv ( GLenum type, GLsizei count, const GLchar *const *strings ) + + public static native int glCreateShaderProgramv( + int type, + String[] strings + ); + diff --git a/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.nativeReg b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.nativeReg new file mode 100644 index 0000000..2079d83 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glCreateShaderProgramv.nativeReg @@ -0,0 +1 @@ +{"glCreateShaderProgramv", "(I[Ljava/lang/String;)I", (void *) android_glCreateShaderProgramv }, diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp new file mode 100644 index 0000000..8601242 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp @@ -0,0 +1,5 @@ +/* void glDebugMessageCallbackKHR ( GLDEBUGPROCKHR callback, const void *userParam ) */ +static void +android_glDebugMessageCallbackKHR(JNIEnv *_env, jobject _this, jobject callback) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); +} diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.java b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.java new file mode 100644 index 0000000..3e8cf22 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.java @@ -0,0 +1,8 @@ + // C function void glDebugMessageCallbackKHR ( GLDEBUGPROCKHR callback, const void *userParam ) + + public interface DebugProcKHR { + void onMessage(int source, int type, int id, int severity, String message); + } + + public static native void glDebugMessageCallbackKHR(DebugProcKHR callback); + diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.nativeReg new file mode 100644 index 0000000..8e94658 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.nativeReg @@ -0,0 +1 @@ +{"glDebugMessageCallbackKHR", "(Landroid/opengl/GLES31Ext$DebugProcKHR;)V", (void *) android_glDebugMessageCallbackKHR }, diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.cpp b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.cpp new file mode 100644 index 0000000..9633c93 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.cpp @@ -0,0 +1,38 @@ +/* void glDebugMessageInsertKHR ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) */ +static void +android_glDebugMessageInsertKHR__IIIILjava_lang_String_2 + (JNIEnv *_env, jobject _this, jint source, jint type, jint id, jint severity, jstring buf) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + const char* _nativebuf = 0; + jint _length = 0; + + if (!buf) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "buf == null"; + goto exit; + } + _nativebuf = _env->GetStringUTFChars(buf, 0); + _length = _env->GetStringUTFLength(buf); + + glDebugMessageInsertKHR( + (GLenum)source, + (GLenum)type, + (GLuint)id, + (GLenum)severity, + (GLsizei)_length, + (GLchar *)_nativebuf + ); + +exit: + if (_nativebuf) { + _env->ReleaseStringUTFChars(buf, _nativebuf); + } + + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.java b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.java new file mode 100644 index 0000000..eb471c6 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.java @@ -0,0 +1,10 @@ + // C function void glDebugMessageInsertKHR ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) + + public static native void glDebugMessageInsertKHR( + int source, + int type, + int id, + int severity, + String buf + ); + diff --git a/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.nativeReg new file mode 100644 index 0000000..7e6e975 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDebugMessageInsertKHR.nativeReg @@ -0,0 +1 @@ +{"glDebugMessageInsertKHR", "(IIIILjava/lang/String;)V", (void *) android_glDebugMessageInsertKHR__IIIILjava_lang_String_2 }, diff --git a/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.cpp b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.cpp new file mode 100644 index 0000000..3f89a8b --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.cpp @@ -0,0 +1,13 @@ +/* void glDispatchComputeIndirect ( GLintptr indirect ) */ +static void android_glDispatchComputeIndirect(JNIEnv *_env, jobject, jlong indirect) { + // 'indirect' is a byte offset, not a pointer. GL checks for negative and too-large values. + // Here we only need to check for successful 64-bit to 32-bit conversion. + // - jlong is a int64_t (jni.h) + // - GLintptr is a long (khrplatform.h) + if (sizeof(GLintptr) != sizeof(jlong) && (indirect < LONG_MIN || indirect > LONG_MAX)) { + jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large"); + return; + } + glDispatchComputeIndirect((GLintptr)indirect); +} + diff --git a/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.java b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.java new file mode 100644 index 0000000..92862f3 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.java @@ -0,0 +1,4 @@ + // C function void glDispatchComputeIndirect ( GLintptr indirect ); + + public static native void glDispatchComputeIndirect(long indirect); + diff --git a/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.nativeReg b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.nativeReg new file mode 100644 index 0000000..9ed264a --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDispatchComputeIndirect.nativeReg @@ -0,0 +1 @@ +{"glDispatchComputeIndirect", "(J)V", (void *) android_glDispatchComputeIndirect }, diff --git a/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.cpp b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.cpp new file mode 100644 index 0000000..ce3bc8f --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.cpp @@ -0,0 +1,12 @@ +/* void glDrawArraysIndirect ( GLenum mode, const void *indirect ) */ +static void android_glDrawArraysIndirect(JNIEnv *_env, jobject, int mode, jlong indirect) { + // In OpenGL ES, 'indirect' is a byte offset into a buffer, not a raw pointer. + // GL checks for too-large values. Here we only need to check for successful signed 64-bit + // to unsigned 32-bit conversion. + if (sizeof(void*) != sizeof(jlong) && indirect > UINTPTR_MAX) { + jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large"); + return; + } + glDrawArraysIndirect(mode, (const void*)indirect); +} + diff --git a/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.java b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.java new file mode 100644 index 0000000..a8f0a80 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.java @@ -0,0 +1,4 @@ + // C function void glDrawArraysIndirect ( GLenum mode, const void *indirect ); + + public static native void glDrawArraysIndirect(int mode, long indirect); + diff --git a/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.nativeReg b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.nativeReg new file mode 100644 index 0000000..7e6b0e6 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDrawArraysIndirect.nativeReg @@ -0,0 +1 @@ +{"glDrawArraysIndirect", "(IJ)V", (void *) android_glDrawArraysIndirect }, diff --git a/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp new file mode 100644 index 0000000..1833ee9 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp @@ -0,0 +1,12 @@ +/* void glDrawElementsIndirect ( GLenum mode, GLenum type, const void *indirect ) */ +static void android_glDrawElementsIndirect(JNIEnv *_env, jobject, jint mode, jint type, jlong indirect) { + // In OpenGL ES, 'indirect' is a byte offset into a buffer, not a raw pointer. + // GL checks for too-large values. Here we only need to check for successful signed 64-bit + // to unsigned 32-bit conversion. + if (sizeof(void*) != sizeof(jlong) && indirect > UINTPTR_MAX) { + jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large"); + return; + } + glDrawElementsIndirect(mode, type, (const void*)indirect); +} + diff --git a/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.java b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.java new file mode 100644 index 0000000..4a8d84d --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.java @@ -0,0 +1,4 @@ + // C function glDrawElementsIndirect ( GLenum mode, GLenum type, const void *indirect ); + + public static native void glDrawElementsIndirect(int mode, int type, long indirect); + diff --git a/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.nativeReg b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.nativeReg new file mode 100644 index 0000000..0c11fd2 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.nativeReg @@ -0,0 +1 @@ +{"glDrawElementsIndirect", "(IIJ)V", (void *) android_glDrawElementsIndirect }, diff --git a/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.cpp new file mode 100644 index 0000000..98bcbdf --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.cpp @@ -0,0 +1,31 @@ +/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static jint +android_glGetDebugMessageLogKHR__II_3II_3II_3II_3II_3II_3BI + (JNIEnv *_env, jobject _this, jint count, jint bufSize, jintArray sources_ref, jint sourcesOffset, jintArray types_ref, jint typesOffset, jintArray ids_ref, jint idsOffset, jintArray severities_ref, jint severitiesOffset, jintArray lengths_ref, jint lengthsOffset, jbyteArray messageLog_ref, jint messageLogOffset) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return 0; +} + +/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static uint +android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2 + (JNIEnv *_env, jobject _this, jint count, jobject sources_ref, jobject types_ref, jobject ids_ref, jobject severities_ref, jobject lengths_ref, jobject messageLog_ref) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return 0; +} + +/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static jobjectArray +android_glGetDebugMessageLogKHR__I_3II_3II_3II_3II + (JNIEnv *_env, jobject _this, jint count, jintArray sources_ref, jint sourcesOffset, jintArray types_ref, jint typesOffset, jintArray ids_ref, jint idsOffset, jintArray severities_ref, jint severitiesOffset) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return 0; +} + +/* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static jobjectArray +android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint count, jobject sources_ref, jobject types_ref, jobject ids_ref, jobject severities_ref) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return 0; +} diff --git a/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.java b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.java new file mode 100644 index 0000000..a3c4a42 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.java @@ -0,0 +1,51 @@ + // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native int glGetDebugMessageLogKHR( + int count, + int bufSize, + int[] sources, + int sourcesOffset, + int[] types, + int typesOffset, + int[] ids, + int idsOffset, + int[] severities, + int severitiesOffset, + int[] lengths, + int lengthsOffset, + byte[] messageLog, + int messageLogOffset); + + // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native int glGetDebugMessageLogKHR( + int count, + java.nio.IntBuffer sources, + java.nio.IntBuffer types, + java.nio.IntBuffer ids, + java.nio.IntBuffer severities, + java.nio.IntBuffer lengths, + java.nio.ByteBuffer messageLog); + + // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native String[] glGetDebugMessageLogKHR( + int count, + int[] sources, + int sourcesOffset, + int[] types, + int typesOffset, + int[] ids, + int idsOffset, + int[] severities, + int severitiesOffset); + + // C function GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native String[] glGetDebugMessageLogKHR( + int count, + java.nio.IntBuffer sources, + java.nio.IntBuffer types, + java.nio.IntBuffer ids, + java.nio.IntBuffer severities); + diff --git a/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.nativeReg new file mode 100644 index 0000000..9a311ad --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetDebugMessageLogKHR.nativeReg @@ -0,0 +1,4 @@ +{"glGetDebugMessageLogKHR", "(II[II[II[II[II[II[BI)I", (void *) android_glGetDebugMessageLogKHR__II_3II_3II_3II_3II_3II_3BI }, +{"glGetDebugMessageLogKHR", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I", (void *) android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2 }, +{"glGetDebugMessageLogKHR", "(I[II[II[II[II)[Ljava/lang/String;", (void *) android_glGetDebugMessageLogKHR__I_3II_3II_3II_3II }, +{"glGetDebugMessageLogKHR", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;", (void *) android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.cpp new file mode 100644 index 0000000..49d237b --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.cpp @@ -0,0 +1,7 @@ +/* void glGetObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) */ +static jstring +android_glGetObjectLabelKHR(JNIEnv *_env, jobject _this, jint identifier, jint name) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return NULL; +} + diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.java b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.java new file mode 100644 index 0000000..d38c4f1 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.java @@ -0,0 +1,4 @@ + // C function void glGetObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) + + public static native String glGetObjectLabelKHR(int identifier, int name); + diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.nativeReg new file mode 100644 index 0000000..8b7167e --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetObjectLabelKHR.nativeReg @@ -0,0 +1 @@ +{"glGetObjectLabelKHR", "(II)Ljava/lang/String;", (void *) android_glGetObjectLabelKHR }, diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.cpp new file mode 100644 index 0000000..e107867 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.cpp @@ -0,0 +1,7 @@ +/* void glGetObjectPtrLabelKHR ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) */ +static jstring +android_glGetObjectPtrLabelKHR(JNIEnv *_env, jobject _this, jlong ptr) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return NULL; +} + diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.java b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.java new file mode 100644 index 0000000..874e003 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.java @@ -0,0 +1,4 @@ + // C function void glGetObjectPtrLabelKHR ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) + + public static native String glGetObjectPtrLabelKHR(long ptr); + diff --git a/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.nativeReg new file mode 100644 index 0000000..e84f006 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetObjectPtrLabelKHR.nativeReg @@ -0,0 +1 @@ +{"glGetObjectPtrLabelKHR", "(J)Ljava/lang/String;", (void *) android_glGetObjectPtrLabelKHR }, diff --git a/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.cpp b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.cpp new file mode 100644 index 0000000..0498507 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.cpp @@ -0,0 +1,7 @@ +/* void glGetPointervKHR ( GLenum pname, void **params ) */ +static jobject +android_glGetDebugMessageCallbackKHR(JNIEnv *_env, jobject _this) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return NULL; +} + diff --git a/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.java b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.java new file mode 100644 index 0000000..cfb13a3 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.java @@ -0,0 +1,4 @@ + // C function void glGetPointervKHR ( GLenum pname, void **params ) + + public static native DebugProcKHR glGetDebugMessageCallbackKHR(); + diff --git a/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.nativeReg new file mode 100644 index 0000000..d835696 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetPointervKHR.nativeReg @@ -0,0 +1 @@ +{"glGetDebugMessageCallbackKHR", "()Landroid/opengl/GLES31Ext$DebugProcKHR;", (void *) android_glGetDebugMessageCallbackKHR }, diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp new file mode 100644 index 0000000..5b556d5 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp @@ -0,0 +1,19 @@ +#include <stdlib.h> + +/* void glGetProgramPipelineInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */ +static jstring android_glGetProgramPipelineInfoLog(JNIEnv *_env, jobject, jint shader) { + GLint infoLen = 0; + glGetProgramPipelineiv(shader, GL_INFO_LOG_LENGTH, &infoLen); + if (!infoLen) { + return _env->NewStringUTF(""); + } + char* buf = (char*) malloc(infoLen); + if (buf == NULL) { + jniThrowException(_env, "java/lang/OutOfMemoryError", "out of memory"); + return NULL; + } + glGetProgramPipelineInfoLog(shader, infoLen, NULL, buf); + jstring result = _env->NewStringUTF(buf); + free(buf); + return result; +} diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.java b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.java new file mode 100644 index 0000000..f6b0f7b --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.java @@ -0,0 +1,6 @@ + // C function void glGetProgramPipelineInfoLog( GLuint program, GLsizei maxLength, GLsizei * length, GLchar * infoLog); + + public static native String glGetProgramPipelineInfoLog( + int program + ); + diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.nativeReg new file mode 100644 index 0000000..9a99e08 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.nativeReg @@ -0,0 +1 @@ +{"glGetProgramPipelineInfoLog", "(I)Ljava/lang/String;", (void *) android_glGetProgramPipelineInfoLog }, diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.cpp b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.cpp new file mode 100644 index 0000000..b07e59c --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.cpp @@ -0,0 +1,8 @@ +/* void glGetProgramResourceName ( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name ) */ +static jstring +android_glGetProgramResourceName + (JNIEnv *_env, jobject _this, jint program, jint programInterface, jint index) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return NULL; +} + diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.java b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.java new file mode 100644 index 0000000..43d6806 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.java @@ -0,0 +1,8 @@ + // C function void glGetProgramResourceName ( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name ) + + public static native String glGetProgramResourceName( + int program, + int programInterface, + int index + ); + diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.nativeReg b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.nativeReg new file mode 100644 index 0000000..f0b5fe1 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetProgramResourceName.nativeReg @@ -0,0 +1 @@ +{"glGetProgramResourceName", "(III)Ljava/lang/String;", (void *) android_glGetProgramResourceName }, diff --git a/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.cpp b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.cpp new file mode 100644 index 0000000..2bd851a --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.cpp @@ -0,0 +1,6 @@ +/* void glObjectPtrLabelKHR ( const void *ptr, GLsizei length, const GLchar *label ) */ +static void +android_glObjectPtrLabelKHR(JNIEnv *_env, jobject _this, jlong ptr, jstring label) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); +} + diff --git a/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.java b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.java new file mode 100644 index 0000000..1198898 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.java @@ -0,0 +1,4 @@ + // C function void glObjectPtrLabelKHR ( const void *ptr, GLsizei length, const GLchar *label ) + + public static native void glObjectPtrLabelKHR(long ptr, String label); + diff --git a/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.nativeReg b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.nativeReg new file mode 100644 index 0000000..7b7add1 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glObjectPtrLabelKHR.nativeReg @@ -0,0 +1 @@ +{"glObjectPtrLabelKHR", "(JLjava/lang/String;)V", (void *) android_glObjectPtrLabelKHR }, diff --git a/opengl/tools/glgen2/glgen.py b/opengl/tools/glgen2/glgen.py index f4d54b3..ed6b451 100755 --- a/opengl/tools/glgen2/glgen.py +++ b/opengl/tools/glgen2/glgen.py @@ -30,6 +30,29 @@ if sys.path[1] != regpath: import reg +AEP_EXTENSIONS = [ + 'GL_KHR_blend_equation_advanced', + 'GL_KHR_debug', + 'GL_KHR_texture_compression_astc_ldr', + 'GL_OES_sample_shading', + 'GL_OES_sample_variables', + 'GL_OES_shader_image_atomic', + 'GL_OES_shader_multisample_interpolation', + 'GL_OES_texture_stencil8', + 'GL_OES_texture_storage_multisample_2d_array', + 'GL_EXT_copy_image', + 'GL_EXT_draw_buffers_indexed', + 'GL_EXT_geometry_shader', + 'GL_EXT_gpu_shader5', + 'GL_EXT_primitive_bounding_box', + 'GL_EXT_shader_io_blocks', + 'GL_EXT_tessellation_shader', + 'GL_EXT_texture_border_clamp', + 'GL_EXT_texture_buffer', + 'GL_EXT_texture_cube_map_array', + 'GL_EXT_texture_sRGB_decode'] + + def nonestr(s): return s if s else "" @@ -188,6 +211,20 @@ class ApiGenerator(reg.OutputGenerator): print('GL_ENUM(%s,%s)' % (enum[0], enum[1]), file=outfile) +# Generate .spec entries for use by legacy 'gen' script +class SpecGenerator(reg.OutputGenerator): + def __init__(self): + reg.OutputGenerator.__init__(self, sys.stderr, sys.stderr, None) + + def genCmd(self, cmd, name): + reg.OutputGenerator.genCmd(self, cmd, name) + rtype, fname = parseTypedName(cmd.elem.find('proto')) + params = [parseTypedName(p) for p in cmd.elem.findall('param')] + + print('%s %s ( %s )' % (rtype, fname, fmtParams(params)), + file=self.outFile) + + if __name__ == '__main__': registry = reg.Registry() registry.loadFile('registry/gl.xml') @@ -248,3 +285,30 @@ if __name__ == '__main__': apigen.writeTrace(f) with open('../../libs/enums.in', 'w') as f: apigen.writeEnums(f) + + registry.setGenerator(SpecGenerator()) + SPEC_OPTIONS = [ + reg.GeneratorOptions( + apiname = 'gles2', + profile = 'common', + versions = '3\.1', + filename = '../glgen/specs/gles11/GLES31.spec'), + reg.GeneratorOptions( + apiname = 'gles2', + profile = 'common', + emitversions = None, + defaultExtensions = None, + addExtensions = '^({})$'.format('|'.join(AEP_EXTENSIONS)), + filename = '../glgen/specs/gles11/GLES31Ext.spec')] + # SpecGenerator creates a good starting point, but the CFunc.java parser is + # so terrible that the .spec file needs a lot of manual massaging before + # it works. Commenting this out to avoid accidentally overwriting all the + # manual modifications. + # + # Eventually this script should generate the Java and JNI code directly, + # skipping the intermediate .spec step, and obsoleting the existing + # ../glgen system. + # + # for opts in SPEC_OPTIONS: + # registry.apiGen(opts) + |