diff options
author | Pablo Ceballos <pceballos@google.com> | 2015-10-30 10:34:30 -0700 |
---|---|---|
committer | Pablo Ceballos <pceballos@google.com> | 2015-12-18 13:12:58 -0800 |
commit | 38c1a7e732660212687cf375f5e5ed354b91e431 (patch) | |
tree | 58002fa382899816d2e3fe9b0bb1310ed060ed20 | |
parent | 55bed957788e853d3ee3f674dd6eea79ad3a193b (diff) |
Add GLES32 class and JNI
Change-Id: I05ff0c14a35f51c2015edbd762dc9e6fe43347b9
-rw-r--r-- | api/current.txt | 273 | ||||
-rw-r--r-- | api/system-current.txt | 273 | ||||
-rw-r--r-- | api/test-current.txt | 273 | ||||
-rw-r--r-- | core/jni/Android.mk | 1 | ||||
-rw-r--r-- | core/jni/AndroidRuntime.cpp | 2 | ||||
-rw-r--r-- | core/jni/android_opengl_GLES32.cpp | 1999 | ||||
-rw-r--r-- | opengl/java/android/opengl/GLES31.java | 3 | ||||
-rw-r--r-- | opengl/java/android/opengl/GLES32.java | 785 |
8 files changed, 3608 insertions, 1 deletions
diff --git a/api/current.txt b/api/current.txt index 36430bb1e42d..b04a64ab5f07 100644 --- a/api/current.txt +++ b/api/current.txt @@ -26852,6 +26852,279 @@ package android.opengl { method public abstract void onMessage(int, int, int, int, java.lang.String); } + public class GLES32 extends android.opengl.GLES31 { + method public static void glBlendBarrier(); + method public static void glBlendEquationSeparatei(int, int, int); + method public static void glBlendEquationi(int, int); + method public static void glBlendFuncSeparatei(int, int, int, int, int); + method public static void glBlendFunci(int, int, int); + method public static void glColorMaski(int, boolean, boolean, boolean, boolean); + method public static void glCopyImageSubData(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); + method public static void glDebugMessageCallback(android.opengl.GLES32.DebugProc); + method public static void glDebugMessageControl(int, int, int, int, int[], int, boolean); + method public static void glDebugMessageControl(int, int, int, int, java.nio.IntBuffer, boolean); + method public static void glDebugMessageInsert(int, int, int, int, int, java.lang.String); + method public static void glDisablei(int, int); + method public static void glDrawElementsBaseVertex(int, int, int, java.nio.Buffer, int); + method public static void glDrawElementsInstancedBaseVertex(int, int, int, java.nio.Buffer, int, int); + method public static void glDrawElementsInstancedBaseVertex(int, int, int, int, int, int); + method public static void glDrawRangeElementsBaseVertex(int, int, int, int, int, java.nio.Buffer, int); + method public static void glEnablei(int, int); + method public static void glFramebufferTexture(int, int, int, int); + method public static int glGetDebugMessageLog(int, int, int[], int, int[], int, int[], int, int[], int, int[], int, byte[], int); + method public static int glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer); + method public static java.lang.String[] glGetDebugMessageLog(int, int[], int, int[], int, int[], int, int[], int); + method public static java.lang.String[] glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer); + method public static int glGetGraphicsResetStatus(); + method public static java.lang.String glGetObjectLabel(int, int); + method public static java.lang.String glGetObjectPtrLabel(long); + method public static long glGetPointerv(int); + method public static void glGetSamplerParameterIiv(int, int, int[], int); + method public static void glGetSamplerParameterIiv(int, int, java.nio.IntBuffer); + method public static void glGetSamplerParameterIuiv(int, int, int[], int); + method public static void glGetSamplerParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glGetTexParameterIiv(int, int, int[], int); + method public static void glGetTexParameterIiv(int, int, java.nio.IntBuffer); + method public static void glGetTexParameterIuiv(int, int, int[], int); + method public static void glGetTexParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glGetnUniformfv(int, int, int, float[], int); + method public static void glGetnUniformfv(int, int, int, java.nio.FloatBuffer); + method public static void glGetnUniformiv(int, int, int, int[], int); + method public static void glGetnUniformiv(int, int, int, java.nio.IntBuffer); + method public static void glGetnUniformuiv(int, int, int, int[], int); + method public static void glGetnUniformuiv(int, int, int, java.nio.IntBuffer); + method public static boolean glIsEnabledi(int, int); + method public static void glMinSampleShading(float); + method public static void glObjectLabel(int, int, int, java.lang.String); + method public static void glObjectPtrLabel(long, java.lang.String); + method public static void glPatchParameteri(int, int); + method public static void glPopDebugGroup(); + method public static void glPrimitiveBoundingBox(float, float, float, float, float, float, float, float); + method public static void glPushDebugGroup(int, int, int, java.lang.String); + method public static void glReadnPixels(int, int, int, int, int, int, int, java.nio.Buffer); + method public static void glSamplerParameterIiv(int, int, int[], int); + method public static void glSamplerParameterIiv(int, int, java.nio.IntBuffer); + method public static void glSamplerParameterIuiv(int, int, int[], int); + method public static void glSamplerParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glTexBuffer(int, int, int); + method public static void glTexBufferRange(int, int, int, int, int); + method public static void glTexParameterIiv(int, int, int[], int); + method public static void glTexParameterIiv(int, int, java.nio.IntBuffer); + method public static void glTexParameterIuiv(int, int, int[], int); + method public static void glTexParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glTexStorage3DMultisample(int, int, int, int, int, int, boolean); + field public static final int GL_BUFFER = 33504; // 0x82e0 + field public static final int GL_CLAMP_TO_BORDER = 33069; // 0x812d + field public static final int GL_COLORBURN = 37530; // 0x929a + field public static final int GL_COLORDODGE = 37529; // 0x9299 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x10 = 37819; // 0x93bb + field public static final int GL_COMPRESSED_RGBA_ASTC_10x5 = 37816; // 0x93b8 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x6 = 37817; // 0x93b9 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x8 = 37818; // 0x93ba + field public static final int GL_COMPRESSED_RGBA_ASTC_12x10 = 37820; // 0x93bc + field public static final int GL_COMPRESSED_RGBA_ASTC_12x12 = 37821; // 0x93bd + field public static final int GL_COMPRESSED_RGBA_ASTC_4x4 = 37808; // 0x93b0 + field public static final int GL_COMPRESSED_RGBA_ASTC_5x4 = 37809; // 0x93b1 + field public static final int GL_COMPRESSED_RGBA_ASTC_5x5 = 37810; // 0x93b2 + field public static final int GL_COMPRESSED_RGBA_ASTC_6x5 = 37811; // 0x93b3 + field public static final int GL_COMPRESSED_RGBA_ASTC_6x6 = 37812; // 0x93b4 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x5 = 37813; // 0x93b5 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x6 = 37814; // 0x93b6 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x8 = 37815; // 0x93b7 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 37851; // 0x93db + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 37848; // 0x93d8 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 37849; // 0x93d9 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 37850; // 0x93da + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 37852; // 0x93dc + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 37853; // 0x93dd + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 37840; // 0x93d0 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 37841; // 0x93d1 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 37842; // 0x93d2 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 37843; // 0x93d3 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 37844; // 0x93d4 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 37845; // 0x93d5 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 37846; // 0x93d6 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 37847; // 0x93d7 + field public static final int GL_CONTEXT_FLAGS = 33310; // 0x821e + field public static final int GL_CONTEXT_FLAG_DEBUG_BIT = 2; // 0x2 + field public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 4; // 0x4 + field public static final int GL_CONTEXT_LOST = 1287; // 0x507 + field public static final int GL_DARKEN = 37527; // 0x9297 + field public static final int GL_DEBUG_CALLBACK_FUNCTION = 33348; // 0x8244 + field public static final int GL_DEBUG_CALLBACK_USER_PARAM = 33349; // 0x8245 + field public static final int GL_DEBUG_GROUP_STACK_DEPTH = 33389; // 0x826d + field public static final int GL_DEBUG_LOGGED_MESSAGES = 37189; // 0x9145 + field public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; // 0x8243 + field public static final int GL_DEBUG_OUTPUT = 37600; // 0x92e0 + field public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS = 33346; // 0x8242 + field public static final int GL_DEBUG_SEVERITY_HIGH = 37190; // 0x9146 + field public static final int GL_DEBUG_SEVERITY_LOW = 37192; // 0x9148 + field public static final int GL_DEBUG_SEVERITY_MEDIUM = 37191; // 0x9147 + field public static final int GL_DEBUG_SEVERITY_NOTIFICATION = 33387; // 0x826b + field public static final int GL_DEBUG_SOURCE_API = 33350; // 0x8246 + field public static final int GL_DEBUG_SOURCE_APPLICATION = 33354; // 0x824a + field public static final int GL_DEBUG_SOURCE_OTHER = 33355; // 0x824b + field public static final int GL_DEBUG_SOURCE_SHADER_COMPILER = 33352; // 0x8248 + field public static final int GL_DEBUG_SOURCE_THIRD_PARTY = 33353; // 0x8249 + field public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM = 33351; // 0x8247 + field public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; // 0x824d + field public static final int GL_DEBUG_TYPE_ERROR = 33356; // 0x824c + field public static final int GL_DEBUG_TYPE_MARKER = 33384; // 0x8268 + field public static final int GL_DEBUG_TYPE_OTHER = 33361; // 0x8251 + field public static final int GL_DEBUG_TYPE_PERFORMANCE = 33360; // 0x8250 + field public static final int GL_DEBUG_TYPE_POP_GROUP = 33386; // 0x826a + field public static final int GL_DEBUG_TYPE_PORTABILITY = 33359; // 0x824f + field public static final int GL_DEBUG_TYPE_PUSH_GROUP = 33385; // 0x8269 + field public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; // 0x824e + field public static final int GL_DIFFERENCE = 37534; // 0x929e + field public static final int GL_EXCLUSION = 37536; // 0x92a0 + field public static final int GL_FIRST_VERTEX_CONVENTION = 36429; // 0x8e4d + field public static final int GL_FRACTIONAL_EVEN = 36476; // 0x8e7c + field public static final int GL_FRACTIONAL_ODD = 36475; // 0x8e7b + field public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 36445; // 0x8e5d + field public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 36263; // 0x8da7 + field public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS = 37650; // 0x9312 + field public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 36264; // 0x8da8 + field public static final int GL_GEOMETRY_INPUT_TYPE = 35095; // 0x8917 + field public static final int GL_GEOMETRY_OUTPUT_TYPE = 35096; // 0x8918 + field public static final int GL_GEOMETRY_SHADER = 36313; // 0x8dd9 + field public static final int GL_GEOMETRY_SHADER_BIT = 4; // 0x4 + field public static final int GL_GEOMETRY_SHADER_INVOCATIONS = 34943; // 0x887f + field public static final int GL_GEOMETRY_VERTICES_OUT = 35094; // 0x8916 + field public static final int GL_GUILTY_CONTEXT_RESET = 33363; // 0x8253 + field public static final int GL_HARDLIGHT = 37531; // 0x929b + field public static final int GL_HSL_COLOR = 37551; // 0x92af + field public static final int GL_HSL_HUE = 37549; // 0x92ad + field public static final int GL_HSL_LUMINOSITY = 37552; // 0x92b0 + field public static final int GL_HSL_SATURATION = 37550; // 0x92ae + field public static final int GL_IMAGE_BUFFER = 36945; // 0x9051 + field public static final int GL_IMAGE_CUBE_MAP_ARRAY = 36948; // 0x9054 + field public static final int GL_INNOCENT_CONTEXT_RESET = 33364; // 0x8254 + field public static final int GL_INT_IMAGE_BUFFER = 36956; // 0x905c + field public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY = 36959; // 0x905f + field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37132; // 0x910c + field public static final int GL_INT_SAMPLER_BUFFER = 36304; // 0x8dd0 + field public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY = 36878; // 0x900e + field public static final int GL_ISOLINES = 36474; // 0x8e7a + field public static final int GL_IS_PER_PATCH = 37607; // 0x92e7 + field public static final int GL_LAST_VERTEX_CONVENTION = 36430; // 0x8e4e + field public static final int GL_LAYER_PROVOKING_VERTEX = 33374; // 0x825e + field public static final int GL_LIGHTEN = 37528; // 0x9298 + field public static final int GL_LINES_ADJACENCY = 10; // 0xa + field public static final int GL_LINE_STRIP_ADJACENCY = 11; // 0xb + field public static final int GL_LOSE_CONTEXT_ON_RESET = 33362; // 0x8252 + field public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 35378; // 0x8a32 + field public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 36382; // 0x8e1e + field public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 36383; // 0x8e1f + field public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH = 33388; // 0x826c + field public static final int GL_MAX_DEBUG_LOGGED_MESSAGES = 37188; // 0x9144 + field public static final int GL_MAX_DEBUG_MESSAGE_LENGTH = 37187; // 0x9143 + field public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 36444; // 0x8e5c + field public static final int GL_MAX_FRAMEBUFFER_LAYERS = 37655; // 0x9317 + field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 37589; // 0x92d5 + field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 37583; // 0x92cf + field public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 37069; // 0x90cd + field public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 37155; // 0x9123 + field public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 37156; // 0x9124 + field public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 36320; // 0x8de0 + field public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 36442; // 0x8e5a + field public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 37079; // 0x90d7 + field public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 35881; // 0x8c29 + field public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 36321; // 0x8de1 + field public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 35372; // 0x8a2c + field public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 36319; // 0x8ddf + field public static final int GL_MAX_LABEL_LENGTH = 33512; // 0x82e8 + field public static final int GL_MAX_PATCH_VERTICES = 36477; // 0x8e7d + field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 37587; // 0x92d3 + field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 37581; // 0x92cd + field public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 37067; // 0x90cb + field public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 34924; // 0x886c + field public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 36483; // 0x8e83 + field public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 37080; // 0x90d8 + field public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 36481; // 0x8e81 + field public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 36485; // 0x8e85 + field public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 36489; // 0x8e89 + field public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 36479; // 0x8e7f + field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 37588; // 0x92d4 + field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 37582; // 0x92ce + field public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 37068; // 0x90cc + field public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 34925; // 0x886d + field public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 36486; // 0x8e86 + field public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 37081; // 0x90d9 + field public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 36482; // 0x8e82 + field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 36490; // 0x8e8a + field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 36480; // 0x8e80 + field public static final int GL_MAX_TESS_GEN_LEVEL = 36478; // 0x8e7e + field public static final int GL_MAX_TESS_PATCH_COMPONENTS = 36484; // 0x8e84 + field public static final int GL_MAX_TEXTURE_BUFFER_SIZE = 35883; // 0x8c2b + field public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 36443; // 0x8e5b + field public static final int GL_MIN_SAMPLE_SHADING_VALUE = 35895; // 0x8c37 + field public static final int GL_MULTIPLY = 37524; // 0x9294 + field public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 37762; // 0x9382 + field public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE = 37761; // 0x9381 + field public static final int GL_NO_RESET_NOTIFICATION = 33377; // 0x8261 + field public static final int GL_OVERLAY = 37526; // 0x9296 + field public static final int GL_PATCHES = 14; // 0xe + field public static final int GL_PATCH_VERTICES = 36466; // 0x8e72 + field public static final int GL_PRIMITIVES_GENERATED = 35975; // 0x8c87 + field public static final int GL_PRIMITIVE_BOUNDING_BOX = 37566; // 0x92be + field public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313; // 0x8221 + field public static final int GL_PROGRAM = 33506; // 0x82e2 + field public static final int GL_PROGRAM_PIPELINE = 33508; // 0x82e4 + field public static final int GL_QUADS = 7; // 0x7 + field public static final int GL_QUERY = 33507; // 0x82e3 + field public static final int GL_REFERENCED_BY_GEOMETRY_SHADER = 37641; // 0x9309 + field public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER = 37639; // 0x9307 + field public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 37640; // 0x9308 + field public static final int GL_RESET_NOTIFICATION_STRATEGY = 33366; // 0x8256 + field public static final int GL_SAMPLER = 33510; // 0x82e6 + field public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 37131; // 0x910b + field public static final int GL_SAMPLER_BUFFER = 36290; // 0x8dc2 + field public static final int GL_SAMPLER_CUBE_MAP_ARRAY = 36876; // 0x900c + field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 36877; // 0x900d + field public static final int GL_SAMPLE_SHADING = 35894; // 0x8c36 + field public static final int GL_SCREEN = 37525; // 0x9295 + field public static final int GL_SHADER = 33505; // 0x82e1 + field public static final int GL_SOFTLIGHT = 37532; // 0x929c + field public static final int GL_STACK_OVERFLOW = 1283; // 0x503 + field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504 + field public static final int GL_TESS_CONTROL_OUTPUT_VERTICES = 36469; // 0x8e75 + field public static final int GL_TESS_CONTROL_SHADER = 36488; // 0x8e88 + field public static final int GL_TESS_CONTROL_SHADER_BIT = 8; // 0x8 + field public static final int GL_TESS_EVALUATION_SHADER = 36487; // 0x8e87 + field public static final int GL_TESS_EVALUATION_SHADER_BIT = 16; // 0x10 + field public static final int GL_TESS_GEN_MODE = 36470; // 0x8e76 + field public static final int GL_TESS_GEN_POINT_MODE = 36473; // 0x8e79 + field public static final int GL_TESS_GEN_SPACING = 36471; // 0x8e77 + field public static final int GL_TESS_GEN_VERTEX_ORDER = 36472; // 0x8e78 + field public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 37122; // 0x9102 + field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 37125; // 0x9105 + field public static final int GL_TEXTURE_BINDING_BUFFER = 35884; // 0x8c2c + field public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 36874; // 0x900a + field public static final int GL_TEXTURE_BORDER_COLOR = 4100; // 0x1004 + field public static final int GL_TEXTURE_BUFFER = 35882; // 0x8c2a + field public static final int GL_TEXTURE_BUFFER_BINDING = 35882; // 0x8c2a + field public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 35885; // 0x8c2d + field public static final int GL_TEXTURE_BUFFER_OFFSET = 37277; // 0x919d + field public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 37279; // 0x919f + field public static final int GL_TEXTURE_BUFFER_SIZE = 37278; // 0x919e + field public static final int GL_TEXTURE_CUBE_MAP_ARRAY = 36873; // 0x9009 + field public static final int GL_TRIANGLES_ADJACENCY = 12; // 0xc + field public static final int GL_TRIANGLE_STRIP_ADJACENCY = 13; // 0xd + field public static final int GL_UNDEFINED_VERTEX = 33376; // 0x8260 + field public static final int GL_UNKNOWN_CONTEXT_RESET = 33365; // 0x8255 + field public static final int GL_UNSIGNED_INT_IMAGE_BUFFER = 36967; // 0x9067 + field public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 36970; // 0x906a + field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37133; // 0x910d + field public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER = 36312; // 0x8dd8 + field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 36879; // 0x900f + field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074 + } + + public static abstract interface GLES32.DebugProc { + method public abstract void onMessage(int, int, int, int, java.lang.String); + } + public class GLException extends java.lang.RuntimeException { ctor public GLException(int); ctor public GLException(int, java.lang.String); diff --git a/api/system-current.txt b/api/system-current.txt index 1a1555579e07..75139c2c549d 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -28849,6 +28849,279 @@ package android.opengl { method public abstract void onMessage(int, int, int, int, java.lang.String); } + public class GLES32 extends android.opengl.GLES31 { + method public static void glBlendBarrier(); + method public static void glBlendEquationSeparatei(int, int, int); + method public static void glBlendEquationi(int, int); + method public static void glBlendFuncSeparatei(int, int, int, int, int); + method public static void glBlendFunci(int, int, int); + method public static void glColorMaski(int, boolean, boolean, boolean, boolean); + method public static void glCopyImageSubData(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); + method public static void glDebugMessageCallback(android.opengl.GLES32.DebugProc); + method public static void glDebugMessageControl(int, int, int, int, int[], int, boolean); + method public static void glDebugMessageControl(int, int, int, int, java.nio.IntBuffer, boolean); + method public static void glDebugMessageInsert(int, int, int, int, int, java.lang.String); + method public static void glDisablei(int, int); + method public static void glDrawElementsBaseVertex(int, int, int, java.nio.Buffer, int); + method public static void glDrawElementsInstancedBaseVertex(int, int, int, java.nio.Buffer, int, int); + method public static void glDrawElementsInstancedBaseVertex(int, int, int, int, int, int); + method public static void glDrawRangeElementsBaseVertex(int, int, int, int, int, java.nio.Buffer, int); + method public static void glEnablei(int, int); + method public static void glFramebufferTexture(int, int, int, int); + method public static int glGetDebugMessageLog(int, int, int[], int, int[], int, int[], int, int[], int, int[], int, byte[], int); + method public static int glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer); + method public static java.lang.String[] glGetDebugMessageLog(int, int[], int, int[], int, int[], int, int[], int); + method public static java.lang.String[] glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer); + method public static int glGetGraphicsResetStatus(); + method public static java.lang.String glGetObjectLabel(int, int); + method public static java.lang.String glGetObjectPtrLabel(long); + method public static long glGetPointerv(int); + method public static void glGetSamplerParameterIiv(int, int, int[], int); + method public static void glGetSamplerParameterIiv(int, int, java.nio.IntBuffer); + method public static void glGetSamplerParameterIuiv(int, int, int[], int); + method public static void glGetSamplerParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glGetTexParameterIiv(int, int, int[], int); + method public static void glGetTexParameterIiv(int, int, java.nio.IntBuffer); + method public static void glGetTexParameterIuiv(int, int, int[], int); + method public static void glGetTexParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glGetnUniformfv(int, int, int, float[], int); + method public static void glGetnUniformfv(int, int, int, java.nio.FloatBuffer); + method public static void glGetnUniformiv(int, int, int, int[], int); + method public static void glGetnUniformiv(int, int, int, java.nio.IntBuffer); + method public static void glGetnUniformuiv(int, int, int, int[], int); + method public static void glGetnUniformuiv(int, int, int, java.nio.IntBuffer); + method public static boolean glIsEnabledi(int, int); + method public static void glMinSampleShading(float); + method public static void glObjectLabel(int, int, int, java.lang.String); + method public static void glObjectPtrLabel(long, java.lang.String); + method public static void glPatchParameteri(int, int); + method public static void glPopDebugGroup(); + method public static void glPrimitiveBoundingBox(float, float, float, float, float, float, float, float); + method public static void glPushDebugGroup(int, int, int, java.lang.String); + method public static void glReadnPixels(int, int, int, int, int, int, int, java.nio.Buffer); + method public static void glSamplerParameterIiv(int, int, int[], int); + method public static void glSamplerParameterIiv(int, int, java.nio.IntBuffer); + method public static void glSamplerParameterIuiv(int, int, int[], int); + method public static void glSamplerParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glTexBuffer(int, int, int); + method public static void glTexBufferRange(int, int, int, int, int); + method public static void glTexParameterIiv(int, int, int[], int); + method public static void glTexParameterIiv(int, int, java.nio.IntBuffer); + method public static void glTexParameterIuiv(int, int, int[], int); + method public static void glTexParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glTexStorage3DMultisample(int, int, int, int, int, int, boolean); + field public static final int GL_BUFFER = 33504; // 0x82e0 + field public static final int GL_CLAMP_TO_BORDER = 33069; // 0x812d + field public static final int GL_COLORBURN = 37530; // 0x929a + field public static final int GL_COLORDODGE = 37529; // 0x9299 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x10 = 37819; // 0x93bb + field public static final int GL_COMPRESSED_RGBA_ASTC_10x5 = 37816; // 0x93b8 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x6 = 37817; // 0x93b9 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x8 = 37818; // 0x93ba + field public static final int GL_COMPRESSED_RGBA_ASTC_12x10 = 37820; // 0x93bc + field public static final int GL_COMPRESSED_RGBA_ASTC_12x12 = 37821; // 0x93bd + field public static final int GL_COMPRESSED_RGBA_ASTC_4x4 = 37808; // 0x93b0 + field public static final int GL_COMPRESSED_RGBA_ASTC_5x4 = 37809; // 0x93b1 + field public static final int GL_COMPRESSED_RGBA_ASTC_5x5 = 37810; // 0x93b2 + field public static final int GL_COMPRESSED_RGBA_ASTC_6x5 = 37811; // 0x93b3 + field public static final int GL_COMPRESSED_RGBA_ASTC_6x6 = 37812; // 0x93b4 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x5 = 37813; // 0x93b5 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x6 = 37814; // 0x93b6 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x8 = 37815; // 0x93b7 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 37851; // 0x93db + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 37848; // 0x93d8 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 37849; // 0x93d9 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 37850; // 0x93da + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 37852; // 0x93dc + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 37853; // 0x93dd + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 37840; // 0x93d0 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 37841; // 0x93d1 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 37842; // 0x93d2 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 37843; // 0x93d3 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 37844; // 0x93d4 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 37845; // 0x93d5 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 37846; // 0x93d6 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 37847; // 0x93d7 + field public static final int GL_CONTEXT_FLAGS = 33310; // 0x821e + field public static final int GL_CONTEXT_FLAG_DEBUG_BIT = 2; // 0x2 + field public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 4; // 0x4 + field public static final int GL_CONTEXT_LOST = 1287; // 0x507 + field public static final int GL_DARKEN = 37527; // 0x9297 + field public static final int GL_DEBUG_CALLBACK_FUNCTION = 33348; // 0x8244 + field public static final int GL_DEBUG_CALLBACK_USER_PARAM = 33349; // 0x8245 + field public static final int GL_DEBUG_GROUP_STACK_DEPTH = 33389; // 0x826d + field public static final int GL_DEBUG_LOGGED_MESSAGES = 37189; // 0x9145 + field public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; // 0x8243 + field public static final int GL_DEBUG_OUTPUT = 37600; // 0x92e0 + field public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS = 33346; // 0x8242 + field public static final int GL_DEBUG_SEVERITY_HIGH = 37190; // 0x9146 + field public static final int GL_DEBUG_SEVERITY_LOW = 37192; // 0x9148 + field public static final int GL_DEBUG_SEVERITY_MEDIUM = 37191; // 0x9147 + field public static final int GL_DEBUG_SEVERITY_NOTIFICATION = 33387; // 0x826b + field public static final int GL_DEBUG_SOURCE_API = 33350; // 0x8246 + field public static final int GL_DEBUG_SOURCE_APPLICATION = 33354; // 0x824a + field public static final int GL_DEBUG_SOURCE_OTHER = 33355; // 0x824b + field public static final int GL_DEBUG_SOURCE_SHADER_COMPILER = 33352; // 0x8248 + field public static final int GL_DEBUG_SOURCE_THIRD_PARTY = 33353; // 0x8249 + field public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM = 33351; // 0x8247 + field public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; // 0x824d + field public static final int GL_DEBUG_TYPE_ERROR = 33356; // 0x824c + field public static final int GL_DEBUG_TYPE_MARKER = 33384; // 0x8268 + field public static final int GL_DEBUG_TYPE_OTHER = 33361; // 0x8251 + field public static final int GL_DEBUG_TYPE_PERFORMANCE = 33360; // 0x8250 + field public static final int GL_DEBUG_TYPE_POP_GROUP = 33386; // 0x826a + field public static final int GL_DEBUG_TYPE_PORTABILITY = 33359; // 0x824f + field public static final int GL_DEBUG_TYPE_PUSH_GROUP = 33385; // 0x8269 + field public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; // 0x824e + field public static final int GL_DIFFERENCE = 37534; // 0x929e + field public static final int GL_EXCLUSION = 37536; // 0x92a0 + field public static final int GL_FIRST_VERTEX_CONVENTION = 36429; // 0x8e4d + field public static final int GL_FRACTIONAL_EVEN = 36476; // 0x8e7c + field public static final int GL_FRACTIONAL_ODD = 36475; // 0x8e7b + field public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 36445; // 0x8e5d + field public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 36263; // 0x8da7 + field public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS = 37650; // 0x9312 + field public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 36264; // 0x8da8 + field public static final int GL_GEOMETRY_INPUT_TYPE = 35095; // 0x8917 + field public static final int GL_GEOMETRY_OUTPUT_TYPE = 35096; // 0x8918 + field public static final int GL_GEOMETRY_SHADER = 36313; // 0x8dd9 + field public static final int GL_GEOMETRY_SHADER_BIT = 4; // 0x4 + field public static final int GL_GEOMETRY_SHADER_INVOCATIONS = 34943; // 0x887f + field public static final int GL_GEOMETRY_VERTICES_OUT = 35094; // 0x8916 + field public static final int GL_GUILTY_CONTEXT_RESET = 33363; // 0x8253 + field public static final int GL_HARDLIGHT = 37531; // 0x929b + field public static final int GL_HSL_COLOR = 37551; // 0x92af + field public static final int GL_HSL_HUE = 37549; // 0x92ad + field public static final int GL_HSL_LUMINOSITY = 37552; // 0x92b0 + field public static final int GL_HSL_SATURATION = 37550; // 0x92ae + field public static final int GL_IMAGE_BUFFER = 36945; // 0x9051 + field public static final int GL_IMAGE_CUBE_MAP_ARRAY = 36948; // 0x9054 + field public static final int GL_INNOCENT_CONTEXT_RESET = 33364; // 0x8254 + field public static final int GL_INT_IMAGE_BUFFER = 36956; // 0x905c + field public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY = 36959; // 0x905f + field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37132; // 0x910c + field public static final int GL_INT_SAMPLER_BUFFER = 36304; // 0x8dd0 + field public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY = 36878; // 0x900e + field public static final int GL_ISOLINES = 36474; // 0x8e7a + field public static final int GL_IS_PER_PATCH = 37607; // 0x92e7 + field public static final int GL_LAST_VERTEX_CONVENTION = 36430; // 0x8e4e + field public static final int GL_LAYER_PROVOKING_VERTEX = 33374; // 0x825e + field public static final int GL_LIGHTEN = 37528; // 0x9298 + field public static final int GL_LINES_ADJACENCY = 10; // 0xa + field public static final int GL_LINE_STRIP_ADJACENCY = 11; // 0xb + field public static final int GL_LOSE_CONTEXT_ON_RESET = 33362; // 0x8252 + field public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 35378; // 0x8a32 + field public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 36382; // 0x8e1e + field public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 36383; // 0x8e1f + field public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH = 33388; // 0x826c + field public static final int GL_MAX_DEBUG_LOGGED_MESSAGES = 37188; // 0x9144 + field public static final int GL_MAX_DEBUG_MESSAGE_LENGTH = 37187; // 0x9143 + field public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 36444; // 0x8e5c + field public static final int GL_MAX_FRAMEBUFFER_LAYERS = 37655; // 0x9317 + field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 37589; // 0x92d5 + field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 37583; // 0x92cf + field public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 37069; // 0x90cd + field public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 37155; // 0x9123 + field public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 37156; // 0x9124 + field public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 36320; // 0x8de0 + field public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 36442; // 0x8e5a + field public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 37079; // 0x90d7 + field public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 35881; // 0x8c29 + field public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 36321; // 0x8de1 + field public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 35372; // 0x8a2c + field public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 36319; // 0x8ddf + field public static final int GL_MAX_LABEL_LENGTH = 33512; // 0x82e8 + field public static final int GL_MAX_PATCH_VERTICES = 36477; // 0x8e7d + field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 37587; // 0x92d3 + field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 37581; // 0x92cd + field public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 37067; // 0x90cb + field public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 34924; // 0x886c + field public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 36483; // 0x8e83 + field public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 37080; // 0x90d8 + field public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 36481; // 0x8e81 + field public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 36485; // 0x8e85 + field public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 36489; // 0x8e89 + field public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 36479; // 0x8e7f + field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 37588; // 0x92d4 + field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 37582; // 0x92ce + field public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 37068; // 0x90cc + field public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 34925; // 0x886d + field public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 36486; // 0x8e86 + field public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 37081; // 0x90d9 + field public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 36482; // 0x8e82 + field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 36490; // 0x8e8a + field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 36480; // 0x8e80 + field public static final int GL_MAX_TESS_GEN_LEVEL = 36478; // 0x8e7e + field public static final int GL_MAX_TESS_PATCH_COMPONENTS = 36484; // 0x8e84 + field public static final int GL_MAX_TEXTURE_BUFFER_SIZE = 35883; // 0x8c2b + field public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 36443; // 0x8e5b + field public static final int GL_MIN_SAMPLE_SHADING_VALUE = 35895; // 0x8c37 + field public static final int GL_MULTIPLY = 37524; // 0x9294 + field public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 37762; // 0x9382 + field public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE = 37761; // 0x9381 + field public static final int GL_NO_RESET_NOTIFICATION = 33377; // 0x8261 + field public static final int GL_OVERLAY = 37526; // 0x9296 + field public static final int GL_PATCHES = 14; // 0xe + field public static final int GL_PATCH_VERTICES = 36466; // 0x8e72 + field public static final int GL_PRIMITIVES_GENERATED = 35975; // 0x8c87 + field public static final int GL_PRIMITIVE_BOUNDING_BOX = 37566; // 0x92be + field public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313; // 0x8221 + field public static final int GL_PROGRAM = 33506; // 0x82e2 + field public static final int GL_PROGRAM_PIPELINE = 33508; // 0x82e4 + field public static final int GL_QUADS = 7; // 0x7 + field public static final int GL_QUERY = 33507; // 0x82e3 + field public static final int GL_REFERENCED_BY_GEOMETRY_SHADER = 37641; // 0x9309 + field public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER = 37639; // 0x9307 + field public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 37640; // 0x9308 + field public static final int GL_RESET_NOTIFICATION_STRATEGY = 33366; // 0x8256 + field public static final int GL_SAMPLER = 33510; // 0x82e6 + field public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 37131; // 0x910b + field public static final int GL_SAMPLER_BUFFER = 36290; // 0x8dc2 + field public static final int GL_SAMPLER_CUBE_MAP_ARRAY = 36876; // 0x900c + field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 36877; // 0x900d + field public static final int GL_SAMPLE_SHADING = 35894; // 0x8c36 + field public static final int GL_SCREEN = 37525; // 0x9295 + field public static final int GL_SHADER = 33505; // 0x82e1 + field public static final int GL_SOFTLIGHT = 37532; // 0x929c + field public static final int GL_STACK_OVERFLOW = 1283; // 0x503 + field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504 + field public static final int GL_TESS_CONTROL_OUTPUT_VERTICES = 36469; // 0x8e75 + field public static final int GL_TESS_CONTROL_SHADER = 36488; // 0x8e88 + field public static final int GL_TESS_CONTROL_SHADER_BIT = 8; // 0x8 + field public static final int GL_TESS_EVALUATION_SHADER = 36487; // 0x8e87 + field public static final int GL_TESS_EVALUATION_SHADER_BIT = 16; // 0x10 + field public static final int GL_TESS_GEN_MODE = 36470; // 0x8e76 + field public static final int GL_TESS_GEN_POINT_MODE = 36473; // 0x8e79 + field public static final int GL_TESS_GEN_SPACING = 36471; // 0x8e77 + field public static final int GL_TESS_GEN_VERTEX_ORDER = 36472; // 0x8e78 + field public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 37122; // 0x9102 + field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 37125; // 0x9105 + field public static final int GL_TEXTURE_BINDING_BUFFER = 35884; // 0x8c2c + field public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 36874; // 0x900a + field public static final int GL_TEXTURE_BORDER_COLOR = 4100; // 0x1004 + field public static final int GL_TEXTURE_BUFFER = 35882; // 0x8c2a + field public static final int GL_TEXTURE_BUFFER_BINDING = 35882; // 0x8c2a + field public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 35885; // 0x8c2d + field public static final int GL_TEXTURE_BUFFER_OFFSET = 37277; // 0x919d + field public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 37279; // 0x919f + field public static final int GL_TEXTURE_BUFFER_SIZE = 37278; // 0x919e + field public static final int GL_TEXTURE_CUBE_MAP_ARRAY = 36873; // 0x9009 + field public static final int GL_TRIANGLES_ADJACENCY = 12; // 0xc + field public static final int GL_TRIANGLE_STRIP_ADJACENCY = 13; // 0xd + field public static final int GL_UNDEFINED_VERTEX = 33376; // 0x8260 + field public static final int GL_UNKNOWN_CONTEXT_RESET = 33365; // 0x8255 + field public static final int GL_UNSIGNED_INT_IMAGE_BUFFER = 36967; // 0x9067 + field public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 36970; // 0x906a + field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37133; // 0x910d + field public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER = 36312; // 0x8dd8 + field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 36879; // 0x900f + field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074 + } + + public static abstract interface GLES32.DebugProc { + method public abstract void onMessage(int, int, int, int, java.lang.String); + } + public class GLException extends java.lang.RuntimeException { ctor public GLException(int); ctor public GLException(int, java.lang.String); diff --git a/api/test-current.txt b/api/test-current.txt index 3531e34a2407..6836d9f0b470 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -26852,6 +26852,279 @@ package android.opengl { method public abstract void onMessage(int, int, int, int, java.lang.String); } + public class GLES32 extends android.opengl.GLES31 { + method public static void glBlendBarrier(); + method public static void glBlendEquationSeparatei(int, int, int); + method public static void glBlendEquationi(int, int); + method public static void glBlendFuncSeparatei(int, int, int, int, int); + method public static void glBlendFunci(int, int, int); + method public static void glColorMaski(int, boolean, boolean, boolean, boolean); + method public static void glCopyImageSubData(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); + method public static void glDebugMessageCallback(android.opengl.GLES32.DebugProc); + method public static void glDebugMessageControl(int, int, int, int, int[], int, boolean); + method public static void glDebugMessageControl(int, int, int, int, java.nio.IntBuffer, boolean); + method public static void glDebugMessageInsert(int, int, int, int, int, java.lang.String); + method public static void glDisablei(int, int); + method public static void glDrawElementsBaseVertex(int, int, int, java.nio.Buffer, int); + method public static void glDrawElementsInstancedBaseVertex(int, int, int, java.nio.Buffer, int, int); + method public static void glDrawElementsInstancedBaseVertex(int, int, int, int, int, int); + method public static void glDrawRangeElementsBaseVertex(int, int, int, int, int, java.nio.Buffer, int); + method public static void glEnablei(int, int); + method public static void glFramebufferTexture(int, int, int, int); + method public static int glGetDebugMessageLog(int, int, int[], int, int[], int, int[], int, int[], int, int[], int, byte[], int); + method public static int glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer); + method public static java.lang.String[] glGetDebugMessageLog(int, int[], int, int[], int, int[], int, int[], int); + method public static java.lang.String[] glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer); + method public static int glGetGraphicsResetStatus(); + method public static java.lang.String glGetObjectLabel(int, int); + method public static java.lang.String glGetObjectPtrLabel(long); + method public static long glGetPointerv(int); + method public static void glGetSamplerParameterIiv(int, int, int[], int); + method public static void glGetSamplerParameterIiv(int, int, java.nio.IntBuffer); + method public static void glGetSamplerParameterIuiv(int, int, int[], int); + method public static void glGetSamplerParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glGetTexParameterIiv(int, int, int[], int); + method public static void glGetTexParameterIiv(int, int, java.nio.IntBuffer); + method public static void glGetTexParameterIuiv(int, int, int[], int); + method public static void glGetTexParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glGetnUniformfv(int, int, int, float[], int); + method public static void glGetnUniformfv(int, int, int, java.nio.FloatBuffer); + method public static void glGetnUniformiv(int, int, int, int[], int); + method public static void glGetnUniformiv(int, int, int, java.nio.IntBuffer); + method public static void glGetnUniformuiv(int, int, int, int[], int); + method public static void glGetnUniformuiv(int, int, int, java.nio.IntBuffer); + method public static boolean glIsEnabledi(int, int); + method public static void glMinSampleShading(float); + method public static void glObjectLabel(int, int, int, java.lang.String); + method public static void glObjectPtrLabel(long, java.lang.String); + method public static void glPatchParameteri(int, int); + method public static void glPopDebugGroup(); + method public static void glPrimitiveBoundingBox(float, float, float, float, float, float, float, float); + method public static void glPushDebugGroup(int, int, int, java.lang.String); + method public static void glReadnPixels(int, int, int, int, int, int, int, java.nio.Buffer); + method public static void glSamplerParameterIiv(int, int, int[], int); + method public static void glSamplerParameterIiv(int, int, java.nio.IntBuffer); + method public static void glSamplerParameterIuiv(int, int, int[], int); + method public static void glSamplerParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glTexBuffer(int, int, int); + method public static void glTexBufferRange(int, int, int, int, int); + method public static void glTexParameterIiv(int, int, int[], int); + method public static void glTexParameterIiv(int, int, java.nio.IntBuffer); + method public static void glTexParameterIuiv(int, int, int[], int); + method public static void glTexParameterIuiv(int, int, java.nio.IntBuffer); + method public static void glTexStorage3DMultisample(int, int, int, int, int, int, boolean); + field public static final int GL_BUFFER = 33504; // 0x82e0 + field public static final int GL_CLAMP_TO_BORDER = 33069; // 0x812d + field public static final int GL_COLORBURN = 37530; // 0x929a + field public static final int GL_COLORDODGE = 37529; // 0x9299 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x10 = 37819; // 0x93bb + field public static final int GL_COMPRESSED_RGBA_ASTC_10x5 = 37816; // 0x93b8 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x6 = 37817; // 0x93b9 + field public static final int GL_COMPRESSED_RGBA_ASTC_10x8 = 37818; // 0x93ba + field public static final int GL_COMPRESSED_RGBA_ASTC_12x10 = 37820; // 0x93bc + field public static final int GL_COMPRESSED_RGBA_ASTC_12x12 = 37821; // 0x93bd + field public static final int GL_COMPRESSED_RGBA_ASTC_4x4 = 37808; // 0x93b0 + field public static final int GL_COMPRESSED_RGBA_ASTC_5x4 = 37809; // 0x93b1 + field public static final int GL_COMPRESSED_RGBA_ASTC_5x5 = 37810; // 0x93b2 + field public static final int GL_COMPRESSED_RGBA_ASTC_6x5 = 37811; // 0x93b3 + field public static final int GL_COMPRESSED_RGBA_ASTC_6x6 = 37812; // 0x93b4 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x5 = 37813; // 0x93b5 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x6 = 37814; // 0x93b6 + field public static final int GL_COMPRESSED_RGBA_ASTC_8x8 = 37815; // 0x93b7 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 37851; // 0x93db + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 37848; // 0x93d8 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 37849; // 0x93d9 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 37850; // 0x93da + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 37852; // 0x93dc + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 37853; // 0x93dd + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 37840; // 0x93d0 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 37841; // 0x93d1 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 37842; // 0x93d2 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 37843; // 0x93d3 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 37844; // 0x93d4 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 37845; // 0x93d5 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 37846; // 0x93d6 + field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 37847; // 0x93d7 + field public static final int GL_CONTEXT_FLAGS = 33310; // 0x821e + field public static final int GL_CONTEXT_FLAG_DEBUG_BIT = 2; // 0x2 + field public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 4; // 0x4 + field public static final int GL_CONTEXT_LOST = 1287; // 0x507 + field public static final int GL_DARKEN = 37527; // 0x9297 + field public static final int GL_DEBUG_CALLBACK_FUNCTION = 33348; // 0x8244 + field public static final int GL_DEBUG_CALLBACK_USER_PARAM = 33349; // 0x8245 + field public static final int GL_DEBUG_GROUP_STACK_DEPTH = 33389; // 0x826d + field public static final int GL_DEBUG_LOGGED_MESSAGES = 37189; // 0x9145 + field public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; // 0x8243 + field public static final int GL_DEBUG_OUTPUT = 37600; // 0x92e0 + field public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS = 33346; // 0x8242 + field public static final int GL_DEBUG_SEVERITY_HIGH = 37190; // 0x9146 + field public static final int GL_DEBUG_SEVERITY_LOW = 37192; // 0x9148 + field public static final int GL_DEBUG_SEVERITY_MEDIUM = 37191; // 0x9147 + field public static final int GL_DEBUG_SEVERITY_NOTIFICATION = 33387; // 0x826b + field public static final int GL_DEBUG_SOURCE_API = 33350; // 0x8246 + field public static final int GL_DEBUG_SOURCE_APPLICATION = 33354; // 0x824a + field public static final int GL_DEBUG_SOURCE_OTHER = 33355; // 0x824b + field public static final int GL_DEBUG_SOURCE_SHADER_COMPILER = 33352; // 0x8248 + field public static final int GL_DEBUG_SOURCE_THIRD_PARTY = 33353; // 0x8249 + field public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM = 33351; // 0x8247 + field public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; // 0x824d + field public static final int GL_DEBUG_TYPE_ERROR = 33356; // 0x824c + field public static final int GL_DEBUG_TYPE_MARKER = 33384; // 0x8268 + field public static final int GL_DEBUG_TYPE_OTHER = 33361; // 0x8251 + field public static final int GL_DEBUG_TYPE_PERFORMANCE = 33360; // 0x8250 + field public static final int GL_DEBUG_TYPE_POP_GROUP = 33386; // 0x826a + field public static final int GL_DEBUG_TYPE_PORTABILITY = 33359; // 0x824f + field public static final int GL_DEBUG_TYPE_PUSH_GROUP = 33385; // 0x8269 + field public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; // 0x824e + field public static final int GL_DIFFERENCE = 37534; // 0x929e + field public static final int GL_EXCLUSION = 37536; // 0x92a0 + field public static final int GL_FIRST_VERTEX_CONVENTION = 36429; // 0x8e4d + field public static final int GL_FRACTIONAL_EVEN = 36476; // 0x8e7c + field public static final int GL_FRACTIONAL_ODD = 36475; // 0x8e7b + field public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 36445; // 0x8e5d + field public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 36263; // 0x8da7 + field public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS = 37650; // 0x9312 + field public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 36264; // 0x8da8 + field public static final int GL_GEOMETRY_INPUT_TYPE = 35095; // 0x8917 + field public static final int GL_GEOMETRY_OUTPUT_TYPE = 35096; // 0x8918 + field public static final int GL_GEOMETRY_SHADER = 36313; // 0x8dd9 + field public static final int GL_GEOMETRY_SHADER_BIT = 4; // 0x4 + field public static final int GL_GEOMETRY_SHADER_INVOCATIONS = 34943; // 0x887f + field public static final int GL_GEOMETRY_VERTICES_OUT = 35094; // 0x8916 + field public static final int GL_GUILTY_CONTEXT_RESET = 33363; // 0x8253 + field public static final int GL_HARDLIGHT = 37531; // 0x929b + field public static final int GL_HSL_COLOR = 37551; // 0x92af + field public static final int GL_HSL_HUE = 37549; // 0x92ad + field public static final int GL_HSL_LUMINOSITY = 37552; // 0x92b0 + field public static final int GL_HSL_SATURATION = 37550; // 0x92ae + field public static final int GL_IMAGE_BUFFER = 36945; // 0x9051 + field public static final int GL_IMAGE_CUBE_MAP_ARRAY = 36948; // 0x9054 + field public static final int GL_INNOCENT_CONTEXT_RESET = 33364; // 0x8254 + field public static final int GL_INT_IMAGE_BUFFER = 36956; // 0x905c + field public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY = 36959; // 0x905f + field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37132; // 0x910c + field public static final int GL_INT_SAMPLER_BUFFER = 36304; // 0x8dd0 + field public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY = 36878; // 0x900e + field public static final int GL_ISOLINES = 36474; // 0x8e7a + field public static final int GL_IS_PER_PATCH = 37607; // 0x92e7 + field public static final int GL_LAST_VERTEX_CONVENTION = 36430; // 0x8e4e + field public static final int GL_LAYER_PROVOKING_VERTEX = 33374; // 0x825e + field public static final int GL_LIGHTEN = 37528; // 0x9298 + field public static final int GL_LINES_ADJACENCY = 10; // 0xa + field public static final int GL_LINE_STRIP_ADJACENCY = 11; // 0xb + field public static final int GL_LOSE_CONTEXT_ON_RESET = 33362; // 0x8252 + field public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 35378; // 0x8a32 + field public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 36382; // 0x8e1e + field public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 36383; // 0x8e1f + field public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH = 33388; // 0x826c + field public static final int GL_MAX_DEBUG_LOGGED_MESSAGES = 37188; // 0x9144 + field public static final int GL_MAX_DEBUG_MESSAGE_LENGTH = 37187; // 0x9143 + field public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 36444; // 0x8e5c + field public static final int GL_MAX_FRAMEBUFFER_LAYERS = 37655; // 0x9317 + field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 37589; // 0x92d5 + field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 37583; // 0x92cf + field public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 37069; // 0x90cd + field public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 37155; // 0x9123 + field public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 37156; // 0x9124 + field public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 36320; // 0x8de0 + field public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 36442; // 0x8e5a + field public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 37079; // 0x90d7 + field public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 35881; // 0x8c29 + field public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 36321; // 0x8de1 + field public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 35372; // 0x8a2c + field public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 36319; // 0x8ddf + field public static final int GL_MAX_LABEL_LENGTH = 33512; // 0x82e8 + field public static final int GL_MAX_PATCH_VERTICES = 36477; // 0x8e7d + field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 37587; // 0x92d3 + field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 37581; // 0x92cd + field public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 37067; // 0x90cb + field public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 34924; // 0x886c + field public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 36483; // 0x8e83 + field public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 37080; // 0x90d8 + field public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 36481; // 0x8e81 + field public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 36485; // 0x8e85 + field public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 36489; // 0x8e89 + field public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 36479; // 0x8e7f + field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 37588; // 0x92d4 + field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 37582; // 0x92ce + field public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 37068; // 0x90cc + field public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 34925; // 0x886d + field public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 36486; // 0x8e86 + field public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 37081; // 0x90d9 + field public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 36482; // 0x8e82 + field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 36490; // 0x8e8a + field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 36480; // 0x8e80 + field public static final int GL_MAX_TESS_GEN_LEVEL = 36478; // 0x8e7e + field public static final int GL_MAX_TESS_PATCH_COMPONENTS = 36484; // 0x8e84 + field public static final int GL_MAX_TEXTURE_BUFFER_SIZE = 35883; // 0x8c2b + field public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 36443; // 0x8e5b + field public static final int GL_MIN_SAMPLE_SHADING_VALUE = 35895; // 0x8c37 + field public static final int GL_MULTIPLY = 37524; // 0x9294 + field public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 37762; // 0x9382 + field public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE = 37761; // 0x9381 + field public static final int GL_NO_RESET_NOTIFICATION = 33377; // 0x8261 + field public static final int GL_OVERLAY = 37526; // 0x9296 + field public static final int GL_PATCHES = 14; // 0xe + field public static final int GL_PATCH_VERTICES = 36466; // 0x8e72 + field public static final int GL_PRIMITIVES_GENERATED = 35975; // 0x8c87 + field public static final int GL_PRIMITIVE_BOUNDING_BOX = 37566; // 0x92be + field public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313; // 0x8221 + field public static final int GL_PROGRAM = 33506; // 0x82e2 + field public static final int GL_PROGRAM_PIPELINE = 33508; // 0x82e4 + field public static final int GL_QUADS = 7; // 0x7 + field public static final int GL_QUERY = 33507; // 0x82e3 + field public static final int GL_REFERENCED_BY_GEOMETRY_SHADER = 37641; // 0x9309 + field public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER = 37639; // 0x9307 + field public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 37640; // 0x9308 + field public static final int GL_RESET_NOTIFICATION_STRATEGY = 33366; // 0x8256 + field public static final int GL_SAMPLER = 33510; // 0x82e6 + field public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 37131; // 0x910b + field public static final int GL_SAMPLER_BUFFER = 36290; // 0x8dc2 + field public static final int GL_SAMPLER_CUBE_MAP_ARRAY = 36876; // 0x900c + field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 36877; // 0x900d + field public static final int GL_SAMPLE_SHADING = 35894; // 0x8c36 + field public static final int GL_SCREEN = 37525; // 0x9295 + field public static final int GL_SHADER = 33505; // 0x82e1 + field public static final int GL_SOFTLIGHT = 37532; // 0x929c + field public static final int GL_STACK_OVERFLOW = 1283; // 0x503 + field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504 + field public static final int GL_TESS_CONTROL_OUTPUT_VERTICES = 36469; // 0x8e75 + field public static final int GL_TESS_CONTROL_SHADER = 36488; // 0x8e88 + field public static final int GL_TESS_CONTROL_SHADER_BIT = 8; // 0x8 + field public static final int GL_TESS_EVALUATION_SHADER = 36487; // 0x8e87 + field public static final int GL_TESS_EVALUATION_SHADER_BIT = 16; // 0x10 + field public static final int GL_TESS_GEN_MODE = 36470; // 0x8e76 + field public static final int GL_TESS_GEN_POINT_MODE = 36473; // 0x8e79 + field public static final int GL_TESS_GEN_SPACING = 36471; // 0x8e77 + field public static final int GL_TESS_GEN_VERTEX_ORDER = 36472; // 0x8e78 + field public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 37122; // 0x9102 + field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 37125; // 0x9105 + field public static final int GL_TEXTURE_BINDING_BUFFER = 35884; // 0x8c2c + field public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 36874; // 0x900a + field public static final int GL_TEXTURE_BORDER_COLOR = 4100; // 0x1004 + field public static final int GL_TEXTURE_BUFFER = 35882; // 0x8c2a + field public static final int GL_TEXTURE_BUFFER_BINDING = 35882; // 0x8c2a + field public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 35885; // 0x8c2d + field public static final int GL_TEXTURE_BUFFER_OFFSET = 37277; // 0x919d + field public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 37279; // 0x919f + field public static final int GL_TEXTURE_BUFFER_SIZE = 37278; // 0x919e + field public static final int GL_TEXTURE_CUBE_MAP_ARRAY = 36873; // 0x9009 + field public static final int GL_TRIANGLES_ADJACENCY = 12; // 0xc + field public static final int GL_TRIANGLE_STRIP_ADJACENCY = 13; // 0xd + field public static final int GL_UNDEFINED_VERTEX = 33376; // 0x8260 + field public static final int GL_UNKNOWN_CONTEXT_RESET = 33365; // 0x8255 + field public static final int GL_UNSIGNED_INT_IMAGE_BUFFER = 36967; // 0x9067 + field public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 36970; // 0x906a + field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37133; // 0x910d + field public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER = 36312; // 0x8dd8 + field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 36879; // 0x900f + field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074 + } + + public static abstract interface GLES32.DebugProc { + method public abstract void onMessage(int, int, int, int, java.lang.String); + } + public class GLException extends java.lang.RuntimeException { ctor public GLException(int); ctor public GLException(int, java.lang.String); diff --git a/core/jni/Android.mk b/core/jni/Android.mk index a9a198bc40d1..2460b6bcd0a2 100644 --- a/core/jni/Android.mk +++ b/core/jni/Android.mk @@ -43,6 +43,7 @@ LOCAL_SRC_FILES:= \ android_opengl_GLES30.cpp \ android_opengl_GLES31.cpp \ android_opengl_GLES31Ext.cpp \ + android_opengl_GLES32.cpp \ android_database_CursorWindow.cpp \ android_database_SQLiteCommon.cpp \ android_database_SQLiteConnection.cpp \ diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index f6f45b5a4efa..c44a62c08020 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -80,6 +80,7 @@ extern int register_android_opengl_jni_GLES20(JNIEnv* env); extern int register_android_opengl_jni_GLES30(JNIEnv* env); extern int register_android_opengl_jni_GLES31(JNIEnv* env); extern int register_android_opengl_jni_GLES31Ext(JNIEnv* env); +extern int register_android_opengl_jni_GLES32(JNIEnv* env); extern int register_android_hardware_Camera(JNIEnv *env); extern int register_android_hardware_camera2_CameraMetadata(JNIEnv *env); @@ -1280,6 +1281,7 @@ static const RegJNIRec gRegJNI[] = { REG_JNI(register_android_opengl_jni_GLES30), REG_JNI(register_android_opengl_jni_GLES31), REG_JNI(register_android_opengl_jni_GLES31Ext), + REG_JNI(register_android_opengl_jni_GLES32), REG_JNI(register_android_graphics_Bitmap), REG_JNI(register_android_graphics_BitmapFactory), diff --git a/core/jni/android_opengl_GLES32.cpp b/core/jni/android_opengl_GLES32.cpp new file mode 100644 index 000000000000..f9a1a8ea0d74 --- /dev/null +++ b/core/jni/android_opengl_GLES32.cpp @@ -0,0 +1,1999 @@ +/* + * Copyright 2015 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 + +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#pragma GCC diagnostic ignored "-Wunused-function" + +#include <stdint.h> +#include <GLES3/gl32.h> +#include <jni.h> +#include <JNIHelp.h> +#include <android_runtime/AndroidRuntime.h> +#include <utils/misc.h> +#include <assert.h> + +static int initialized = 0; + +static jclass nioAccessClass; +static jclass bufferClass; +static jmethodID getBasePointerID; +static jmethodID getBaseArrayID; +static jmethodID getBaseArrayOffsetID; +static jfieldID positionID; +static jfieldID limitID; +static jfieldID elementSizeShiftID; + + +/* special calls implemented in Android's GLES wrapper used to more + * efficiently bound-check passed arrays */ +extern "C" { +#ifdef GL_VERSION_ES_CM_1_1 +GL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, + const GLvoid *ptr, GLsizei count); +GL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, + const GLvoid *pointer, GLsizei count); +GL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, + GLsizei stride, const GLvoid *pointer, GLsizei count); +GL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, + GLsizei stride, const GLvoid *pointer, GLsizei count); +GL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type, + GLsizei stride, const GLvoid *pointer, GLsizei count); +GL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type, + GLsizei stride, const GLvoid *pointer, GLsizei count); +GL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type, + GLsizei stride, const GLvoid *pointer, GLsizei count); +#endif +#ifdef GL_ES_VERSION_2_0 +static void glVertexAttribPointerBounds(GLuint indx, GLint size, GLenum type, + GLboolean normalized, GLsizei stride, const GLvoid *pointer, GLsizei count) { + glVertexAttribPointer(indx, size, type, normalized, stride, pointer); +} +#endif +#ifdef GL_ES_VERSION_3_0 +static void glVertexAttribIPointerBounds(GLuint indx, GLint size, GLenum type, + GLsizei stride, const GLvoid *pointer, GLsizei count) { + glVertexAttribIPointer(indx, size, type, stride, pointer); +} +#endif +} + +/* Cache method IDs each time the class is loaded. */ + +static void +nativeClassInit(JNIEnv *_env, jclass glImplClass) +{ + jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); + nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); + + jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); + bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); + + getBasePointerID = _env->GetStaticMethodID(nioAccessClass, + "getBasePointer", "(Ljava/nio/Buffer;)J"); + getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); + getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, + "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); + + positionID = _env->GetFieldID(bufferClass, "position", "I"); + limitID = _env->GetFieldID(bufferClass, "limit", "I"); + elementSizeShiftID = + _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); +} + +static void * +getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset) +{ + jint position; + jint limit; + jint elementSizeShift; + jlong pointer; + + position = _env->GetIntField(buffer, positionID); + limit = _env->GetIntField(buffer, limitID); + elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); + *remaining = (limit - position) << elementSizeShift; + pointer = _env->CallStaticLongMethod(nioAccessClass, + getBasePointerID, buffer); + if (pointer != 0L) { + *array = NULL; + return reinterpret_cast<void*>(pointer); + } + + *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, + getBaseArrayID, buffer); + *offset = _env->CallStaticIntMethod(nioAccessClass, + getBaseArrayOffsetID, buffer); + + return NULL; +} + +class ByteArrayGetter { +public: + static void* Get(JNIEnv* _env, jbyteArray array, jboolean* is_copy) { + return _env->GetByteArrayElements(array, is_copy); + } +}; +class BooleanArrayGetter { +public: + static void* Get(JNIEnv* _env, jbooleanArray array, jboolean* is_copy) { + return _env->GetBooleanArrayElements(array, is_copy); + } +}; +class CharArrayGetter { +public: + static void* Get(JNIEnv* _env, jcharArray array, jboolean* is_copy) { + return _env->GetCharArrayElements(array, is_copy); + } +}; +class ShortArrayGetter { +public: + static void* Get(JNIEnv* _env, jshortArray array, jboolean* is_copy) { + return _env->GetShortArrayElements(array, is_copy); + } +}; +class IntArrayGetter { +public: + static void* Get(JNIEnv* _env, jintArray array, jboolean* is_copy) { + return _env->GetIntArrayElements(array, is_copy); + } +}; +class LongArrayGetter { +public: + static void* Get(JNIEnv* _env, jlongArray array, jboolean* is_copy) { + return _env->GetLongArrayElements(array, is_copy); + } +}; +class FloatArrayGetter { +public: + static void* Get(JNIEnv* _env, jfloatArray array, jboolean* is_copy) { + return _env->GetFloatArrayElements(array, is_copy); + } +}; +class DoubleArrayGetter { +public: + static void* Get(JNIEnv* _env, jdoubleArray array, jboolean* is_copy) { + return _env->GetDoubleArrayElements(array, is_copy); + } +}; + +template<typename JTYPEARRAY, typename ARRAYGETTER> +static void* +getArrayPointer(JNIEnv *_env, JTYPEARRAY array, jboolean* is_copy) { + return ARRAYGETTER::Get(_env, array, is_copy); +} + +class ByteArrayReleaser { +public: + static void Release(JNIEnv* _env, jbyteArray array, jbyte* data, jboolean commit) { + _env->ReleaseByteArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; +class BooleanArrayReleaser { +public: + static void Release(JNIEnv* _env, jbooleanArray array, jboolean* data, jboolean commit) { + _env->ReleaseBooleanArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; +class CharArrayReleaser { +public: + static void Release(JNIEnv* _env, jcharArray array, jchar* data, jboolean commit) { + _env->ReleaseCharArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; +class ShortArrayReleaser { +public: + static void Release(JNIEnv* _env, jshortArray array, jshort* data, jboolean commit) { + _env->ReleaseShortArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; +class IntArrayReleaser { +public: + static void Release(JNIEnv* _env, jintArray array, jint* data, jboolean commit) { + _env->ReleaseIntArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; +class LongArrayReleaser { +public: + static void Release(JNIEnv* _env, jlongArray array, jlong* data, jboolean commit) { + _env->ReleaseLongArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; +class FloatArrayReleaser { +public: + static void Release(JNIEnv* _env, jfloatArray array, jfloat* data, jboolean commit) { + _env->ReleaseFloatArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; +class DoubleArrayReleaser { +public: + static void Release(JNIEnv* _env, jdoubleArray array, jdouble* data, jboolean commit) { + _env->ReleaseDoubleArrayElements(array, data, commit ? 0 : JNI_ABORT); + } +}; + +template<typename JTYPEARRAY, typename NTYPEARRAY, typename ARRAYRELEASER> +static void +releaseArrayPointer(JNIEnv *_env, JTYPEARRAY array, NTYPEARRAY data, jboolean commit) { + ARRAYRELEASER::Release(_env, array, data, commit); +} + +static void +releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) +{ + _env->ReleasePrimitiveArrayCritical(array, data, + commit ? 0 : JNI_ABORT); +} + +static void * +getDirectBufferPointer(JNIEnv *_env, jobject buffer) { + char* buf = (char*) _env->GetDirectBufferAddress(buffer); + if (buf) { + jint position = _env->GetIntField(buffer, positionID); + jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); + buf += position << elementSizeShift; + } else { + jniThrowException(_env, "java/lang/IllegalArgumentException", + "Must use a native order direct Buffer"); + } + return (void*) buf; +} + +// -------------------------------------------------------------------------- + +/* + * returns the number of values glGet returns for a given pname. + * + * The code below is written such that pnames requiring only one values + * are the default (and are not explicitely tested for). This makes the + * checking code much shorter/readable/efficient. + * + * This means that unknown pnames (e.g.: extensions) will default to 1. If + * that unknown pname needs more than 1 value, then the validation check + * is incomplete and the app may crash if it passed the wrong number params. + */ +static int getNeededCount(GLint pname) { + int needed = 1; +#ifdef GL_ES_VERSION_2_0 + // GLES 2.x pnames + switch (pname) { + case GL_ALIASED_LINE_WIDTH_RANGE: + case GL_ALIASED_POINT_SIZE_RANGE: + needed = 2; + break; + + case GL_BLEND_COLOR: + case GL_COLOR_CLEAR_VALUE: + case GL_COLOR_WRITEMASK: + case GL_SCISSOR_BOX: + case GL_VIEWPORT: + needed = 4; + break; + + case GL_COMPRESSED_TEXTURE_FORMATS: + glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed); + break; + + case GL_SHADER_BINARY_FORMATS: + glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &needed); + break; + } +#endif + +#ifdef GL_VERSION_ES_CM_1_1 + // GLES 1.x pnames + switch (pname) { + case GL_ALIASED_LINE_WIDTH_RANGE: + case GL_ALIASED_POINT_SIZE_RANGE: + case GL_DEPTH_RANGE: + case GL_SMOOTH_LINE_WIDTH_RANGE: + case GL_SMOOTH_POINT_SIZE_RANGE: + needed = 2; + break; + + case GL_CURRENT_NORMAL: + case GL_POINT_DISTANCE_ATTENUATION: + needed = 3; + break; + + case GL_COLOR_CLEAR_VALUE: + case GL_COLOR_WRITEMASK: + case GL_CURRENT_COLOR: + case GL_CURRENT_TEXTURE_COORDS: + case GL_FOG_COLOR: + case GL_LIGHT_MODEL_AMBIENT: + case GL_SCISSOR_BOX: + case GL_VIEWPORT: + needed = 4; + break; + + case GL_MODELVIEW_MATRIX: + case GL_PROJECTION_MATRIX: + case GL_TEXTURE_MATRIX: + needed = 16; + break; + + case GL_COMPRESSED_TEXTURE_FORMATS: + glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed); + break; + } +#endif + return needed; +} + +template <typename JTYPEARRAY, typename ARRAYGETTER, typename NTYPEARRAY, + typename ARRAYRELEASER, typename CTYPE, void GET(GLenum, CTYPE*)> +static void +get + (JNIEnv *_env, jobject _this, jint pname, JTYPEARRAY params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType; + const char * _exceptionMessage; + CTYPE *params_base = (CTYPE *) 0; + jint _remaining; + CTYPE *params = (CTYPE *) 0; + int _needed = 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + _needed = getNeededCount(pname); + // if we didn't find this pname, we just assume the user passed + // an array of the right size -- this might happen with extensions + // or if we forget an enum here. + if (_remaining < _needed) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "length - offset < needed"; + goto exit; + } + params_base = (CTYPE *) getArrayPointer<JTYPEARRAY, ARRAYGETTER>( + _env, params_ref, (jboolean *)0); + params = params_base + offset; + + GET( + (GLenum)pname, + (CTYPE *)params + ); + +exit: + if (params_base) { + releaseArrayPointer<JTYPEARRAY, NTYPEARRAY, ARRAYRELEASER>( + _env, params_ref, params_base, !_exception); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + + +template <typename CTYPE, typename JTYPEARRAY, typename ARRAYGETTER, typename NTYPEARRAY, + typename ARRAYRELEASER, void GET(GLenum, CTYPE*)> +static void +getarray + (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { + jint _exception = 0; + const char * _exceptionType; + const char * _exceptionMessage; + JTYPEARRAY _array = (JTYPEARRAY) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + CTYPE *params = (CTYPE *) 0; + int _needed = 0; + + params = (CTYPE *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + _remaining /= sizeof(CTYPE); // convert from bytes to item count + _needed = getNeededCount(pname); + // if we didn't find this pname, we just assume the user passed + // an array of the right size -- this might happen with extensions + // or if we forget an enum here. + if (_needed>0 && _remaining < _needed) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "remaining() < needed"; + goto exit; + } + if (params == NULL) { + char * _paramsBase = (char *) getArrayPointer<JTYPEARRAY, ARRAYGETTER>( + _env, _array, (jboolean *) 0); + params = (CTYPE *) (_paramsBase + _bufferOffset); + } + GET( + (GLenum)pname, + (CTYPE *)params + ); + +exit: + if (_array) { + releaseArrayPointer<JTYPEARRAY, NTYPEARRAY, ARRAYRELEASER>( + _env, _array, (NTYPEARRAY)params, _exception ? JNI_FALSE : JNI_TRUE); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +// -------------------------------------------------------------------------- +/* void glBlendBarrier ( void ) */ +static void +android_glBlendBarrier__ + (JNIEnv *_env, jobject _this) { + glBlendBarrier(); +} + +/* void glCopyImageSubData ( 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 ) */ +static void +android_glCopyImageSubData__IIIIIIIIIIIIIII + (JNIEnv *_env, jobject _this, jint srcName, jint srcTarget, jint srcLevel, jint srcX, jint srcY, jint srcZ, jint dstName, jint dstTarget, jint dstLevel, jint dstX, jint dstY, jint dstZ, jint srcWidth, jint srcHeight, jint srcDepth) { + glCopyImageSubData( + (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 glDebugMessageControl ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) */ +static void +android_glDebugMessageControl__IIII_3IIZ + (JNIEnv *_env, jobject _this, jint source, jint type, jint severity, jint count, jintArray ids_ref, jint offset, jboolean enabled) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLuint *ids_base = (GLuint *) 0; + jint _remaining; + GLuint *ids = (GLuint *) 0; + + if (!ids_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "ids == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(ids_ref) - offset; + if (_remaining < count) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "length - offset < count < needed"; + goto exit; + } + ids_base = (GLuint *) + _env->GetIntArrayElements(ids_ref, (jboolean *)0); + ids = ids_base + offset; + + glDebugMessageControl( + (GLenum)source, + (GLenum)type, + (GLenum)severity, + (GLsizei)count, + (GLuint *)ids, + (GLboolean)enabled + ); + +exit: + if (ids_base) { + _env->ReleaseIntArrayElements(ids_ref, (jint*)ids_base, + JNI_ABORT); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glDebugMessageControl ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) */ +static void +android_glDebugMessageControl__IIIILjava_nio_IntBuffer_2Z + (JNIEnv *_env, jobject _this, jint source, jint type, jint severity, jint count, jobject ids_buf, jboolean enabled) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLuint *ids = (GLuint *) 0; + + ids = (GLuint *)getPointer(_env, ids_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (_remaining < count) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "remaining() < count < needed"; + goto exit; + } + if (ids == NULL) { + char * _idsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + ids = (GLuint *) (_idsBase + _bufferOffset); + } + glDebugMessageControl( + (GLenum)source, + (GLenum)type, + (GLenum)severity, + (GLsizei)count, + (GLuint *)ids, + (GLboolean)enabled + ); + +exit: + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)ids, JNI_ABORT); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glDebugMessageInsert ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) */ +static void +android_glDebugMessageInsert__IIIIILjava_lang_String_2 + (JNIEnv *_env, jobject _this, jint source, jint type, jint id, jint severity, jint length, jstring buf) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + const char* _nativebuf = 0; + + if (!buf) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "buf == null"; + goto exit; + } + _nativebuf = _env->GetStringUTFChars(buf, 0); + + glDebugMessageInsert( + (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); + } +} + +/* void glDebugMessageCallback ( GLDEBUGPROC callback, const void *userParam ) */ +static void +android_glDebugMessageCallback(JNIEnv *_env, jobject _this, jobject callback) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); +} +/* GLuint glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static jint +android_glGetDebugMessageLog__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 glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static uint +android_glGetDebugMessageLog__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 glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static jobjectArray +android_glGetDebugMessageLog__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 glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */ +static jobjectArray +android_glGetDebugMessageLog__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; +} +/* void glPushDebugGroup ( GLenum source, GLuint id, GLsizei length, const GLchar *message ) */ +static void +android_glPushDebugGroup__IIILjava_lang_String_2 + (JNIEnv *_env, jobject _this, jint source, jint id, jint length, jstring message) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + const char* _nativemessage = 0; + jsize _stringlen = 0; + + if (!message) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "message == null"; + goto exit; + } + _nativemessage = _env->GetStringUTFChars(message, 0); + _stringlen = _env->GetStringUTFLength(message); + if (length > _stringlen) { + _exception = 1; + _exceptionType = "java/lang/ArrayIndexOutOfBoundsException"; + _exceptionMessage = "length of message is shorter than length argument"; + goto exit; + } + + glPushDebugGroup( + (GLenum)source, + (GLuint)id, + (GLsizei)length, + (GLchar *)_nativemessage + ); + +exit: + if (_nativemessage) { + _env->ReleaseStringUTFChars(message, _nativemessage); + } + + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glPopDebugGroup ( void ) */ +static void +android_glPopDebugGroup__ + (JNIEnv *_env, jobject _this) { + glPopDebugGroup(); +} + +/* void glObjectLabel ( GLenum identifier, GLuint name, GLsizei length, const GLchar *label ) */ +static void +android_glObjectLabel__IIILjava_lang_String_2 + (JNIEnv *_env, jobject _this, jint identifier, jint name, jint length, jstring label) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + const char* _nativelabel = 0; + jsize _stringlen = 0; + + if (label) { + _nativelabel = _env->GetStringUTFChars(label, 0); + _stringlen = _env->GetStringUTFLength(label); + if (length > _stringlen) { + _exception = 1; + _exceptionType = "java/lang/ArrayIndexOutOfBoundsException"; + _exceptionMessage = "length of label is shorter than length argument"; + goto exit; + } + } + + glObjectLabel( + (GLenum)identifier, + (GLuint)name, + (GLsizei)length, + (GLchar *)_nativelabel + ); + +exit: + if (_nativelabel) { + _env->ReleaseStringUTFChars(label, _nativelabel); + } + + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetObjectLabel ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) */ +static jstring +android_glGetObjectLabel(JNIEnv *_env, jobject _this, jint identifier, jint name) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return NULL; +} + +/* void glObjectPtrLabel ( const void *ptr, GLsizei length, const GLchar *label ) */ +static void +android_glObjectPtrLabel(JNIEnv *_env, jobject _this, jlong ptr, jstring label) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); +} + +/* void glGetObjectPtrLabel ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) */ +static jstring +android_glGetObjectPtrLabel(JNIEnv *_env, jobject _this, jlong ptr) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return NULL; +} + +/* void glGetPointerv ( GLenum pname, void **params ) */ +static jlong +android_glGetPointerv(JNIEnv *_env, jobject _this, jint pname) { + jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented"); + return NULL; +} + +/* void glEnablei ( GLenum target, GLuint index ) */ +static void +android_glEnablei__II + (JNIEnv *_env, jobject _this, jint target, jint index) { + glEnablei( + (GLenum)target, + (GLuint)index + ); +} + +/* void glDisablei ( GLenum target, GLuint index ) */ +static void +android_glDisablei__II + (JNIEnv *_env, jobject _this, jint target, jint index) { + glDisablei( + (GLenum)target, + (GLuint)index + ); +} + +/* void glBlendEquationi ( GLuint buf, GLenum mode ) */ +static void +android_glBlendEquationi__II + (JNIEnv *_env, jobject _this, jint buf, jint mode) { + glBlendEquationi( + (GLuint)buf, + (GLenum)mode + ); +} + +/* void glBlendEquationSeparatei ( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) */ +static void +android_glBlendEquationSeparatei__III + (JNIEnv *_env, jobject _this, jint buf, jint modeRGB, jint modeAlpha) { + glBlendEquationSeparatei( + (GLuint)buf, + (GLenum)modeRGB, + (GLenum)modeAlpha + ); +} + +/* void glBlendFunci ( GLuint buf, GLenum src, GLenum dst ) */ +static void +android_glBlendFunci__III + (JNIEnv *_env, jobject _this, jint buf, jint src, jint dst) { + glBlendFunci( + (GLuint)buf, + (GLenum)src, + (GLenum)dst + ); +} + +/* void glBlendFuncSeparatei ( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */ +static void +android_glBlendFuncSeparatei__IIIII + (JNIEnv *_env, jobject _this, jint buf, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) { + glBlendFuncSeparatei( + (GLuint)buf, + (GLenum)srcRGB, + (GLenum)dstRGB, + (GLenum)srcAlpha, + (GLenum)dstAlpha + ); +} + +/* void glColorMaski ( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) */ +static void +android_glColorMaski__IZZZZ + (JNIEnv *_env, jobject _this, jint index, jboolean r, jboolean g, jboolean b, jboolean a) { + glColorMaski( + (GLuint)index, + (GLboolean)r, + (GLboolean)g, + (GLboolean)b, + (GLboolean)a + ); +} + +/* GLboolean glIsEnabledi ( GLenum target, GLuint index ) */ +static jboolean +android_glIsEnabledi__II + (JNIEnv *_env, jobject _this, jint target, jint index) { + GLboolean _returnValue; + _returnValue = glIsEnabledi( + (GLenum)target, + (GLuint)index + ); + return (jboolean)_returnValue; +} + +/* void glDrawElementsBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex ) */ +static void +android_glDrawElementsBaseVertex__IIILjava_nio_Buffer_2I + (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf, jint basevertex) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jarray _array = (jarray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + void *indices = (void *) 0; + + indices = (void *)getPointer(_env, indices_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (_remaining < count-basevertex) { + _exception = 1; + _exceptionType = "java/lang/ArrayIndexOutOfBoundsException"; + _exceptionMessage = "remaining() < count-basevertex < needed"; + goto exit; + } + if (indices == NULL) { + char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); + indices = (void *) (_indicesBase + _bufferOffset); + } + glDrawElementsBaseVertex( + (GLenum)mode, + (GLsizei)count, + (GLenum)type, + (void *)indices, + (GLint)basevertex + ); + +exit: + if (_array) { + releasePointer(_env, _array, indices, JNI_FALSE); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glDrawRangeElementsBaseVertex ( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex ) */ +static void +android_glDrawRangeElementsBaseVertex__IIIIILjava_nio_Buffer_2I + (JNIEnv *_env, jobject _this, jint mode, jint start, jint end, jint count, jint type, jobject indices_buf, jint basevertex) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jarray _array = (jarray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + void *indices = (void *) 0; + + indices = (void *)getPointer(_env, indices_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (_remaining < count-basevertex) { + _exception = 1; + _exceptionType = "java/lang/ArrayIndexOutOfBoundsException"; + _exceptionMessage = "remaining() < count-basevertex < needed"; + goto exit; + } + if (indices == NULL) { + char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); + indices = (void *) (_indicesBase + _bufferOffset); + } + glDrawRangeElementsBaseVertex( + (GLenum)mode, + (GLuint)start, + (GLuint)end, + (GLsizei)count, + (GLenum)type, + (void *)indices, + (GLint)basevertex + ); + +exit: + if (_array) { + releasePointer(_env, _array, indices, JNI_FALSE); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex ) */ +static void +android_glDrawElementsInstancedBaseVertex__IIILjava_nio_Buffer_2II + (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf, jint instanceCount, jint basevertex) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jarray _array = (jarray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + void *indices = (void *) 0; + + indices = (void *)getPointer(_env, indices_buf, &_array, &_remaining, &_bufferOffset); + if (_remaining < count-basevertex) { + _exception = 1; + _exceptionType = "java/lang/ArrayIndexOutOfBoundsException"; + _exceptionMessage = "remaining() < count-basevertex < needed"; + goto exit; + } + if (indices == NULL) { + char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); + indices = (void *) (_indicesBase + _bufferOffset); + } + glDrawElementsInstancedBaseVertex( + (GLenum)mode, + (GLsizei)count, + (GLenum)type, + (void *)indices, + (GLsizei)instanceCount, + (GLint) basevertex + ); + +exit: + if (_array) { + releasePointer(_env, _array, indices, JNI_FALSE); + } +} + +/* void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex ) */ +static void +android_glDrawElementsInstancedBaseVertex__IIIIII + (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint indicesOffset, jint instanceCount, jint basevertex) { + glDrawElementsInstancedBaseVertex( + (GLenum)mode, + (GLsizei)count, + (GLenum)type, + (void *)static_cast<uintptr_t>(indicesOffset), + (GLsizei)instanceCount, + (GLint)basevertex + ); +} +/* void glFramebufferTexture ( GLenum target, GLenum attachment, GLuint texture, GLint level ) */ +static void +android_glFramebufferTexture__IIII + (JNIEnv *_env, jobject _this, jint target, jint attachment, jint texture, jint level) { + glFramebufferTexture( + (GLenum)target, + (GLenum)attachment, + (GLuint)texture, + (GLint)level + ); +} + +/* void glPrimitiveBoundingBox ( GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW ) */ +static void +android_glPrimitiveBoundingBox__FFFFFFFF + (JNIEnv *_env, jobject _this, jfloat minX, jfloat minY, jfloat minZ, jfloat minW, jfloat maxX, jfloat maxY, jfloat maxZ, jfloat maxW) { + glPrimitiveBoundingBox( + (GLfloat)minX, + (GLfloat)minY, + (GLfloat)minZ, + (GLfloat)minW, + (GLfloat)maxX, + (GLfloat)maxY, + (GLfloat)maxZ, + (GLfloat)maxW + ); +} + +/* GLenum glGetGraphicsResetStatus ( void ) */ +static jint +android_glGetGraphicsResetStatus__ + (JNIEnv *_env, jobject _this) { + GLenum _returnValue; + _returnValue = glGetGraphicsResetStatus(); + return (jint)_returnValue; +} + +/* void glReadnPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data ) */ +static void +android_glReadnPixels__IIIIIIILjava_nio_Buffer_2 + (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jint bufSize, jobject data_buf) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jarray _array = (jarray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + void *data = (void *) 0; + + data = (void *)getPointer(_env, data_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (_remaining < bufSize) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "remaining() < bufSize < needed"; + goto exit; + } + if (data == NULL) { + char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); + data = (void *) (_dataBase + _bufferOffset); + } + glReadnPixels( + (GLint)x, + (GLint)y, + (GLsizei)width, + (GLsizei)height, + (GLenum)format, + (GLenum)type, + (GLsizei)bufSize, + (void *)data + ); + +exit: + if (_array) { + releasePointer(_env, _array, data, _exception ? JNI_FALSE : JNI_TRUE); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetnUniformfv ( GLuint program, GLint location, GLsizei bufSize, GLfloat *params ) */ +static void +android_glGetnUniformfv__III_3FI + (JNIEnv *_env, jobject _this, jint program, jint location, jint bufSize, jfloatArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLfloat *params_base = (GLfloat *) 0; + jint _remaining; + GLfloat *params = (GLfloat *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + if (_remaining < bufSize) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "length - offset < bufSize < needed"; + goto exit; + } + params_base = (GLfloat *) + _env->GetFloatArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glGetnUniformfv( + (GLuint)program, + (GLint)location, + (GLsizei)bufSize, + (GLfloat *)params + ); + +exit: + if (params_base) { + _env->ReleaseFloatArrayElements(params_ref, (jfloat*)params_base, + _exception ? JNI_ABORT: 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetnUniformfv ( GLuint program, GLint location, GLsizei bufSize, GLfloat *params ) */ +static void +android_glGetnUniformfv__IIILjava_nio_FloatBuffer_2 + (JNIEnv *_env, jobject _this, jint program, jint location, jint bufSize, jobject params_buf) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jfloatArray _array = (jfloatArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLfloat *params = (GLfloat *) 0; + + params = (GLfloat *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (_remaining < bufSize) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "remaining() < bufSize < needed"; + goto exit; + } + if (params == NULL) { + char * _paramsBase = (char *)_env->GetFloatArrayElements(_array, (jboolean *) 0); + params = (GLfloat *) (_paramsBase + _bufferOffset); + } + glGetnUniformfv( + (GLuint)program, + (GLint)location, + (GLsizei)bufSize, + (GLfloat *)params + ); + +exit: + if (_array) { + _env->ReleaseFloatArrayElements(_array, (jfloat*)params, _exception ? JNI_ABORT : 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetnUniformiv ( GLuint program, GLint location, GLsizei bufSize, GLint *params ) */ +static void +android_glGetnUniformiv__III_3II + (JNIEnv *_env, jobject _this, jint program, jint location, jint bufSize, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLint *params_base = (GLint *) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + if (_remaining < bufSize) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "length - offset < bufSize < needed"; + goto exit; + } + params_base = (GLint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glGetnUniformiv( + (GLuint)program, + (GLint)location, + (GLsizei)bufSize, + (GLint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + _exception ? JNI_ABORT: 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetnUniformiv ( GLuint program, GLint location, GLsizei bufSize, GLint *params ) */ +static void +android_glGetnUniformiv__IIILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint program, jint location, jint bufSize, jobject params_buf) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (_remaining < bufSize) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "remaining() < bufSize < needed"; + goto exit; + } + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLint *) (_paramsBase + _bufferOffset); + } + glGetnUniformiv( + (GLuint)program, + (GLint)location, + (GLsizei)bufSize, + (GLint *)params + ); + +exit: + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetnUniformuiv ( GLuint program, GLint location, GLsizei bufSize, GLuint *params ) */ +static void +android_glGetnUniformuiv__III_3II + (JNIEnv *_env, jobject _this, jint program, jint location, jint bufSize, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLuint *params_base = (GLuint *) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + if (_remaining < bufSize) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "length - offset < bufSize < needed"; + goto exit; + } + params_base = (GLuint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glGetnUniformuiv( + (GLuint)program, + (GLint)location, + (GLsizei)bufSize, + (GLuint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + _exception ? JNI_ABORT: 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetnUniformuiv ( GLuint program, GLint location, GLsizei bufSize, GLuint *params ) */ +static void +android_glGetnUniformuiv__IIILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint program, jint location, jint bufSize, jobject params_buf) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + params = (GLuint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (_remaining < bufSize) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "remaining() < bufSize < needed"; + goto exit; + } + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLuint *) (_paramsBase + _bufferOffset); + } + glGetnUniformuiv( + (GLuint)program, + (GLint)location, + (GLsizei)bufSize, + (GLuint *)params + ); + +exit: + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glMinSampleShading ( GLfloat value ) */ +static void +android_glMinSampleShading__F + (JNIEnv *_env, jobject _this, jfloat value) { + glMinSampleShading( + (GLfloat)value + ); +} + +/* void glPatchParameteri ( GLenum pname, GLint value ) */ +static void +android_glPatchParameteri__II + (JNIEnv *_env, jobject _this, jint pname, jint value) { + glPatchParameteri( + (GLenum)pname, + (GLint)value + ); +} + +/* void glTexParameterIiv ( GLenum target, GLenum pname, const GLint *params ) */ +static void +android_glTexParameterIiv__II_3II + (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLint *params_base = (GLint *) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + params_base = (GLint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glTexParameterIiv( + (GLenum)target, + (GLenum)pname, + (GLint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + JNI_ABORT); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glTexParameterIiv ( GLenum target, GLenum pname, const GLint *params ) */ +static void +android_glTexParameterIiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLint *) (_paramsBase + _bufferOffset); + } + glTexParameterIiv( + (GLenum)target, + (GLenum)pname, + (GLint *)params + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); + } +} + +/* void glTexParameterIuiv ( GLenum target, GLenum pname, const GLuint *params ) */ +static void +android_glTexParameterIuiv__II_3II + (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLuint *params_base = (GLuint *) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + params_base = (GLuint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glTexParameterIuiv( + (GLenum)target, + (GLenum)pname, + (GLuint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + JNI_ABORT); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glTexParameterIuiv ( GLenum target, GLenum pname, const GLuint *params ) */ +static void +android_glTexParameterIuiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + params = (GLuint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLuint *) (_paramsBase + _bufferOffset); + } + glTexParameterIuiv( + (GLenum)target, + (GLenum)pname, + (GLuint *)params + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); + } +} + +/* void glGetTexParameterIiv ( GLenum target, GLenum pname, GLint *params ) */ +static void +android_glGetTexParameterIiv__II_3II + (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLint *params_base = (GLint *) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + params_base = (GLint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glGetTexParameterIiv( + (GLenum)target, + (GLenum)pname, + (GLint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + _exception ? JNI_ABORT: 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetTexParameterIiv ( GLenum target, GLenum pname, GLint *params ) */ +static void +android_glGetTexParameterIiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLint *) (_paramsBase + _bufferOffset); + } + glGetTexParameterIiv( + (GLenum)target, + (GLenum)pname, + (GLint *)params + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, 0); + } +} + +/* void glGetTexParameterIuiv ( GLenum target, GLenum pname, GLuint *params ) */ +static void +android_glGetTexParameterIuiv__II_3II + (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLuint *params_base = (GLuint *) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + params_base = (GLuint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glGetTexParameterIuiv( + (GLenum)target, + (GLenum)pname, + (GLuint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + _exception ? JNI_ABORT: 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetTexParameterIuiv ( GLenum target, GLenum pname, GLuint *params ) */ +static void +android_glGetTexParameterIuiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + params = (GLuint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLuint *) (_paramsBase + _bufferOffset); + } + glGetTexParameterIuiv( + (GLenum)target, + (GLenum)pname, + (GLuint *)params + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, 0); + } +} + +/* void glSamplerParameterIiv ( GLuint sampler, GLenum pname, const GLint *param ) */ +static void +android_glSamplerParameterIiv__II_3II + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray param_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLint *param_base = (GLint *) 0; + jint _remaining; + GLint *param = (GLint *) 0; + + if (!param_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "param == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(param_ref) - offset; + param_base = (GLint *) + _env->GetIntArrayElements(param_ref, (jboolean *)0); + param = param_base + offset; + + glSamplerParameterIiv( + (GLuint)sampler, + (GLenum)pname, + (GLint *)param + ); + +exit: + if (param_base) { + _env->ReleaseIntArrayElements(param_ref, (jint*)param_base, + JNI_ABORT); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glSamplerParameterIiv ( GLuint sampler, GLenum pname, const GLint *param ) */ +static void +android_glSamplerParameterIiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject param_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLint *param = (GLint *) 0; + + param = (GLint *)getPointer(_env, param_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (param == NULL) { + char * _paramBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + param = (GLint *) (_paramBase + _bufferOffset); + } + glSamplerParameterIiv( + (GLuint)sampler, + (GLenum)pname, + (GLint *)param + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)param, JNI_ABORT); + } +} + +/* void glSamplerParameterIuiv ( GLuint sampler, GLenum pname, const GLuint *param ) */ +static void +android_glSamplerParameterIuiv__II_3II + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray param_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLuint *param_base = (GLuint *) 0; + jint _remaining; + GLuint *param = (GLuint *) 0; + + if (!param_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "param == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(param_ref) - offset; + param_base = (GLuint *) + _env->GetIntArrayElements(param_ref, (jboolean *)0); + param = param_base + offset; + + glSamplerParameterIuiv( + (GLuint)sampler, + (GLenum)pname, + (GLuint *)param + ); + +exit: + if (param_base) { + _env->ReleaseIntArrayElements(param_ref, (jint*)param_base, + JNI_ABORT); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glSamplerParameterIuiv ( GLuint sampler, GLenum pname, const GLuint *param ) */ +static void +android_glSamplerParameterIuiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject param_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLuint *param = (GLuint *) 0; + + param = (GLuint *)getPointer(_env, param_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (param == NULL) { + char * _paramBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + param = (GLuint *) (_paramBase + _bufferOffset); + } + glSamplerParameterIuiv( + (GLuint)sampler, + (GLenum)pname, + (GLuint *)param + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)param, JNI_ABORT); + } +} + +/* void glGetSamplerParameterIiv ( GLuint sampler, GLenum pname, GLint *params ) */ +static void +android_glGetSamplerParameterIiv__II_3II + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLint *params_base = (GLint *) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + params_base = (GLint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glGetSamplerParameterIiv( + (GLuint)sampler, + (GLenum)pname, + (GLint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + _exception ? JNI_ABORT: 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetSamplerParameterIiv ( GLuint sampler, GLenum pname, GLint *params ) */ +static void +android_glGetSamplerParameterIiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject params_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLint *params = (GLint *) 0; + + params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLint *) (_paramsBase + _bufferOffset); + } + glGetSamplerParameterIiv( + (GLuint)sampler, + (GLenum)pname, + (GLint *)params + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, 0); + } +} + +/* void glGetSamplerParameterIuiv ( GLuint sampler, GLenum pname, GLuint *params ) */ +static void +android_glGetSamplerParameterIuiv__II_3II + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray params_ref, jint offset) { + jint _exception = 0; + const char * _exceptionType = NULL; + const char * _exceptionMessage = NULL; + GLuint *params_base = (GLuint *) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + if (!params_ref) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "params == null"; + goto exit; + } + if (offset < 0) { + _exception = 1; + _exceptionType = "java/lang/IllegalArgumentException"; + _exceptionMessage = "offset < 0"; + goto exit; + } + _remaining = _env->GetArrayLength(params_ref) - offset; + params_base = (GLuint *) + _env->GetIntArrayElements(params_ref, (jboolean *)0); + params = params_base + offset; + + glGetSamplerParameterIuiv( + (GLuint)sampler, + (GLenum)pname, + (GLuint *)params + ); + +exit: + if (params_base) { + _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, + _exception ? JNI_ABORT: 0); + } + if (_exception) { + jniThrowException(_env, _exceptionType, _exceptionMessage); + } +} + +/* void glGetSamplerParameterIuiv ( GLuint sampler, GLenum pname, GLuint *params ) */ +static void +android_glGetSamplerParameterIuiv__IILjava_nio_IntBuffer_2 + (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject params_buf) { + jintArray _array = (jintArray) 0; + jint _bufferOffset = (jint) 0; + jint _remaining; + GLuint *params = (GLuint *) 0; + + params = (GLuint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); + if (params == NULL) { + char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); + params = (GLuint *) (_paramsBase + _bufferOffset); + } + glGetSamplerParameterIuiv( + (GLuint)sampler, + (GLenum)pname, + (GLuint *)params + ); + if (_array) { + _env->ReleaseIntArrayElements(_array, (jint*)params, 0); + } +} + +/* void glTexBuffer ( GLenum target, GLenum internalformat, GLuint buffer ) */ +static void +android_glTexBuffer__III + (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint buffer) { + glTexBuffer( + (GLenum)target, + (GLenum)internalformat, + (GLuint)buffer + ); +} + +/* void glTexBufferRange ( GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) */ +static void +android_glTexBufferRange__IIIII + (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint buffer, jint offset, jint size) { + glTexBufferRange( + (GLenum)target, + (GLenum)internalformat, + (GLuint)buffer, + (GLintptr)offset, + (GLsizeiptr)size + ); +} + +/* void glTexStorage3DMultisample ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) */ +static void +android_glTexStorage3DMultisample__IIIIIIZ + (JNIEnv *_env, jobject _this, jint target, jint samples, jint internalformat, jint width, jint height, jint depth, jboolean fixedsamplelocations) { + glTexStorage3DMultisample( + (GLenum)target, + (GLsizei)samples, + (GLenum)internalformat, + (GLsizei)width, + (GLsizei)height, + (GLsizei)depth, + (GLboolean)fixedsamplelocations + ); +} + +static const char *classPathName = "android/opengl/GLES32"; + +static const JNINativeMethod methods[] = { +{"_nativeClassInit", "()V", (void*)nativeClassInit }, +{"glBlendBarrier", "()V", (void *) android_glBlendBarrier__ }, +{"glCopyImageSubData", "(IIIIIIIIIIIIIII)V", (void *) android_glCopyImageSubData__IIIIIIIIIIIIIII }, +{"glDebugMessageControl", "(IIII[IIZ)V", (void *) android_glDebugMessageControl__IIII_3IIZ }, +{"glDebugMessageControl", "(IIIILjava/nio/IntBuffer;Z)V", (void *) android_glDebugMessageControl__IIIILjava_nio_IntBuffer_2Z }, +{"glDebugMessageInsert", "(IIIIILjava/lang/String;)V", (void *) android_glDebugMessageInsert__IIIIILjava_lang_String_2 }, +{"glDebugMessageCallback", "(Landroid/opengl/GLES32$DebugProc;)V", (void *) android_glDebugMessageCallback }, +{"glGetDebugMessageLog", "(II[II[II[II[II[II[BI)I", (void *) android_glGetDebugMessageLog__II_3II_3II_3II_3II_3II_3BI }, +{"glGetDebugMessageLog", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I", (void *) android_glGetDebugMessageLog__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2 }, +{"glGetDebugMessageLog", "(I[II[II[II[II)[Ljava/lang/String;", (void *) android_glGetDebugMessageLog__I_3II_3II_3II_3II }, +{"glGetDebugMessageLog", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;", (void *) android_glGetDebugMessageLog__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, +{"glPushDebugGroup", "(IIILjava/lang/String;)V", (void *) android_glPushDebugGroup__IIILjava_lang_String_2 }, +{"glPopDebugGroup", "()V", (void *) android_glPopDebugGroup__ }, +{"glObjectLabel", "(IIILjava/lang/String;)V", (void *) android_glObjectLabel__IIILjava_lang_String_2 }, +{"glGetObjectLabel", "(II)Ljava/lang/String;", (void *) android_glGetObjectLabel }, +{"glObjectPtrLabel", "(JLjava/lang/String;)V", (void *) android_glObjectPtrLabel }, +{"glGetObjectPtrLabel", "(J)Ljava/lang/String;", (void *) android_glGetObjectPtrLabel }, +{"glGetPointerv", "(I)J", (void *) android_glGetPointerv }, +{"glEnablei", "(II)V", (void *) android_glEnablei__II }, +{"glDisablei", "(II)V", (void *) android_glDisablei__II }, +{"glBlendEquationi", "(II)V", (void *) android_glBlendEquationi__II }, +{"glBlendEquationSeparatei", "(III)V", (void *) android_glBlendEquationSeparatei__III }, +{"glBlendFunci", "(III)V", (void *) android_glBlendFunci__III }, +{"glBlendFuncSeparatei", "(IIIII)V", (void *) android_glBlendFuncSeparatei__IIIII }, +{"glColorMaski", "(IZZZZ)V", (void *) android_glColorMaski__IZZZZ }, +{"glIsEnabledi", "(II)Z", (void *) android_glIsEnabledi__II }, +{"glDrawElementsBaseVertex", "(IIILjava/nio/Buffer;I)V", (void *) android_glDrawElementsBaseVertex__IIILjava_nio_Buffer_2I }, +{"glDrawRangeElementsBaseVertex", "(IIIIILjava/nio/Buffer;I)V", (void *) android_glDrawRangeElementsBaseVertex__IIIIILjava_nio_Buffer_2I }, +{"glDrawElementsInstancedBaseVertex", "(IIILjava/nio/Buffer;II)V", (void *) android_glDrawElementsInstancedBaseVertex__IIILjava_nio_Buffer_2II }, +{"glDrawElementsInstancedBaseVertex", "(IIIIII)V", (void *) android_glDrawElementsInstancedBaseVertex__IIIIII }, +{"glFramebufferTexture", "(IIII)V", (void *) android_glFramebufferTexture__IIII }, +{"glPrimitiveBoundingBox", "(FFFFFFFF)V", (void *) android_glPrimitiveBoundingBox__FFFFFFFF }, +{"glGetGraphicsResetStatus", "()I", (void *) android_glGetGraphicsResetStatus__ }, +{"glReadnPixels", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glReadnPixels__IIIIIIILjava_nio_Buffer_2 }, +{"glGetnUniformfv", "(III[FI)V", (void *) android_glGetnUniformfv__III_3FI }, +{"glGetnUniformfv", "(IIILjava/nio/FloatBuffer;)V", (void *) android_glGetnUniformfv__IIILjava_nio_FloatBuffer_2 }, +{"glGetnUniformiv", "(III[II)V", (void *) android_glGetnUniformiv__III_3II }, +{"glGetnUniformiv", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetnUniformiv__IIILjava_nio_IntBuffer_2 }, +{"glGetnUniformuiv", "(III[II)V", (void *) android_glGetnUniformuiv__III_3II }, +{"glGetnUniformuiv", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetnUniformuiv__IIILjava_nio_IntBuffer_2 }, +{"glMinSampleShading", "(F)V", (void *) android_glMinSampleShading__F }, +{"glPatchParameteri", "(II)V", (void *) android_glPatchParameteri__II }, +{"glTexParameterIiv", "(II[II)V", (void *) android_glTexParameterIiv__II_3II }, +{"glTexParameterIiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterIiv__IILjava_nio_IntBuffer_2 }, +{"glTexParameterIuiv", "(II[II)V", (void *) android_glTexParameterIuiv__II_3II }, +{"glTexParameterIuiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterIuiv__IILjava_nio_IntBuffer_2 }, +{"glGetTexParameterIiv", "(II[II)V", (void *) android_glGetTexParameterIiv__II_3II }, +{"glGetTexParameterIiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterIiv__IILjava_nio_IntBuffer_2 }, +{"glGetTexParameterIuiv", "(II[II)V", (void *) android_glGetTexParameterIuiv__II_3II }, +{"glGetTexParameterIuiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterIuiv__IILjava_nio_IntBuffer_2 }, +{"glSamplerParameterIiv", "(II[II)V", (void *) android_glSamplerParameterIiv__II_3II }, +{"glSamplerParameterIiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glSamplerParameterIiv__IILjava_nio_IntBuffer_2 }, +{"glSamplerParameterIuiv", "(II[II)V", (void *) android_glSamplerParameterIuiv__II_3II }, +{"glSamplerParameterIuiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glSamplerParameterIuiv__IILjava_nio_IntBuffer_2 }, +{"glGetSamplerParameterIiv", "(II[II)V", (void *) android_glGetSamplerParameterIiv__II_3II }, +{"glGetSamplerParameterIiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetSamplerParameterIiv__IILjava_nio_IntBuffer_2 }, +{"glGetSamplerParameterIuiv", "(II[II)V", (void *) android_glGetSamplerParameterIuiv__II_3II }, +{"glGetSamplerParameterIuiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetSamplerParameterIuiv__IILjava_nio_IntBuffer_2 }, +{"glTexBuffer", "(III)V", (void *) android_glTexBuffer__III }, +{"glTexBufferRange", "(IIIII)V", (void *) android_glTexBufferRange__IIIII }, +{"glTexStorage3DMultisample", "(IIIIIIZ)V", (void *) android_glTexStorage3DMultisample__IIIIIIZ }, +}; + +int register_android_opengl_jni_GLES32(JNIEnv *_env) +{ + int err; + err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); + return err; +} diff --git a/opengl/java/android/opengl/GLES31.java b/opengl/java/android/opengl/GLES31.java index 805930e343f2..679108f5cf30 100644 --- a/opengl/java/android/opengl/GLES31.java +++ b/opengl/java/android/opengl/GLES31.java @@ -204,7 +204,8 @@ public class GLES31 extends GLES30 { _nativeClassInit(); } - private GLES31() {} + /** @hide */ + GLES31() {} // C function void glDispatchCompute ( GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z ) public static native void glDispatchCompute( diff --git a/opengl/java/android/opengl/GLES32.java b/opengl/java/android/opengl/GLES32.java new file mode 100644 index 000000000000..7a392b891904 --- /dev/null +++ b/opengl/java/android/opengl/GLES32.java @@ -0,0 +1,785 @@ +/* + * Copyright 2015 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.2 + */ +public class GLES32 extends GLES31 { + + public static final int GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002; + + public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004; + + public static final int GL_GEOMETRY_SHADER_BIT = 0x00000004; + public static final int GL_TESS_CONTROL_SHADER_BIT = 0x00000008; + public static final int GL_TESS_EVALUATION_SHADER_BIT = 0x00000010; + + public static final int GL_QUADS = 0x0007; + public static final int GL_LINES_ADJACENCY = 0x000A; + public static final int GL_LINE_STRIP_ADJACENCY = 0x000B; + public static final int GL_TRIANGLES_ADJACENCY = 0x000C; + public static final int GL_TRIANGLE_STRIP_ADJACENCY = 0x000D; + public static final int GL_PATCHES = 0x000E; + public static final int GL_STACK_OVERFLOW = 0x0503; + public static final int GL_STACK_UNDERFLOW = 0x0504; + public static final int GL_CONTEXT_LOST = 0x0507; + public static final int GL_TEXTURE_BORDER_COLOR = 0x1004; + public static final int GL_VERTEX_ARRAY = 0x8074; + public static final int GL_CLAMP_TO_BORDER = 0x812D; + public static final int GL_CONTEXT_FLAGS = 0x821E; + public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; + public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242; + public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243; + public static final int GL_DEBUG_CALLBACK_FUNCTION = 0x8244; + public static final int GL_DEBUG_CALLBACK_USER_PARAM = 0x8245; + public static final int GL_DEBUG_SOURCE_API = 0x8246; + public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247; + public static final int GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248; + public static final int GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249; + public static final int GL_DEBUG_SOURCE_APPLICATION = 0x824A; + public static final int GL_DEBUG_SOURCE_OTHER = 0x824B; + public static final int GL_DEBUG_TYPE_ERROR = 0x824C; + public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D; + public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E; + public static final int GL_DEBUG_TYPE_PORTABILITY = 0x824F; + public static final int GL_DEBUG_TYPE_PERFORMANCE = 0x8250; + public static final int GL_DEBUG_TYPE_OTHER = 0x8251; + public static final int GL_LOSE_CONTEXT_ON_RESET = 0x8252; + public static final int GL_GUILTY_CONTEXT_RESET = 0x8253; + public static final int GL_INNOCENT_CONTEXT_RESET = 0x8254; + public static final int GL_UNKNOWN_CONTEXT_RESET = 0x8255; + public static final int GL_RESET_NOTIFICATION_STRATEGY = 0x8256; + public static final int GL_LAYER_PROVOKING_VERTEX = 0x825E; + public static final int GL_UNDEFINED_VERTEX = 0x8260; + public static final int GL_NO_RESET_NOTIFICATION = 0x8261; + public static final int GL_DEBUG_TYPE_MARKER = 0x8268; + public static final int GL_DEBUG_TYPE_PUSH_GROUP = 0x8269; + public static final int GL_DEBUG_TYPE_POP_GROUP = 0x826A; + public static final int GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B; + public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C; + public static final int GL_DEBUG_GROUP_STACK_DEPTH = 0x826D; + public static final int GL_BUFFER = 0x82E0; + public static final int GL_SHADER = 0x82E1; + public static final int GL_PROGRAM = 0x82E2; + public static final int GL_QUERY = 0x82E3; + public static final int GL_PROGRAM_PIPELINE = 0x82E4; + public static final int GL_SAMPLER = 0x82E6; + public static final int GL_MAX_LABEL_LENGTH = 0x82E8; + public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C; + public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D; + public static final int GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F; + public static final int GL_GEOMETRY_VERTICES_OUT = 0x8916; + public static final int GL_GEOMETRY_INPUT_TYPE = 0x8917; + public static final int GL_GEOMETRY_OUTPUT_TYPE = 0x8918; + public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C; + public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32; + public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; + public static final int GL_TEXTURE_BUFFER = 0x8C2A; + public static final int GL_TEXTURE_BUFFER_BINDING = 0x8C2A; + public static final int GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B; + public static final int GL_TEXTURE_BINDING_BUFFER = 0x8C2C; + public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D; + public static final int GL_SAMPLE_SHADING = 0x8C36; + public static final int GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37; + public static final int GL_PRIMITIVES_GENERATED = 0x8C87; + public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; + public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; + public static final int GL_SAMPLER_BUFFER = 0x8DC2; + public static final int GL_INT_SAMPLER_BUFFER = 0x8DD0; + public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8; + public static final int GL_GEOMETRY_SHADER = 0x8DD9; + public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; + public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; + public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; + public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E; + public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F; + public static final int GL_FIRST_VERTEX_CONVENTION = 0x8E4D; + public static final int GL_LAST_VERTEX_CONVENTION = 0x8E4E; + public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A; + public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B; + public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C; + public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D; + public static final int GL_PATCH_VERTICES = 0x8E72; + public static final int GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75; + public static final int GL_TESS_GEN_MODE = 0x8E76; + public static final int GL_TESS_GEN_SPACING = 0x8E77; + public static final int GL_TESS_GEN_VERTEX_ORDER = 0x8E78; + public static final int GL_TESS_GEN_POINT_MODE = 0x8E79; + public static final int GL_ISOLINES = 0x8E7A; + public static final int GL_FRACTIONAL_ODD = 0x8E7B; + public static final int GL_FRACTIONAL_EVEN = 0x8E7C; + public static final int GL_MAX_PATCH_VERTICES = 0x8E7D; + public static final int GL_MAX_TESS_GEN_LEVEL = 0x8E7E; + public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F; + public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80; + public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81; + public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82; + public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83; + public static final int GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84; + public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85; + public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86; + public static final int GL_TESS_EVALUATION_SHADER = 0x8E87; + public static final int GL_TESS_CONTROL_SHADER = 0x8E88; + public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89; + public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A; + public static final int GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009; + public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A; + public static final int GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C; + public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D; + public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E; + public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F; + public static final int GL_IMAGE_BUFFER = 0x9051; + public static final int GL_IMAGE_CUBE_MAP_ARRAY = 0x9054; + public static final int GL_INT_IMAGE_BUFFER = 0x905C; + public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F; + public static final int GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067; + public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A; + public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB; + public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC; + public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD; + public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7; + public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8; + public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9; + public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; + public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; + public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; + public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; + public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; + public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; + public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; + public static final int GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143; + public static final int GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144; + public static final int GL_DEBUG_LOGGED_MESSAGES = 0x9145; + public static final int GL_DEBUG_SEVERITY_HIGH = 0x9146; + public static final int GL_DEBUG_SEVERITY_MEDIUM = 0x9147; + public static final int GL_DEBUG_SEVERITY_LOW = 0x9148; + public static final int GL_TEXTURE_BUFFER_OFFSET = 0x919D; + public static final int GL_TEXTURE_BUFFER_SIZE = 0x919E; + public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F; + public static final int GL_MULTIPLY = 0x9294; + public static final int GL_SCREEN = 0x9295; + public static final int GL_OVERLAY = 0x9296; + public static final int GL_DARKEN = 0x9297; + public static final int GL_LIGHTEN = 0x9298; + public static final int GL_COLORDODGE = 0x9299; + public static final int GL_COLORBURN = 0x929A; + public static final int GL_HARDLIGHT = 0x929B; + public static final int GL_SOFTLIGHT = 0x929C; + public static final int GL_DIFFERENCE = 0x929E; + public static final int GL_EXCLUSION = 0x92A0; + public static final int GL_HSL_HUE = 0x92AD; + public static final int GL_HSL_SATURATION = 0x92AE; + public static final int GL_HSL_COLOR = 0x92AF; + public static final int GL_HSL_LUMINOSITY = 0x92B0; + public static final int GL_PRIMITIVE_BOUNDING_BOX = 0x92BE; + public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD; + public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE; + public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF; + public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3; + public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4; + public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5; + public static final int GL_DEBUG_OUTPUT = 0x92E0; + public static final int GL_IS_PER_PATCH = 0x92E7; + public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307; + public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308; + public static final int GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309; + public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312; + public static final int GL_MAX_FRAMEBUFFER_LAYERS = 0x9317; + public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE = 0x9381; + public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 0x9382; + public static final int GL_COMPRESSED_RGBA_ASTC_4x4 = 0x93B0; + public static final int GL_COMPRESSED_RGBA_ASTC_5x4 = 0x93B1; + public static final int GL_COMPRESSED_RGBA_ASTC_5x5 = 0x93B2; + public static final int GL_COMPRESSED_RGBA_ASTC_6x5 = 0x93B3; + public static final int GL_COMPRESSED_RGBA_ASTC_6x6 = 0x93B4; + public static final int GL_COMPRESSED_RGBA_ASTC_8x5 = 0x93B5; + public static final int GL_COMPRESSED_RGBA_ASTC_8x6 = 0x93B6; + public static final int GL_COMPRESSED_RGBA_ASTC_8x8 = 0x93B7; + public static final int GL_COMPRESSED_RGBA_ASTC_10x5 = 0x93B8; + public static final int GL_COMPRESSED_RGBA_ASTC_10x6 = 0x93B9; + public static final int GL_COMPRESSED_RGBA_ASTC_10x8 = 0x93BA; + public static final int GL_COMPRESSED_RGBA_ASTC_10x10 = 0x93BB; + public static final int GL_COMPRESSED_RGBA_ASTC_12x10 = 0x93BC; + public static final int GL_COMPRESSED_RGBA_ASTC_12x12 = 0x93BD; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD; + + + native private static void _nativeClassInit(); + static { + _nativeClassInit(); + } + + private GLES32() {} + // C function void glBlendBarrier ( void ) + + public static native void glBlendBarrier( + ); + + // C function void glCopyImageSubData ( 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 ) + + public static native void glCopyImageSubData( + int srcName, + int srcTarget, + int srcLevel, + int srcX, + int srcY, + int srcZ, + int dstName, + int dstTarget, + int dstLevel, + int dstX, + int dstY, + int dstZ, + int srcWidth, + int srcHeight, + int srcDepth + ); + + // C function void glDebugMessageControl ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) + + public static native void glDebugMessageControl( + int source, + int type, + int severity, + int count, + int[] ids, + int offset, + boolean enabled + ); + + // C function void glDebugMessageControl ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) + + public static native void glDebugMessageControl( + int source, + int type, + int severity, + int count, + java.nio.IntBuffer ids, + boolean enabled + ); + + // C function void glDebugMessageInsert ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) + + public static native void glDebugMessageInsert( + int source, + int type, + int id, + int severity, + int length, + String buf + ); + + // C function void glDebugMessageCallback ( GLDEBUGPROC callback, const void *userParam ) + + public interface DebugProc { + void onMessage(int source, int type, int id, int severity, String message); + } + + public static native void glDebugMessageCallback(DebugProc callback); + + // C function GLuint glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native int glGetDebugMessageLog( + 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 glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native int glGetDebugMessageLog( + 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 glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native String[] glGetDebugMessageLog( + int count, + int[] sources, + int sourcesOffset, + int[] types, + int typesOffset, + int[] ids, + int idsOffset, + int[] severities, + int severitiesOffset); + + // C function GLuint glGetDebugMessageLog ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) + + public static native String[] glGetDebugMessageLog( + int count, + java.nio.IntBuffer sources, + java.nio.IntBuffer types, + java.nio.IntBuffer ids, + java.nio.IntBuffer severities); + + // C function void glPushDebugGroup ( GLenum source, GLuint id, GLsizei length, const GLchar *message ) + + public static native void glPushDebugGroup( + int source, + int id, + int length, + String message + ); + + // C function void glPopDebugGroup ( void ) + + public static native void glPopDebugGroup( + ); + + // C function void glObjectLabel ( GLenum identifier, GLuint name, GLsizei length, const GLchar *label ) + + public static native void glObjectLabel( + int identifier, + int name, + int length, + String label + ); + + // C function void glGetObjectLabel ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) + + public static native String glGetObjectLabel(int identifier, int name); + + // C function void glObjectPtrLabel ( const void *ptr, GLsizei length, const GLchar *label ) + + public static native void glObjectPtrLabel(long ptr, String label); + + // C function void glGetObjectPtrLabel ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) + + public static native String glGetObjectPtrLabel(long ptr); + + // C function void glGetPointerv ( GLenum pname, void **params ) + + public static native long glGetPointerv( + int pname + ); + + // C function void glEnablei ( GLenum target, GLuint index ) + + public static native void glEnablei( + int target, + int index + ); + + // C function void glDisablei ( GLenum target, GLuint index ) + + public static native void glDisablei( + int target, + int index + ); + + // C function void glBlendEquationi ( GLuint buf, GLenum mode ) + + public static native void glBlendEquationi( + int buf, + int mode + ); + + // C function void glBlendEquationSeparatei ( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) + + public static native void glBlendEquationSeparatei( + int buf, + int modeRGB, + int modeAlpha + ); + + // C function void glBlendFunci ( GLuint buf, GLenum src, GLenum dst ) + + public static native void glBlendFunci( + int buf, + int src, + int dst + ); + + // C function void glBlendFuncSeparatei ( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) + + public static native void glBlendFuncSeparatei( + int buf, + int srcRGB, + int dstRGB, + int srcAlpha, + int dstAlpha + ); + + // C function void glColorMaski ( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) + + public static native void glColorMaski( + int index, + boolean r, + boolean g, + boolean b, + boolean a + ); + + // C function GLboolean glIsEnabledi ( GLenum target, GLuint index ) + + public static native boolean glIsEnabledi( + int target, + int index + ); + + // C function void glDrawElementsBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex ) + + public static native void glDrawElementsBaseVertex( + int mode, + int count, + int type, + java.nio.Buffer indices, + int basevertex + ); + + // C function void glDrawRangeElementsBaseVertex ( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex ) + + public static native void glDrawRangeElementsBaseVertex( + int mode, + int start, + int end, + int count, + int type, + java.nio.Buffer indices, + int basevertex + ); + + // C function void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex ) + + public static native void glDrawElementsInstancedBaseVertex( + int mode, + int count, + int type, + java.nio.Buffer indices, + int instanceCount, + int basevertex + ); + + // C function void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex ) + + public static native void glDrawElementsInstancedBaseVertex( + int mode, + int count, + int type, + int indicesOffset, + int instanceCount, + int basevertex + ); + + // C function void glFramebufferTexture ( GLenum target, GLenum attachment, GLuint texture, GLint level ) + + public static native void glFramebufferTexture( + int target, + int attachment, + int texture, + int level + ); + + // C function void glPrimitiveBoundingBox ( GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW ) + + public static native void glPrimitiveBoundingBox( + float minX, + float minY, + float minZ, + float minW, + float maxX, + float maxY, + float maxZ, + float maxW + ); + + // C function GLenum glGetGraphicsResetStatus ( void ) + + public static native int glGetGraphicsResetStatus( + ); + + // C function void glReadnPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data ) + + public static native void glReadnPixels( + int x, + int y, + int width, + int height, + int format, + int type, + int bufSize, + java.nio.Buffer data + ); + + // C function void glGetnUniformfv ( GLuint program, GLint location, GLsizei bufSize, GLfloat *params ) + + public static native void glGetnUniformfv( + int program, + int location, + int bufSize, + float[] params, + int offset + ); + + // C function void glGetnUniformfv ( GLuint program, GLint location, GLsizei bufSize, GLfloat *params ) + + public static native void glGetnUniformfv( + int program, + int location, + int bufSize, + java.nio.FloatBuffer params + ); + + // C function void glGetnUniformiv ( GLuint program, GLint location, GLsizei bufSize, GLint *params ) + + public static native void glGetnUniformiv( + int program, + int location, + int bufSize, + int[] params, + int offset + ); + + // C function void glGetnUniformiv ( GLuint program, GLint location, GLsizei bufSize, GLint *params ) + + public static native void glGetnUniformiv( + int program, + int location, + int bufSize, + java.nio.IntBuffer params + ); + + // C function void glGetnUniformuiv ( GLuint program, GLint location, GLsizei bufSize, GLuint *params ) + + public static native void glGetnUniformuiv( + int program, + int location, + int bufSize, + int[] params, + int offset + ); + + // C function void glGetnUniformuiv ( GLuint program, GLint location, GLsizei bufSize, GLuint *params ) + + public static native void glGetnUniformuiv( + int program, + int location, + int bufSize, + java.nio.IntBuffer params + ); + + // C function void glMinSampleShading ( GLfloat value ) + + public static native void glMinSampleShading( + float value + ); + + // C function void glPatchParameteri ( GLenum pname, GLint value ) + + public static native void glPatchParameteri( + int pname, + int value + ); + + // C function void glTexParameterIiv ( GLenum target, GLenum pname, const GLint *params ) + + public static native void glTexParameterIiv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexParameterIiv ( GLenum target, GLenum pname, const GLint *params ) + + public static native void glTexParameterIiv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTexParameterIuiv ( GLenum target, GLenum pname, const GLuint *params ) + + public static native void glTexParameterIuiv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glTexParameterIuiv ( GLenum target, GLenum pname, const GLuint *params ) + + public static native void glTexParameterIuiv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexParameterIiv ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetTexParameterIiv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexParameterIiv ( GLenum target, GLenum pname, GLint *params ) + + public static native void glGetTexParameterIiv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetTexParameterIuiv ( GLenum target, GLenum pname, GLuint *params ) + + public static native void glGetTexParameterIuiv( + int target, + int pname, + int[] params, + int offset + ); + + // C function void glGetTexParameterIuiv ( GLenum target, GLenum pname, GLuint *params ) + + public static native void glGetTexParameterIuiv( + int target, + int pname, + java.nio.IntBuffer params + ); + + // C function void glSamplerParameterIiv ( GLuint sampler, GLenum pname, const GLint *param ) + + public static native void glSamplerParameterIiv( + int sampler, + int pname, + int[] param, + int offset + ); + + // C function void glSamplerParameterIiv ( GLuint sampler, GLenum pname, const GLint *param ) + + public static native void glSamplerParameterIiv( + int sampler, + int pname, + java.nio.IntBuffer param + ); + + // C function void glSamplerParameterIuiv ( GLuint sampler, GLenum pname, const GLuint *param ) + + public static native void glSamplerParameterIuiv( + int sampler, + int pname, + int[] param, + int offset + ); + + // C function void glSamplerParameterIuiv ( GLuint sampler, GLenum pname, const GLuint *param ) + + public static native void glSamplerParameterIuiv( + int sampler, + int pname, + java.nio.IntBuffer param + ); + + // C function void glGetSamplerParameterIiv ( GLuint sampler, GLenum pname, GLint *params ) + + public static native void glGetSamplerParameterIiv( + int sampler, + int pname, + int[] params, + int offset + ); + + // C function void glGetSamplerParameterIiv ( GLuint sampler, GLenum pname, GLint *params ) + + public static native void glGetSamplerParameterIiv( + int sampler, + int pname, + java.nio.IntBuffer params + ); + + // C function void glGetSamplerParameterIuiv ( GLuint sampler, GLenum pname, GLuint *params ) + + public static native void glGetSamplerParameterIuiv( + int sampler, + int pname, + int[] params, + int offset + ); + + // C function void glGetSamplerParameterIuiv ( GLuint sampler, GLenum pname, GLuint *params ) + + public static native void glGetSamplerParameterIuiv( + int sampler, + int pname, + java.nio.IntBuffer params + ); + + // C function void glTexBuffer ( GLenum target, GLenum internalformat, GLuint buffer ) + + public static native void glTexBuffer( + int target, + int internalformat, + int buffer + ); + + // C function void glTexBufferRange ( GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) + + public static native void glTexBufferRange( + int target, + int internalformat, + int buffer, + int offset, + int size + ); + + // C function void glTexStorage3DMultisample ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) + + public static native void glTexStorage3DMultisample( + int target, + int samples, + int internalformat, + int width, + int height, + int depth, + boolean fixedsamplelocations + ); + +} |