/* MACHINE GENERATED FILE, DO NOT EDIT */ package org.lwjgl.opengl; import org.lwjgl.LWJGLException; import org.lwjgl.LWJGLUtil; import java.util.Set; import java.util.HashSet; public class ContextCapabilities { static final boolean DEBUG = false; final APIUtil util = new APIUtil(); final StateTracker tracker = new StateTracker(); public final boolean GL_AMD_blend_minmax_factor; public final boolean GL_AMD_conservative_depth; public final boolean GL_AMD_debug_output; public final boolean GL_AMD_depth_clamp_separate; public final boolean GL_AMD_draw_buffers_blend; public final boolean GL_AMD_multi_draw_indirect; public final boolean GL_AMD_name_gen_delete; public final boolean GL_AMD_performance_monitor; public final boolean GL_AMD_pinned_memory; public final boolean GL_AMD_query_buffer_object; public final boolean GL_AMD_sample_positions; public final boolean GL_AMD_seamless_cubemap_per_texture; public final boolean GL_AMD_shader_stencil_export; public final boolean GL_AMD_shader_trinary_minmax; public final boolean GL_AMD_sparse_texture; public final boolean GL_AMD_stencil_operation_extended; public final boolean GL_AMD_texture_texture4; public final boolean GL_AMD_transform_feedback3_lines_triangles; public final boolean GL_AMD_vertex_shader_layer; public final boolean GL_AMD_vertex_shader_tessellator; public final boolean GL_AMD_vertex_shader_viewport_index; public final boolean GL_APPLE_aux_depth_stencil; public final boolean GL_APPLE_client_storage; public final boolean GL_APPLE_element_array; public final boolean GL_APPLE_fence; public final boolean GL_APPLE_float_pixels; public final boolean GL_APPLE_flush_buffer_range; public final boolean GL_APPLE_object_purgeable; public final boolean GL_APPLE_packed_pixels; public final boolean GL_APPLE_rgb_422; public final boolean GL_APPLE_row_bytes; public final boolean GL_APPLE_texture_range; public final boolean GL_APPLE_vertex_array_object; public final boolean GL_APPLE_vertex_array_range; public final boolean GL_APPLE_vertex_program_evaluators; public final boolean GL_APPLE_ycbcr_422; public final boolean GL_ARB_ES2_compatibility; public final boolean GL_ARB_ES3_compatibility; public final boolean GL_ARB_arrays_of_arrays; public final boolean GL_ARB_base_instance; public final boolean GL_ARB_blend_func_extended; public final boolean GL_ARB_cl_event; public final boolean GL_ARB_clear_buffer_object; public final boolean GL_ARB_color_buffer_float; public final boolean GL_ARB_compatibility; public final boolean GL_ARB_compressed_texture_pixel_storage; public final boolean GL_ARB_compute_shader; public final boolean GL_ARB_conservative_depth; public final boolean GL_ARB_copy_buffer; public final boolean GL_ARB_copy_image; public final boolean GL_ARB_debug_output; public final boolean GL_ARB_depth_buffer_float; public final boolean GL_ARB_depth_clamp; public final boolean GL_ARB_depth_texture; public final boolean GL_ARB_draw_buffers; public final boolean GL_ARB_draw_buffers_blend; public final boolean GL_ARB_draw_elements_base_vertex; public final boolean GL_ARB_draw_indirect; public final boolean GL_ARB_draw_instanced; public final boolean GL_ARB_explicit_attrib_location; public final boolean GL_ARB_explicit_uniform_location; public final boolean GL_ARB_fragment_coord_conventions; public final boolean GL_ARB_fragment_layer_viewport; public final boolean GL_ARB_fragment_program; public final boolean GL_ARB_fragment_program_shadow; public final boolean GL_ARB_fragment_shader; public final boolean GL_ARB_framebuffer_no_attachments; public final boolean GL_ARB_framebuffer_object; public final boolean GL_ARB_framebuffer_sRGB; public final boolean GL_ARB_geometry_shader4; public final boolean GL_ARB_get_program_binary; public final boolean GL_ARB_gpu_shader5; public final boolean GL_ARB_gpu_shader_fp64; public final boolean GL_ARB_half_float_pixel; public final boolean GL_ARB_half_float_vertex; public final boolean GL_ARB_imaging; public final boolean GL_ARB_instanced_arrays; public final boolean GL_ARB_internalformat_query; public final boolean GL_ARB_internalformat_query2; public final boolean GL_ARB_invalidate_subdata; public final boolean GL_ARB_map_buffer_alignment; public final boolean GL_ARB_map_buffer_range; public final boolean GL_ARB_matrix_palette; public final boolean GL_ARB_multi_draw_indirect; public final boolean GL_ARB_multisample; public final boolean GL_ARB_multitexture; public final boolean GL_ARB_occlusion_query; public final boolean GL_ARB_occlusion_query2; public final boolean GL_ARB_pixel_buffer_object; public final boolean GL_ARB_point_parameters; public final boolean GL_ARB_point_sprite; public final boolean GL_ARB_program_interface_query; public final boolean GL_ARB_provoking_vertex; public final boolean GL_ARB_robust_buffer_access_behavior; public final boolean GL_ARB_robustness; public final boolean GL_ARB_robustness_isolation; public final boolean GL_ARB_sample_shading; public final boolean GL_ARB_sampler_objects; public final boolean GL_ARB_seamless_cube_map; public final boolean GL_ARB_separate_shader_objects; public final boolean GL_ARB_shader_atomic_counters; public final boolean GL_ARB_shader_bit_encoding; public final boolean GL_ARB_shader_image_load_store; public final boolean GL_ARB_shader_image_size; public final boolean GL_ARB_shader_objects; public final boolean GL_ARB_shader_precision; public final boolean GL_ARB_shader_stencil_export; public final boolean GL_ARB_shader_storage_buffer_object; public final boolean GL_ARB_shader_subroutine; public final boolean GL_ARB_shader_texture_lod; public final boolean GL_ARB_shading_language_100; public final boolean GL_ARB_shading_language_420pack; public final boolean GL_ARB_shading_language_include; public final boolean GL_ARB_shading_language_packing; public final boolean GL_ARB_shadow; public final boolean GL_ARB_shadow_ambient; public final boolean GL_ARB_stencil_texturing; public final boolean GL_ARB_sync; public final boolean GL_ARB_tessellation_shader; public final boolean GL_ARB_texture_border_clamp; public final boolean GL_ARB_texture_buffer_object; public final boolean GL_ARB_texture_buffer_object_rgb32; public final boolean GL_ARB_texture_buffer_range; public final boolean GL_ARB_texture_compression; public final boolean GL_ARB_texture_compression_bptc; public final boolean GL_ARB_texture_compression_rgtc; public final boolean GL_ARB_texture_cube_map; public final boolean GL_ARB_texture_cube_map_array; public final boolean GL_ARB_texture_env_add; public final boolean GL_ARB_texture_env_combine; public final boolean GL_ARB_texture_env_crossbar; public final boolean GL_ARB_texture_env_dot3; public final boolean GL_ARB_texture_float; public final boolean GL_ARB_texture_gather; public final boolean GL_ARB_texture_mirrored_repeat; public final boolean GL_ARB_texture_multisample; public final boolean GL_ARB_texture_non_power_of_two; public final boolean GL_ARB_texture_query_levels; public final boolean GL_ARB_texture_query_lod; public final boolean GL_ARB_texture_rectangle; public final boolean GL_ARB_texture_rg; public final boolean GL_ARB_texture_rgb10_a2ui; public final boolean GL_ARB_texture_storage; public final boolean GL_ARB_texture_storage_multisample; public final boolean GL_ARB_texture_swizzle; public final boolean GL_ARB_texture_view; public final boolean GL_ARB_timer_query; public final boolean GL_ARB_transform_feedback2; public final boolean GL_ARB_transform_feedback3; public final boolean GL_ARB_transform_feedback_instanced; public final boolean GL_ARB_transpose_matrix; public final boolean GL_ARB_uniform_buffer_object; public final boolean GL_ARB_vertex_array_bgra; public final boolean GL_ARB_vertex_array_object; public final boolean GL_ARB_vertex_attrib_64bit; public final boolean GL_ARB_vertex_attrib_binding; public final boolean GL_ARB_vertex_blend; public final boolean GL_ARB_vertex_buffer_object; public final boolean GL_ARB_vertex_program; public final boolean GL_ARB_vertex_shader; public final boolean GL_ARB_vertex_type_2_10_10_10_rev; public final boolean GL_ARB_viewport_array; public final boolean GL_ARB_window_pos; public final boolean GL_ATI_draw_buffers; public final boolean GL_ATI_element_array; public final boolean GL_ATI_envmap_bumpmap; public final boolean GL_ATI_fragment_shader; public final boolean GL_ATI_map_object_buffer; public final boolean GL_ATI_meminfo; public final boolean GL_ATI_pn_triangles; public final boolean GL_ATI_separate_stencil; public final boolean GL_ATI_shader_texture_lod; public final boolean GL_ATI_text_fragment_shader; public final boolean GL_ATI_texture_compression_3dc; public final boolean GL_ATI_texture_env_combine3; public final boolean GL_ATI_texture_float; public final boolean GL_ATI_texture_mirror_once; public final boolean GL_ATI_vertex_array_object; public final boolean GL_ATI_vertex_attrib_array_object; public final boolean GL_ATI_vertex_streams; public final boolean GL_EXT_abgr; public final boolean GL_EXT_bgra; public final boolean GL_EXT_bindable_uniform; public final boolean GL_EXT_blend_color; public final boolean GL_EXT_blend_equation_separate; public final boolean GL_EXT_blend_func_separate; public final boolean GL_EXT_blend_minmax; public final boolean GL_EXT_blend_subtract; public final boolean GL_EXT_Cg_shader; public final boolean GL_EXT_compiled_vertex_array; public final boolean GL_EXT_depth_bounds_test; public final boolean GL_EXT_direct_state_access; public final boolean GL_EXT_draw_buffers2; public final boolean GL_EXT_draw_instanced; public final boolean GL_EXT_draw_range_elements; public final boolean GL_EXT_fog_coord; public final boolean GL_EXT_framebuffer_blit; public final boolean GL_EXT_framebuffer_multisample; public final boolean GL_EXT_framebuffer_multisample_blit_scaled; public final boolean GL_EXT_framebuffer_object; public final boolean GL_EXT_framebuffer_sRGB; public final boolean GL_EXT_geometry_shader4; public final boolean GL_EXT_gpu_program_parameters; public final boolean GL_EXT_gpu_shader4; public final boolean GL_EXT_multi_draw_arrays; public final boolean GL_EXT_packed_depth_stencil; public final boolean GL_EXT_packed_float; public final boolean GL_EXT_packed_pixels; public final boolean GL_EXT_paletted_texture; public final boolean GL_EXT_pixel_buffer_object; public final boolean GL_EXT_point_parameters; public final boolean GL_EXT_provoking_vertex; public final boolean GL_EXT_rescale_normal; public final boolean GL_EXT_secondary_color; public final boolean GL_EXT_separate_shader_objects; public final boolean GL_EXT_separate_specular_color; public final boolean GL_EXT_shader_image_load_store; public final boolean GL_EXT_shadow_funcs; public final boolean GL_EXT_shared_texture_palette; public final boolean GL_EXT_stencil_clear_tag; public final boolean GL_EXT_stencil_two_side; public final boolean GL_EXT_stencil_wrap; public final boolean GL_EXT_texture_3d; public final boolean GL_EXT_texture_array; public final boolean GL_EXT_texture_buffer_object; public final boolean GL_EXT_texture_compression_latc; public final boolean GL_EXT_texture_compression_rgtc; public final boolean GL_EXT_texture_compression_s3tc; public final boolean GL_EXT_texture_env_combine; public final boolean GL_EXT_texture_env_dot3; public final boolean GL_EXT_texture_filter_anisotropic; public final boolean GL_EXT_texture_integer; public final boolean GL_EXT_texture_lod_bias; public final boolean GL_EXT_texture_mirror_clamp; public final boolean GL_EXT_texture_rectangle; public final boolean GL_EXT_texture_sRGB; public final boolean GL_EXT_texture_sRGB_decode; public final boolean GL_EXT_texture_shared_exponent; public final boolean GL_EXT_texture_snorm; public final boolean GL_EXT_texture_swizzle; public final boolean GL_EXT_timer_query; public final boolean GL_EXT_transform_feedback; public final boolean GL_EXT_vertex_array_bgra; public final boolean GL_EXT_vertex_attrib_64bit; public final boolean GL_EXT_vertex_shader; public final boolean GL_EXT_vertex_weighting; public final boolean OpenGL11; public final boolean OpenGL12; public final boolean OpenGL13; public final boolean OpenGL14; public final boolean OpenGL15; public final boolean OpenGL20; public final boolean OpenGL21; public final boolean OpenGL30; public final boolean OpenGL31; public final boolean OpenGL32; public final boolean OpenGL33; public final boolean OpenGL40; public final boolean OpenGL41; public final boolean OpenGL42; public final boolean OpenGL43; public final boolean GL_GREMEDY_string_marker; public final boolean GL_HP_occlusion_test; public final boolean GL_IBM_rasterpos_clip; public final boolean GL_INTEL_map_texture; public final boolean GL_KHR_debug; public final boolean GL_KHR_texture_compression_astc_ldr; public final boolean GL_NVX_gpu_memory_info; public final boolean GL_NV_bindless_texture; public final boolean GL_NV_blend_square; public final boolean GL_NV_compute_program5; public final boolean GL_NV_conditional_render; public final boolean GL_NV_copy_depth_to_color; public final boolean GL_NV_copy_image; public final boolean GL_NV_deep_texture3D; public final boolean GL_NV_depth_buffer_float; public final boolean GL_NV_depth_clamp; public final boolean GL_NV_draw_texture; public final boolean GL_NV_evaluators; public final boolean GL_NV_explicit_multisample; public final boolean GL_NV_fence; public final boolean GL_NV_float_buffer; public final boolean GL_NV_fog_distance; public final boolean GL_NV_fragment_program; public final boolean GL_NV_fragment_program2; public final boolean GL_NV_fragment_program4; public final boolean GL_NV_fragment_program_option; public final boolean GL_NV_framebuffer_multisample_coverage; public final boolean GL_NV_geometry_program4; public final boolean GL_NV_geometry_shader4; public final boolean GL_NV_gpu_program4; public final boolean GL_NV_gpu_program5; public final boolean GL_NV_gpu_shader5; public final boolean GL_NV_half_float; public final boolean GL_NV_light_max_exponent; public final boolean GL_NV_multisample_coverage; public final boolean GL_NV_multisample_filter_hint; public final boolean GL_NV_occlusion_query; public final boolean GL_NV_packed_depth_stencil; public final boolean GL_NV_parameter_buffer_object; public final boolean GL_NV_parameter_buffer_object2; public final boolean GL_NV_path_rendering; public final boolean GL_NV_pixel_data_range; public final boolean GL_NV_point_sprite; public final boolean GL_NV_present_video; public final boolean GL_NV_primitive_restart; public final boolean GL_NV_register_combiners; public final boolean GL_NV_register_combiners2; public final boolean GL_NV_shader_atomic_counters; public final boolean GL_NV_shader_atomic_float; public final boolean GL_NV_shader_buffer_load; public final boolean GL_NV_shader_buffer_store; public final boolean GL_NV_shader_storage_buffer_object; public final boolean GL_NV_tessellation_program5; public final boolean GL_NV_texgen_reflection; public final boolean GL_NV_texture_barrier; public final boolean GL_NV_texture_compression_vtc; public final boolean GL_NV_texture_env_combine4; public final boolean GL_NV_texture_expand_normal; public final boolean GL_NV_texture_multisample; public final boolean GL_NV_texture_rectangle; public final boolean GL_NV_texture_shader; public final boolean GL_NV_texture_shader2; public final boolean GL_NV_texture_shader3; public final boolean GL_NV_transform_feedback; public final boolean GL_NV_transform_feedback2; public final boolean GL_NV_vertex_array_range; public final boolean GL_NV_vertex_array_range2; public final boolean GL_NV_vertex_attrib_integer_64bit; public final boolean GL_NV_vertex_buffer_unified_memory; public final boolean GL_NV_vertex_program; public final boolean GL_NV_vertex_program1_1; public final boolean GL_NV_vertex_program2; public final boolean GL_NV_vertex_program2_option; public final boolean GL_NV_vertex_program3; public final boolean GL_NV_vertex_program4; public final boolean GL_NV_video_capture; public final boolean GL_SGIS_generate_mipmap; public final boolean GL_SGIS_texture_lod; public final boolean GL_SUN_slice_accum; // AMD_debug_output long glDebugMessageEnableAMD; long glDebugMessageInsertAMD; long glDebugMessageCallbackAMD; long glGetDebugMessageLogAMD; // AMD_draw_buffers_blend long glBlendFuncIndexedAMD; long glBlendFuncSeparateIndexedAMD; long glBlendEquationIndexedAMD; long glBlendEquationSeparateIndexedAMD; // AMD_multi_draw_indirect long glMultiDrawArraysIndirectAMD; long glMultiDrawElementsIndirectAMD; // AMD_name_gen_delete long glGenNamesAMD; long glDeleteNamesAMD; long glIsNameAMD; // AMD_performance_monitor long glGetPerfMonitorGroupsAMD; long glGetPerfMonitorCountersAMD; long glGetPerfMonitorGroupStringAMD; long glGetPerfMonitorCounterStringAMD; long glGetPerfMonitorCounterInfoAMD; long glGenPerfMonitorsAMD; long glDeletePerfMonitorsAMD; long glSelectPerfMonitorCountersAMD; long glBeginPerfMonitorAMD; long glEndPerfMonitorAMD; long glGetPerfMonitorCounterDataAMD; // AMD_sample_positions long glSetMultisamplefvAMD; // AMD_sparse_texture long glTexStorageSparseAMD; long glTextureStorageSparseAMD; // AMD_stencil_operation_extended long glStencilOpValueAMD; // AMD_vertex_shader_tessellator long glTessellationFactorAMD; long glTessellationModeAMD; // APPLE_element_array long glElementPointerAPPLE; long glDrawElementArrayAPPLE; long glDrawRangeElementArrayAPPLE; long glMultiDrawElementArrayAPPLE; long glMultiDrawRangeElementArrayAPPLE; // APPLE_fence long glGenFencesAPPLE; long glDeleteFencesAPPLE; long glSetFenceAPPLE; long glIsFenceAPPLE; long glTestFenceAPPLE; long glFinishFenceAPPLE; long glTestObjectAPPLE; long glFinishObjectAPPLE; // APPLE_flush_buffer_range long glBufferParameteriAPPLE; long glFlushMappedBufferRangeAPPLE; // APPLE_object_purgeable long glObjectPurgeableAPPLE; long glObjectUnpurgeableAPPLE; long glGetObjectParameterivAPPLE; // APPLE_texture_range long glTextureRangeAPPLE; long glGetTexParameterPointervAPPLE; // APPLE_vertex_array_object long glBindVertexArrayAPPLE; long glDeleteVertexArraysAPPLE; long glGenVertexArraysAPPLE; long glIsVertexArrayAPPLE; // APPLE_vertex_array_range long glVertexArrayRangeAPPLE; long glFlushVertexArrayRangeAPPLE; long glVertexArrayParameteriAPPLE; // APPLE_vertex_program_evaluators long glEnableVertexAttribAPPLE; long glDisableVertexAttribAPPLE; long glIsVertexAttribEnabledAPPLE; long glMapVertexAttrib1dAPPLE; long glMapVertexAttrib1fAPPLE; long glMapVertexAttrib2dAPPLE; long glMapVertexAttrib2fAPPLE; // ARB_buffer_object long glBindBufferARB; long glDeleteBuffersARB; long glGenBuffersARB; long glIsBufferARB; long glBufferDataARB; long glBufferSubDataARB; long glGetBufferSubDataARB; long glMapBufferARB; long glUnmapBufferARB; long glGetBufferParameterivARB; long glGetBufferPointervARB; // ARB_cl_event long glCreateSyncFromCLeventARB; // ARB_clear_buffer_object long glClearNamedBufferDataEXT; long glClearNamedBufferSubDataEXT; // ARB_color_buffer_float long glClampColorARB; // ARB_debug_output long glDebugMessageControlARB; long glDebugMessageInsertARB; long glDebugMessageCallbackARB; long glGetDebugMessageLogARB; // ARB_draw_buffers long glDrawBuffersARB; // ARB_draw_buffers_blend long glBlendEquationiARB; long glBlendEquationSeparateiARB; long glBlendFunciARB; long glBlendFuncSeparateiARB; // ARB_draw_instanced long glDrawArraysInstancedARB; long glDrawElementsInstancedARB; // ARB_framebuffer_no_attachments long glNamedFramebufferParameteriEXT; long glGetNamedFramebufferParameterivEXT; // ARB_geometry_shader4 long glProgramParameteriARB; long glFramebufferTextureARB; long glFramebufferTextureLayerARB; long glFramebufferTextureFaceARB; // ARB_gpu_shader_fp64 long glProgramUniform1dEXT; long glProgramUniform2dEXT; long glProgramUniform3dEXT; long glProgramUniform4dEXT; long glProgramUniform1dvEXT; long glProgramUniform2dvEXT; long glProgramUniform3dvEXT; long glProgramUniform4dvEXT; long glProgramUniformMatrix2dvEXT; long glProgramUniformMatrix3dvEXT; long glProgramUniformMatrix4dvEXT; long glProgramUniformMatrix2x3dvEXT; long glProgramUniformMatrix2x4dvEXT; long glProgramUniformMatrix3x2dvEXT; long glProgramUniformMatrix3x4dvEXT; long glProgramUniformMatrix4x2dvEXT; long glProgramUniformMatrix4x3dvEXT; // ARB_imaging long glColorTable; long glColorSubTable; long glColorTableParameteriv; long glColorTableParameterfv; long glCopyColorSubTable; long glCopyColorTable; long glGetColorTable; long glGetColorTableParameteriv; long glGetColorTableParameterfv; long glHistogram; long glResetHistogram; long glGetHistogram; long glGetHistogramParameterfv; long glGetHistogramParameteriv; long glMinmax; long glResetMinmax; long glGetMinmax; long glGetMinmaxParameterfv; long glGetMinmaxParameteriv; long glConvolutionFilter1D; long glConvolutionFilter2D; long glConvolutionParameterf; long glConvolutionParameterfv; long glConvolutionParameteri; long glConvolutionParameteriv; long glCopyConvolutionFilter1D; long glCopyConvolutionFilter2D; long glGetConvolutionFilter; long glGetConvolutionParameterfv; long glGetConvolutionParameteriv; long glSeparableFilter2D; long glGetSeparableFilter; // ARB_instanced_arrays long glVertexAttribDivisorARB; // ARB_matrix_palette long glCurrentPaletteMatrixARB; long glMatrixIndexPointerARB; long glMatrixIndexubvARB; long glMatrixIndexusvARB; long glMatrixIndexuivARB; // ARB_multisample long glSampleCoverageARB; // ARB_multitexture long glClientActiveTextureARB; long glActiveTextureARB; long glMultiTexCoord1fARB; long glMultiTexCoord1dARB; long glMultiTexCoord1iARB; long glMultiTexCoord1sARB; long glMultiTexCoord2fARB; long glMultiTexCoord2dARB; long glMultiTexCoord2iARB; long glMultiTexCoord2sARB; long glMultiTexCoord3fARB; long glMultiTexCoord3dARB; long glMultiTexCoord3iARB; long glMultiTexCoord3sARB; long glMultiTexCoord4fARB; long glMultiTexCoord4dARB; long glMultiTexCoord4iARB; long glMultiTexCoord4sARB; // ARB_occlusion_query long glGenQueriesARB; long glDeleteQueriesARB; long glIsQueryARB; long glBeginQueryARB; long glEndQueryARB; long glGetQueryivARB; long glGetQueryObjectivARB; long glGetQueryObjectuivARB; // ARB_point_parameters long glPointParameterfARB; long glPointParameterfvARB; // ARB_program long glProgramStringARB; long glBindProgramARB; long glDeleteProgramsARB; long glGenProgramsARB; long glProgramEnvParameter4fARB; long glProgramEnvParameter4dARB; long glProgramEnvParameter4fvARB; long glProgramEnvParameter4dvARB; long glProgramLocalParameter4fARB; long glProgramLocalParameter4dARB; long glProgramLocalParameter4fvARB; long glProgramLocalParameter4dvARB; long glGetProgramEnvParameterfvARB; long glGetProgramEnvParameterdvARB; long glGetProgramLocalParameterfvARB; long glGetProgramLocalParameterdvARB; long glGetProgramivARB; long glGetProgramStringARB; long glIsProgramARB; // ARB_robustness long glGetGraphicsResetStatusARB; long glGetnMapdvARB; long glGetnMapfvARB; long glGetnMapivARB; long glGetnPixelMapfvARB; long glGetnPixelMapuivARB; long glGetnPixelMapusvARB; long glGetnPolygonStippleARB; long glGetnTexImageARB; long glReadnPixelsARB; long glGetnColorTableARB; long glGetnConvolutionFilterARB; long glGetnSeparableFilterARB; long glGetnHistogramARB; long glGetnMinmaxARB; long glGetnCompressedTexImageARB; long glGetnUniformfvARB; long glGetnUniformivARB; long glGetnUniformuivARB; long glGetnUniformdvARB; // ARB_sample_shading long glMinSampleShadingARB; // ARB_shader_objects long glDeleteObjectARB; long glGetHandleARB; long glDetachObjectARB; long glCreateShaderObjectARB; long glShaderSourceARB; long glCompileShaderARB; long glCreateProgramObjectARB; long glAttachObjectARB; long glLinkProgramARB; long glUseProgramObjectARB; long glValidateProgramARB; long glUniform1fARB; long glUniform2fARB; long glUniform3fARB; long glUniform4fARB; long glUniform1iARB; long glUniform2iARB; long glUniform3iARB; long glUniform4iARB; long glUniform1fvARB; long glUniform2fvARB; long glUniform3fvARB; long glUniform4fvARB; long glUniform1ivARB; long glUniform2ivARB; long glUniform3ivARB; long glUniform4ivARB; long glUniformMatrix2fvARB; long glUniformMatrix3fvARB; long glUniformMatrix4fvARB; long glGetObjectParameterfvARB; long glGetObjectParameterivARB; long glGetInfoLogARB; long glGetAttachedObjectsARB; long glGetUniformLocationARB; long glGetActiveUniformARB; long glGetUniformfvARB; long glGetUniformivARB; long glGetShaderSourceARB; // ARB_shading_language_include long glNamedStringARB; long glDeleteNamedStringARB; long glCompileShaderIncludeARB; long glIsNamedStringARB; long glGetNamedStringARB; long glGetNamedStringivARB; // ARB_texture_buffer_object long glTexBufferARB; // ARB_texture_buffer_range long glTextureBufferRangeEXT; // ARB_texture_compression long glCompressedTexImage1DARB; long glCompressedTexImage2DARB; long glCompressedTexImage3DARB; long glCompressedTexSubImage1DARB; long glCompressedTexSubImage2DARB; long glCompressedTexSubImage3DARB; long glGetCompressedTexImageARB; // ARB_texture_storage long glTextureStorage1DEXT; long glTextureStorage2DEXT; long glTextureStorage3DEXT; // ARB_texture_storage_multisample long glTextureStorage2DMultisampleEXT; long glTextureStorage3DMultisampleEXT; // ARB_transpose_matrix long glLoadTransposeMatrixfARB; long glMultTransposeMatrixfARB; // ARB_vertex_attrib_64bit long glVertexArrayVertexAttribLOffsetEXT; // ARB_vertex_blend long glWeightbvARB; long glWeightsvARB; long glWeightivARB; long glWeightfvARB; long glWeightdvARB; long glWeightubvARB; long glWeightusvARB; long glWeightuivARB; long glWeightPointerARB; long glVertexBlendARB; // ARB_vertex_shader long glVertexAttrib1sARB; long glVertexAttrib1fARB; long glVertexAttrib1dARB; long glVertexAttrib2sARB; long glVertexAttrib2fARB; long glVertexAttrib2dARB; long glVertexAttrib3sARB; long glVertexAttrib3fARB; long glVertexAttrib3dARB; long glVertexAttrib4sARB; long glVertexAttrib4fARB; long glVertexAttrib4dARB; long glVertexAttrib4NubARB; long glVertexAttribPointerARB; long glEnableVertexAttribArrayARB; long glDisableVertexAttribArrayARB; long glBindAttribLocationARB; long glGetActiveAttribARB; long glGetAttribLocationARB; long glGetVertexAttribfvARB; long glGetVertexAttribdvARB; long glGetVertexAttribivARB; long glGetVertexAttribPointervARB; // ARB_window_pos long glWindowPos2fARB; long glWindowPos2dARB; long glWindowPos2iARB; long glWindowPos2sARB; long glWindowPos3fARB; long glWindowPos3dARB; long glWindowPos3iARB; long glWindowPos3sARB; // ATI_draw_buffers long glDrawBuffersATI; // ATI_element_array long glElementPointerATI; long glDrawElementArrayATI; long glDrawRangeElementArrayATI; // ATI_envmap_bumpmap long glTexBumpParameterfvATI; long glTexBumpParameterivATI; long glGetTexBumpParameterfvATI; long glGetTexBumpParameterivATI; // ATI_fragment_shader long glGenFragmentShadersATI; long glBindFragmentShaderATI; long glDeleteFragmentShaderATI; long glBeginFragmentShaderATI; long glEndFragmentShaderATI; long glPassTexCoordATI; long glSampleMapATI; long glColorFragmentOp1ATI; long glColorFragmentOp2ATI; long glColorFragmentOp3ATI; long glAlphaFragmentOp1ATI; long glAlphaFragmentOp2ATI; long glAlphaFragmentOp3ATI; long glSetFragmentShaderConstantATI; // ATI_map_object_buffer long glMapObjectBufferATI; long glUnmapObjectBufferATI; // ATI_pn_triangles long glPNTrianglesfATI; long glPNTrianglesiATI; // ATI_separate_stencil long glStencilOpSeparateATI; long glStencilFuncSeparateATI; // ATI_vertex_array_object long glNewObjectBufferATI; long glIsObjectBufferATI; long glUpdateObjectBufferATI; long glGetObjectBufferfvATI; long glGetObjectBufferivATI; long glFreeObjectBufferATI; long glArrayObjectATI; long glGetArrayObjectfvATI; long glGetArrayObjectivATI; long glVariantArrayObjectATI; long glGetVariantArrayObjectfvATI; long glGetVariantArrayObjectivATI; // ATI_vertex_attrib_array_object long glVertexAttribArrayObjectATI; long glGetVertexAttribArrayObjectfvATI; long glGetVertexAttribArrayObjectivATI; // ATI_vertex_streams long glVertexStream2fATI; long glVertexStream2dATI; long glVertexStream2iATI; long glVertexStream2sATI; long glVertexStream3fATI; long glVertexStream3dATI; long glVertexStream3iATI; long glVertexStream3sATI; long glVertexStream4fATI; long glVertexStream4dATI; long glVertexStream4iATI; long glVertexStream4sATI; long glNormalStream3bATI; long glNormalStream3fATI; long glNormalStream3dATI; long glNormalStream3iATI; long glNormalStream3sATI; long glClientActiveVertexStreamATI; long glVertexBlendEnvfATI; long glVertexBlendEnviATI; // EXT_bindable_uniform long glUniformBufferEXT; long glGetUniformBufferSizeEXT; long glGetUniformOffsetEXT; // EXT_blend_color long glBlendColorEXT; // EXT_blend_equation_separate long glBlendEquationSeparateEXT; // EXT_blend_func_separate long glBlendFuncSeparateEXT; // EXT_blend_minmax long glBlendEquationEXT; // EXT_compiled_vertex_array long glLockArraysEXT; long glUnlockArraysEXT; // EXT_depth_bounds_test long glDepthBoundsEXT; // EXT_direct_state_access long glClientAttribDefaultEXT; long glPushClientAttribDefaultEXT; long glMatrixLoadfEXT; long glMatrixLoaddEXT; long glMatrixMultfEXT; long glMatrixMultdEXT; long glMatrixLoadIdentityEXT; long glMatrixRotatefEXT; long glMatrixRotatedEXT; long glMatrixScalefEXT; long glMatrixScaledEXT; long glMatrixTranslatefEXT; long glMatrixTranslatedEXT; long glMatrixOrthoEXT; long glMatrixFrustumEXT; long glMatrixPushEXT; long glMatrixPopEXT; long glTextureParameteriEXT; long glTextureParameterivEXT; long glTextureParameterfEXT; long glTextureParameterfvEXT; long glTextureImage1DEXT; long glTextureImage2DEXT; long glTextureSubImage1DEXT; long glTextureSubImage2DEXT; long glCopyTextureImage1DEXT; long glCopyTextureImage2DEXT; long glCopyTextureSubImage1DEXT; long glCopyTextureSubImage2DEXT; long glGetTextureImageEXT; long glGetTextureParameterfvEXT; long glGetTextureParameterivEXT; long glGetTextureLevelParameterfvEXT; long glGetTextureLevelParameterivEXT; long glTextureImage3DEXT; long glTextureSubImage3DEXT; long glCopyTextureSubImage3DEXT; long glBindMultiTextureEXT; long glMultiTexCoordPointerEXT; long glMultiTexEnvfEXT; long glMultiTexEnvfvEXT; long glMultiTexEnviEXT; long glMultiTexEnvivEXT; long glMultiTexGendEXT; long glMultiTexGendvEXT; long glMultiTexGenfEXT; long glMultiTexGenfvEXT; long glMultiTexGeniEXT; long glMultiTexGenivEXT; long glGetMultiTexEnvfvEXT; long glGetMultiTexEnvivEXT; long glGetMultiTexGendvEXT; long glGetMultiTexGenfvEXT; long glGetMultiTexGenivEXT; long glMultiTexParameteriEXT; long glMultiTexParameterivEXT; long glMultiTexParameterfEXT; long glMultiTexParameterfvEXT; long glMultiTexImage1DEXT; long glMultiTexImage2DEXT; long glMultiTexSubImage1DEXT; long glMultiTexSubImage2DEXT; long glCopyMultiTexImage1DEXT; long glCopyMultiTexImage2DEXT; long glCopyMultiTexSubImage1DEXT; long glCopyMultiTexSubImage2DEXT; long glGetMultiTexImageEXT; long glGetMultiTexParameterfvEXT; long glGetMultiTexParameterivEXT; long glGetMultiTexLevelParameterfvEXT; long glGetMultiTexLevelParameterivEXT; long glMultiTexImage3DEXT; long glMultiTexSubImage3DEXT; long glCopyMultiTexSubImage3DEXT; long glEnableClientStateIndexedEXT; long glDisableClientStateIndexedEXT; long glEnableClientStateiEXT; long glDisableClientStateiEXT; long glGetFloatIndexedvEXT; long glGetDoubleIndexedvEXT; long glGetPointerIndexedvEXT; long glGetFloati_vEXT; long glGetDoublei_vEXT; long glGetPointeri_vEXT; long glNamedProgramStringEXT; long glNamedProgramLocalParameter4dEXT; long glNamedProgramLocalParameter4dvEXT; long glNamedProgramLocalParameter4fEXT; long glNamedProgramLocalParameter4fvEXT; long glGetNamedProgramLocalParameterdvEXT; long glGetNamedProgramLocalParameterfvEXT; long glGetNamedProgramivEXT; long glGetNamedProgramStringEXT; long glCompressedTextureImage3DEXT; long glCompressedTextureImage2DEXT; long glCompressedTextureImage1DEXT; long glCompressedTextureSubImage3DEXT; long glCompressedTextureSubImage2DEXT; long glCompressedTextureSubImage1DEXT; long glGetCompressedTextureImageEXT; long glCompressedMultiTexImage3DEXT; long glCompressedMultiTexImage2DEXT; long glCompressedMultiTexImage1DEXT; long glCompressedMultiTexSubImage3DEXT; long glCompressedMultiTexSubImage2DEXT; long glCompressedMultiTexSubImage1DEXT; long glGetCompressedMultiTexImageEXT; long glMatrixLoadTransposefEXT; long glMatrixLoadTransposedEXT; long glMatrixMultTransposefEXT; long glMatrixMultTransposedEXT; long glNamedBufferDataEXT; long glNamedBufferSubDataEXT; long glMapNamedBufferEXT; long glUnmapNamedBufferEXT; long glGetNamedBufferParameterivEXT; long glGetNamedBufferPointervEXT; long glGetNamedBufferSubDataEXT; long glProgramUniform1fEXT; long glProgramUniform2fEXT; long glProgramUniform3fEXT; long glProgramUniform4fEXT; long glProgramUniform1iEXT; long glProgramUniform2iEXT; long glProgramUniform3iEXT; long glProgramUniform4iEXT; long glProgramUniform1fvEXT; long glProgramUniform2fvEXT; long glProgramUniform3fvEXT; long glProgramUniform4fvEXT; long glProgramUniform1ivEXT; long glProgramUniform2ivEXT; long glProgramUniform3ivEXT; long glProgramUniform4ivEXT; long glProgramUniformMatrix2fvEXT; long glProgramUniformMatrix3fvEXT; long glProgramUniformMatrix4fvEXT; long glProgramUniformMatrix2x3fvEXT; long glProgramUniformMatrix3x2fvEXT; long glProgramUniformMatrix2x4fvEXT; long glProgramUniformMatrix4x2fvEXT; long glProgramUniformMatrix3x4fvEXT; long glProgramUniformMatrix4x3fvEXT; long glTextureBufferEXT; long glMultiTexBufferEXT; long glTextureParameterIivEXT; long glTextureParameterIuivEXT; long glGetTextureParameterIivEXT; long glGetTextureParameterIuivEXT; long glMultiTexParameterIivEXT; long glMultiTexParameterIuivEXT; long glGetMultiTexParameterIivEXT; long glGetMultiTexParameterIuivEXT; long glProgramUniform1uiEXT; long glProgramUniform2uiEXT; long glProgramUniform3uiEXT; long glProgramUniform4uiEXT; long glProgramUniform1uivEXT; long glProgramUniform2uivEXT; long glProgramUniform3uivEXT; long glProgramUniform4uivEXT; long glNamedProgramLocalParameters4fvEXT; long glNamedProgramLocalParameterI4iEXT; long glNamedProgramLocalParameterI4ivEXT; long glNamedProgramLocalParametersI4ivEXT; long glNamedProgramLocalParameterI4uiEXT; long glNamedProgramLocalParameterI4uivEXT; long glNamedProgramLocalParametersI4uivEXT; long glGetNamedProgramLocalParameterIivEXT; long glGetNamedProgramLocalParameterIuivEXT; long glNamedRenderbufferStorageEXT; long glGetNamedRenderbufferParameterivEXT; long glNamedRenderbufferStorageMultisampleEXT; long glNamedRenderbufferStorageMultisampleCoverageEXT; long glCheckNamedFramebufferStatusEXT; long glNamedFramebufferTexture1DEXT; long glNamedFramebufferTexture2DEXT; long glNamedFramebufferTexture3DEXT; long glNamedFramebufferRenderbufferEXT; long glGetNamedFramebufferAttachmentParameterivEXT; long glGenerateTextureMipmapEXT; long glGenerateMultiTexMipmapEXT; long glFramebufferDrawBufferEXT; long glFramebufferDrawBuffersEXT; long glFramebufferReadBufferEXT; long glGetFramebufferParameterivEXT; long glNamedCopyBufferSubDataEXT; long glNamedFramebufferTextureEXT; long glNamedFramebufferTextureLayerEXT; long glNamedFramebufferTextureFaceEXT; long glTextureRenderbufferEXT; long glMultiTexRenderbufferEXT; long glVertexArrayVertexOffsetEXT; long glVertexArrayColorOffsetEXT; long glVertexArrayEdgeFlagOffsetEXT; long glVertexArrayIndexOffsetEXT; long glVertexArrayNormalOffsetEXT; long glVertexArrayTexCoordOffsetEXT; long glVertexArrayMultiTexCoordOffsetEXT; long glVertexArrayFogCoordOffsetEXT; long glVertexArraySecondaryColorOffsetEXT; long glVertexArrayVertexAttribOffsetEXT; long glVertexArrayVertexAttribIOffsetEXT; long glEnableVertexArrayEXT; long glDisableVertexArrayEXT; long glEnableVertexArrayAttribEXT; long glDisableVertexArrayAttribEXT; long glGetVertexArrayIntegervEXT; long glGetVertexArrayPointervEXT; long glGetVertexArrayIntegeri_vEXT; long glGetVertexArrayPointeri_vEXT; long glMapNamedBufferRangeEXT; long glFlushMappedNamedBufferRangeEXT; // EXT_draw_buffers2 long glColorMaskIndexedEXT; long glGetBooleanIndexedvEXT; long glGetIntegerIndexedvEXT; long glEnableIndexedEXT; long glDisableIndexedEXT; long glIsEnabledIndexedEXT; // EXT_draw_instanced long glDrawArraysInstancedEXT; long glDrawElementsInstancedEXT; // EXT_draw_range_elements long glDrawRangeElementsEXT; // EXT_fog_coord long glFogCoordfEXT; long glFogCoorddEXT; long glFogCoordPointerEXT; // EXT_framebuffer_blit long glBlitFramebufferEXT; // EXT_framebuffer_multisample long glRenderbufferStorageMultisampleEXT; // EXT_framebuffer_object long glIsRenderbufferEXT; long glBindRenderbufferEXT; long glDeleteRenderbuffersEXT; long glGenRenderbuffersEXT; long glRenderbufferStorageEXT; long glGetRenderbufferParameterivEXT; long glIsFramebufferEXT; long glBindFramebufferEXT; long glDeleteFramebuffersEXT; long glGenFramebuffersEXT; long glCheckFramebufferStatusEXT; long glFramebufferTexture1DEXT; long glFramebufferTexture2DEXT; long glFramebufferTexture3DEXT; long glFramebufferRenderbufferEXT; long glGetFramebufferAttachmentParameterivEXT; long glGenerateMipmapEXT; // EXT_geometry_shader4 long glProgramParameteriEXT; long glFramebufferTextureEXT; long glFramebufferTextureLayerEXT; long glFramebufferTextureFaceEXT; // EXT_gpu_program_parameters long glProgramEnvParameters4fvEXT; long glProgramLocalParameters4fvEXT; // EXT_gpu_shader4 long glVertexAttribI1iEXT; long glVertexAttribI2iEXT; long glVertexAttribI3iEXT; long glVertexAttribI4iEXT; long glVertexAttribI1uiEXT; long glVertexAttribI2uiEXT; long glVertexAttribI3uiEXT; long glVertexAttribI4uiEXT; long glVertexAttribI1ivEXT; long glVertexAttribI2ivEXT; long glVertexAttribI3ivEXT; long glVertexAttribI4ivEXT; long glVertexAttribI1uivEXT; long glVertexAttribI2uivEXT; long glVertexAttribI3uivEXT; long glVertexAttribI4uivEXT; long glVertexAttribI4bvEXT; long glVertexAttribI4svEXT; long glVertexAttribI4ubvEXT; long glVertexAttribI4usvEXT; long glVertexAttribIPointerEXT; long glGetVertexAttribIivEXT; long glGetVertexAttribIuivEXT; long glUniform1uiEXT; long glUniform2uiEXT; long glUniform3uiEXT; long glUniform4uiEXT; long glUniform1uivEXT; long glUniform2uivEXT; long glUniform3uivEXT; long glUniform4uivEXT; long glGetUniformuivEXT; long glBindFragDataLocationEXT; long glGetFragDataLocationEXT; // EXT_multi_draw_arrays long glMultiDrawArraysEXT; // EXT_paletted_texture long glColorTableEXT; long glColorSubTableEXT; long glGetColorTableEXT; long glGetColorTableParameterivEXT; long glGetColorTableParameterfvEXT; // EXT_point_parameters long glPointParameterfEXT; long glPointParameterfvEXT; // EXT_provoking_vertex long glProvokingVertexEXT; // EXT_secondary_color long glSecondaryColor3bEXT; long glSecondaryColor3fEXT; long glSecondaryColor3dEXT; long glSecondaryColor3ubEXT; long glSecondaryColorPointerEXT; // EXT_separate_shader_objects long glUseShaderProgramEXT; long glActiveProgramEXT; long glCreateShaderProgramEXT; // EXT_shader_image_load_store long glBindImageTextureEXT; long glMemoryBarrierEXT; // EXT_stencil_clear_tag long glStencilClearTagEXT; // EXT_stencil_two_side long glActiveStencilFaceEXT; // EXT_texture_buffer_object long glTexBufferEXT; // EXT_texture_integer long glClearColorIiEXT; long glClearColorIuiEXT; long glTexParameterIivEXT; long glTexParameterIuivEXT; long glGetTexParameterIivEXT; long glGetTexParameterIuivEXT; // EXT_timer_query long glGetQueryObjecti64vEXT; long glGetQueryObjectui64vEXT; // EXT_transform_feedback long glBindBufferRangeEXT; long glBindBufferOffsetEXT; long glBindBufferBaseEXT; long glBeginTransformFeedbackEXT; long glEndTransformFeedbackEXT; long glTransformFeedbackVaryingsEXT; long glGetTransformFeedbackVaryingEXT; // EXT_vertex_attrib_64bit long glVertexAttribL1dEXT; long glVertexAttribL2dEXT; long glVertexAttribL3dEXT; long glVertexAttribL4dEXT; long glVertexAttribL1dvEXT; long glVertexAttribL2dvEXT; long glVertexAttribL3dvEXT; long glVertexAttribL4dvEXT; long glVertexAttribLPointerEXT; long glGetVertexAttribLdvEXT; // EXT_vertex_shader long glBeginVertexShaderEXT; long glEndVertexShaderEXT; long glBindVertexShaderEXT; long glGenVertexShadersEXT; long glDeleteVertexShaderEXT; long glShaderOp1EXT; long glShaderOp2EXT; long glShaderOp3EXT; long glSwizzleEXT; long glWriteMaskEXT; long glInsertComponentEXT; long glExtractComponentEXT; long glGenSymbolsEXT; long glSetInvariantEXT; long glSetLocalConstantEXT; long glVariantbvEXT; long glVariantsvEXT; long glVariantivEXT; long glVariantfvEXT; long glVariantdvEXT; long glVariantubvEXT; long glVariantusvEXT; long glVariantuivEXT; long glVariantPointerEXT; long glEnableVariantClientStateEXT; long glDisableVariantClientStateEXT; long glBindLightParameterEXT; long glBindMaterialParameterEXT; long glBindTexGenParameterEXT; long glBindTextureUnitParameterEXT; long glBindParameterEXT; long glIsVariantEnabledEXT; long glGetVariantBooleanvEXT; long glGetVariantIntegervEXT; long glGetVariantFloatvEXT; long glGetVariantPointervEXT; long glGetInvariantBooleanvEXT; long glGetInvariantIntegervEXT; long glGetInvariantFloatvEXT; long glGetLocalConstantBooleanvEXT; long glGetLocalConstantIntegervEXT; long glGetLocalConstantFloatvEXT; // EXT_vertex_weighting long glVertexWeightfEXT; long glVertexWeightPointerEXT; // GL11 long glAccum; long glAlphaFunc; long glClearColor; long glClearAccum; long glClear; long glCallLists; long glCallList; long glBlendFunc; long glBitmap; long glBindTexture; long glPrioritizeTextures; long glAreTexturesResident; long glBegin; long glEnd; long glArrayElement; long glClearDepth; long glDeleteLists; long glDeleteTextures; long glCullFace; long glCopyTexSubImage2D; long glCopyTexSubImage1D; long glCopyTexImage2D; long glCopyTexImage1D; long glCopyPixels; long glColorPointer; long glColorMaterial; long glColorMask; long glColor3b; long glColor3f; long glColor3d; long glColor3ub; long glColor4b; long glColor4f; long glColor4d; long glColor4ub; long glClipPlane; long glClearStencil; long glEvalPoint1; long glEvalPoint2; long glEvalMesh1; long glEvalMesh2; long glEvalCoord1f; long glEvalCoord1d; long glEvalCoord2f; long glEvalCoord2d; long glEnableClientState; long glDisableClientState; long glEnable; long glDisable; long glEdgeFlagPointer; long glEdgeFlag; long glDrawPixels; long glDrawElements; long glDrawBuffer; long glDrawArrays; long glDepthRange; long glDepthMask; long glDepthFunc; long glFeedbackBuffer; long glGetPixelMapfv; long glGetPixelMapuiv; long glGetPixelMapusv; long glGetMaterialfv; long glGetMaterialiv; long glGetMapfv; long glGetMapdv; long glGetMapiv; long glGetLightfv; long glGetLightiv; long glGetError; long glGetClipPlane; long glGetBooleanv; long glGetDoublev; long glGetFloatv; long glGetIntegerv; long glGenTextures; long glGenLists; long glFrustum; long glFrontFace; long glFogf; long glFogi; long glFogfv; long glFogiv; long glFlush; long glFinish; long glGetPointerv; long glIsEnabled; long glInterleavedArrays; long glInitNames; long glHint; long glGetTexParameterfv; long glGetTexParameteriv; long glGetTexLevelParameterfv; long glGetTexLevelParameteriv; long glGetTexImage; long glGetTexGeniv; long glGetTexGenfv; long glGetTexGendv; long glGetTexEnviv; long glGetTexEnvfv; long glGetString; long glGetPolygonStipple; long glIsList; long glMaterialf; long glMateriali; long glMaterialfv; long glMaterialiv; long glMapGrid1f; long glMapGrid1d; long glMapGrid2f; long glMapGrid2d; long glMap2f; long glMap2d; long glMap1f; long glMap1d; long glLogicOp; long glLoadName; long glLoadMatrixf; long glLoadMatrixd; long glLoadIdentity; long glListBase; long glLineWidth; long glLineStipple; long glLightModelf; long glLightModeli; long glLightModelfv; long glLightModeliv; long glLightf; long glLighti; long glLightfv; long glLightiv; long glIsTexture; long glMatrixMode; long glPolygonStipple; long glPolygonOffset; long glPolygonMode; long glPointSize; long glPixelZoom; long glPixelTransferf; long glPixelTransferi; long glPixelStoref; long glPixelStorei; long glPixelMapfv; long glPixelMapuiv; long glPixelMapusv; long glPassThrough; long glOrtho; long glNormalPointer; long glNormal3b; long glNormal3f; long glNormal3d; long glNormal3i; long glNewList; long glEndList; long glMultMatrixf; long glMultMatrixd; long glShadeModel; long glSelectBuffer; long glScissor; long glScalef; long glScaled; long glRotatef; long glRotated; long glRenderMode; long glRectf; long glRectd; long glRecti; long glReadPixels; long glReadBuffer; long glRasterPos2f; long glRasterPos2d; long glRasterPos2i; long glRasterPos3f; long glRasterPos3d; long glRasterPos3i; long glRasterPos4f; long glRasterPos4d; long glRasterPos4i; long glPushName; long glPopName; long glPushMatrix; long glPopMatrix; long glPushClientAttrib; long glPopClientAttrib; long glPushAttrib; long glPopAttrib; long glStencilFunc; long glVertexPointer; long glVertex2f; long glVertex2d; long glVertex2i; long glVertex3f; long glVertex3d; long glVertex3i; long glVertex4f; long glVertex4d; long glVertex4i; long glTranslatef; long glTranslated; long glTexImage1D; long glTexImage2D; long glTexSubImage1D; long glTexSubImage2D; long glTexParameterf; long glTexParameteri; long glTexParameterfv; long glTexParameteriv; long glTexGenf; long glTexGend; long glTexGenfv; long glTexGendv; long glTexGeni; long glTexGeniv; long glTexEnvf; long glTexEnvi; long glTexEnvfv; long glTexEnviv; long glTexCoordPointer; long glTexCoord1f; long glTexCoord1d; long glTexCoord2f; long glTexCoord2d; long glTexCoord3f; long glTexCoord3d; long glTexCoord4f; long glTexCoord4d; long glStencilOp; long glStencilMask; long glViewport; // GL12 long glDrawRangeElements; long glTexImage3D; long glTexSubImage3D; long glCopyTexSubImage3D; // GL13 long glActiveTexture; long glClientActiveTexture; long glCompressedTexImage1D; long glCompressedTexImage2D; long glCompressedTexImage3D; long glCompressedTexSubImage1D; long glCompressedTexSubImage2D; long glCompressedTexSubImage3D; long glGetCompressedTexImage; long glMultiTexCoord1f; long glMultiTexCoord1d; long glMultiTexCoord2f; long glMultiTexCoord2d; long glMultiTexCoord3f; long glMultiTexCoord3d; long glMultiTexCoord4f; long glMultiTexCoord4d; long glLoadTransposeMatrixf; long glLoadTransposeMatrixd; long glMultTransposeMatrixf; long glMultTransposeMatrixd; long glSampleCoverage; // GL14 long glBlendEquation; long glBlendColor; long glFogCoordf; long glFogCoordd; long glFogCoordPointer; long glMultiDrawArrays; long glPointParameteri; long glPointParameterf; long glPointParameteriv; long glPointParameterfv; long glSecondaryColor3b; long glSecondaryColor3f; long glSecondaryColor3d; long glSecondaryColor3ub; long glSecondaryColorPointer; long glBlendFuncSeparate; long glWindowPos2f; long glWindowPos2d; long glWindowPos2i; long glWindowPos3f; long glWindowPos3d; long glWindowPos3i; // GL15 long glBindBuffer; long glDeleteBuffers; long glGenBuffers; long glIsBuffer; long glBufferData; long glBufferSubData; long glGetBufferSubData; long glMapBuffer; long glUnmapBuffer; long glGetBufferParameteriv; long glGetBufferPointerv; long glGenQueries; long glDeleteQueries; long glIsQuery; long glBeginQuery; long glEndQuery; long glGetQueryiv; long glGetQueryObjectiv; long glGetQueryObjectuiv; // GL20 long glShaderSource; long glCreateShader; long glIsShader; long glCompileShader; long glDeleteShader; long glCreateProgram; long glIsProgram; long glAttachShader; long glDetachShader; long glLinkProgram; long glUseProgram; long glValidateProgram; long glDeleteProgram; long glUniform1f; long glUniform2f; long glUniform3f; long glUniform4f; long glUniform1i; long glUniform2i; long glUniform3i; long glUniform4i; long glUniform1fv; long glUniform2fv; long glUniform3fv; long glUniform4fv; long glUniform1iv; long glUniform2iv; long glUniform3iv; long glUniform4iv; long glUniformMatrix2fv; long glUniformMatrix3fv; long glUniformMatrix4fv; long glGetShaderiv; long glGetProgramiv; long glGetShaderInfoLog; long glGetProgramInfoLog; long glGetAttachedShaders; long glGetUniformLocation; long glGetActiveUniform; long glGetUniformfv; long glGetUniformiv; long glGetShaderSource; long glVertexAttrib1s; long glVertexAttrib1f; long glVertexAttrib1d; long glVertexAttrib2s; long glVertexAttrib2f; long glVertexAttrib2d; long glVertexAttrib3s; long glVertexAttrib3f; long glVertexAttrib3d; long glVertexAttrib4s; long glVertexAttrib4f; long glVertexAttrib4d; long glVertexAttrib4Nub; long glVertexAttribPointer; long glEnableVertexAttribArray; long glDisableVertexAttribArray; long glGetVertexAttribfv; long glGetVertexAttribdv; long glGetVertexAttribiv; long glGetVertexAttribPointerv; long glBindAttribLocation; long glGetActiveAttrib; long glGetAttribLocation; long glDrawBuffers; long glStencilOpSeparate; long glStencilFuncSeparate; long glStencilMaskSeparate; long glBlendEquationSeparate; // GL21 long glUniformMatrix2x3fv; long glUniformMatrix3x2fv; long glUniformMatrix2x4fv; long glUniformMatrix4x2fv; long glUniformMatrix3x4fv; long glUniformMatrix4x3fv; // GL30 long glGetStringi; long glClearBufferfv; long glClearBufferiv; long glClearBufferuiv; long glClearBufferfi; long glVertexAttribI1i; long glVertexAttribI2i; long glVertexAttribI3i; long glVertexAttribI4i; long glVertexAttribI1ui; long glVertexAttribI2ui; long glVertexAttribI3ui; long glVertexAttribI4ui; long glVertexAttribI1iv; long glVertexAttribI2iv; long glVertexAttribI3iv; long glVertexAttribI4iv; long glVertexAttribI1uiv; long glVertexAttribI2uiv; long glVertexAttribI3uiv; long glVertexAttribI4uiv; long glVertexAttribI4bv; long glVertexAttribI4sv; long glVertexAttribI4ubv; long glVertexAttribI4usv; long glVertexAttribIPointer; long glGetVertexAttribIiv; long glGetVertexAttribIuiv; long glUniform1ui; long glUniform2ui; long glUniform3ui; long glUniform4ui; long glUniform1uiv; long glUniform2uiv; long glUniform3uiv; long glUniform4uiv; long glGetUniformuiv; long glBindFragDataLocation; long glGetFragDataLocation; long glBeginConditionalRender; long glEndConditionalRender; long glMapBufferRange; long glFlushMappedBufferRange; long glClampColor; long glIsRenderbuffer; long glBindRenderbuffer; long glDeleteRenderbuffers; long glGenRenderbuffers; long glRenderbufferStorage; long glGetRenderbufferParameteriv; long glIsFramebuffer; long glBindFramebuffer; long glDeleteFramebuffers; long glGenFramebuffers; long glCheckFramebufferStatus; long glFramebufferTexture1D; long glFramebufferTexture2D; long glFramebufferTexture3D; long glFramebufferRenderbuffer; long glGetFramebufferAttachmentParameteriv; long glGenerateMipmap; long glRenderbufferStorageMultisample; long glBlitFramebuffer; long glTexParameterIiv; long glTexParameterIuiv; long glGetTexParameterIiv; long glGetTexParameterIuiv; long glFramebufferTextureLayer; long glColorMaski; long glGetBooleani_v; long glGetIntegeri_v; long glEnablei; long glDisablei; long glIsEnabledi; long glBindBufferRange; long glBindBufferBase; long glBeginTransformFeedback; long glEndTransformFeedback; long glTransformFeedbackVaryings; long glGetTransformFeedbackVarying; long glBindVertexArray; long glDeleteVertexArrays; long glGenVertexArrays; long glIsVertexArray; // GL31 long glDrawArraysInstanced; long glDrawElementsInstanced; long glCopyBufferSubData; long glPrimitiveRestartIndex; long glTexBuffer; long glGetUniformIndices; long glGetActiveUniformsiv; long glGetActiveUniformName; long glGetUniformBlockIndex; long glGetActiveUniformBlockiv; long glGetActiveUniformBlockName; long glUniformBlockBinding; // GL32 long glGetBufferParameteri64v; long glDrawElementsBaseVertex; long glDrawRangeElementsBaseVertex; long glDrawElementsInstancedBaseVertex; long glProvokingVertex; long glTexImage2DMultisample; long glTexImage3DMultisample; long glGetMultisamplefv; long glSampleMaski; long glFramebufferTexture; long glFenceSync; long glIsSync; long glDeleteSync; long glClientWaitSync; long glWaitSync; long glGetInteger64v; long glGetInteger64i_v; long glGetSynciv; // GL33 long glBindFragDataLocationIndexed; long glGetFragDataIndex; long glGenSamplers; long glDeleteSamplers; long glIsSampler; long glBindSampler; long glSamplerParameteri; long glSamplerParameterf; long glSamplerParameteriv; long glSamplerParameterfv; long glSamplerParameterIiv; long glSamplerParameterIuiv; long glGetSamplerParameteriv; long glGetSamplerParameterfv; long glGetSamplerParameterIiv; long glGetSamplerParameterIuiv; long glQueryCounter; long glGetQueryObjecti64v; long glGetQueryObjectui64v; long glVertexAttribDivisor; long glVertexP2ui; long glVertexP3ui; long glVertexP4ui; long glVertexP2uiv; long glVertexP3uiv; long glVertexP4uiv; long glTexCoordP1ui; long glTexCoordP2ui; long glTexCoordP3ui; long glTexCoordP4ui; long glTexCoordP1uiv; long glTexCoordP2uiv; long glTexCoordP3uiv; long glTexCoordP4uiv; long glMultiTexCoordP1ui; long glMultiTexCoordP2ui; long glMultiTexCoordP3ui; long glMultiTexCoordP4ui; long glMultiTexCoordP1uiv; long glMultiTexCoordP2uiv; long glMultiTexCoordP3uiv; long glMultiTexCoordP4uiv; long glNormalP3ui; long glNormalP3uiv; long glColorP3ui; long glColorP4ui; long glColorP3uiv; long glColorP4uiv; long glSecondaryColorP3ui; long glSecondaryColorP3uiv; long glVertexAttribP1ui; long glVertexAttribP2ui; long glVertexAttribP3ui; long glVertexAttribP4ui; long glVertexAttribP1uiv; long glVertexAttribP2uiv; long glVertexAttribP3uiv; long glVertexAttribP4uiv; // GL40 long glBlendEquationi; long glBlendEquationSeparatei; long glBlendFunci; long glBlendFuncSeparatei; long glDrawArraysIndirect; long glDrawElementsIndirect; long glUniform1d; long glUniform2d; long glUniform3d; long glUniform4d; long glUniform1dv; long glUniform2dv; long glUniform3dv; long glUniform4dv; long glUniformMatrix2dv; long glUniformMatrix3dv; long glUniformMatrix4dv; long glUniformMatrix2x3dv; long glUniformMatrix2x4dv; long glUniformMatrix3x2dv; long glUniformMatrix3x4dv; long glUniformMatrix4x2dv; long glUniformMatrix4x3dv; long glGetUniformdv; long glMinSampleShading; long glGetSubroutineUniformLocation; long glGetSubroutineIndex; long glGetActiveSubroutineUniformiv; long glGetActiveSubroutineUniformName; long glGetActiveSubroutineName; long glUniformSubroutinesuiv; long glGetUniformSubroutineuiv; long glGetProgramStageiv; long glPatchParameteri; long glPatchParameterfv; long glBindTransformFeedback; long glDeleteTransformFeedbacks; long glGenTransformFeedbacks; long glIsTransformFeedback; long glPauseTransformFeedback; long glResumeTransformFeedback; long glDrawTransformFeedback; long glDrawTransformFeedbackStream; long glBeginQueryIndexed; long glEndQueryIndexed; long glGetQueryIndexediv; // GL41 long glReleaseShaderCompiler; long glShaderBinary; long glGetShaderPrecisionFormat; long glDepthRangef; long glClearDepthf; long glGetProgramBinary; long glProgramBinary; long glProgramParameteri; long glUseProgramStages; long glActiveShaderProgram; long glCreateShaderProgramv; long glBindProgramPipeline; long glDeleteProgramPipelines; long glGenProgramPipelines; long glIsProgramPipeline; long glGetProgramPipelineiv; long glProgramUniform1i; long glProgramUniform2i; long glProgramUniform3i; long glProgramUniform4i; long glProgramUniform1f; long glProgramUniform2f; long glProgramUniform3f; long glProgramUniform4f; long glProgramUniform1d; long glProgramUniform2d; long glProgramUniform3d; long glProgramUniform4d; long glProgramUniform1iv; long glProgramUniform2iv; long glProgramUniform3iv; long glProgramUniform4iv; long glProgramUniform1fv; long glProgramUniform2fv; long glProgramUniform3fv; long glProgramUniform4fv; long glProgramUniform1dv; long glProgramUniform2dv; long glProgramUniform3dv; long glProgramUniform4dv; long glProgramUniform1ui; long glProgramUniform2ui; long glProgramUniform3ui; long glProgramUniform4ui; long glProgramUniform1uiv; long glProgramUniform2uiv; long glProgramUniform3uiv; long glProgramUniform4uiv; long glProgramUniformMatrix2fv; long glProgramUniformMatrix3fv; long glProgramUniformMatrix4fv; long glProgramUniformMatrix2dv; long glProgramUniformMatrix3dv; long glProgramUniformMatrix4dv; long glProgramUniformMatrix2x3fv; long glProgramUniformMatrix3x2fv; long glProgramUniformMatrix2x4fv; long glProgramUniformMatrix4x2fv; long glProgramUniformMatrix3x4fv; long glProgramUniformMatrix4x3fv; long glProgramUniformMatrix2x3dv; long glProgramUniformMatrix3x2dv; long glProgramUniformMatrix2x4dv; long glProgramUniformMatrix4x2dv; long glProgramUniformMatrix3x4dv; long glProgramUniformMatrix4x3dv; long glValidateProgramPipeline; long glGetProgramPipelineInfoLog; long glVertexAttribL1d; long glVertexAttribL2d; long glVertexAttribL3d; long glVertexAttribL4d; long glVertexAttribL1dv; long glVertexAttribL2dv; long glVertexAttribL3dv; long glVertexAttribL4dv; long glVertexAttribLPointer; long glGetVertexAttribLdv; long glViewportArrayv; long glViewportIndexedf; long glViewportIndexedfv; long glScissorArrayv; long glScissorIndexed; long glScissorIndexedv; long glDepthRangeArrayv; long glDepthRangeIndexed; long glGetFloati_v; long glGetDoublei_v; // GL42 long glGetActiveAtomicCounterBufferiv; long glTexStorage1D; long glTexStorage2D; long glTexStorage3D; long glDrawTransformFeedbackInstanced; long glDrawTransformFeedbackStreamInstanced; long glDrawArraysInstancedBaseInstance; long glDrawElementsInstancedBaseInstance; long glDrawElementsInstancedBaseVertexBaseInstance; long glBindImageTexture; long glMemoryBarrier; long glGetInternalformativ; // GL43 long glClearBufferData; long glClearBufferSubData; long glDispatchCompute; long glDispatchComputeIndirect; long glCopyImageSubData; long glDebugMessageControl; long glDebugMessageInsert; long glDebugMessageCallback; long glGetDebugMessageLog; long glPushDebugGroup; long glPopDebugGroup; long glObjectLabel; long glGetObjectLabel; long glObjectPtrLabel; long glGetObjectPtrLabel; long glFramebufferParameteri; long glGetFramebufferParameteriv; long glGetInternalformati64v; long glInvalidateTexSubImage; long glInvalidateTexImage; long glInvalidateBufferSubData; long glInvalidateBufferData; long glInvalidateFramebuffer; long glInvalidateSubFramebuffer; long glMultiDrawArraysIndirect; long glMultiDrawElementsIndirect; long glGetProgramInterfaceiv; long glGetProgramResourceIndex; long glGetProgramResourceName; long glGetProgramResourceiv; long glGetProgramResourceLocation; long glGetProgramResourceLocationIndex; long glShaderStorageBlockBinding; long glTexBufferRange; long glTexStorage2DMultisample; long glTexStorage3DMultisample; long glTextureView; long glBindVertexBuffer; long glVertexAttribFormat; long glVertexAttribIFormat; long glVertexAttribLFormat; long glVertexAttribBinding; long glVertexBindingDivisor; // GREMEDY_string_marker long glStringMarkerGREMEDY; // INTEL_map_texture long glMapTexture2DINTEL; long glUnmapTexture2DINTEL; long glSyncTextureINTEL; // NV_bindless_texture long glGetTextureHandleNV; long glGetTextureSamplerHandleNV; long glMakeTextureHandleResidentNV; long glMakeTextureHandleNonResidentNV; long glGetImageHandleNV; long glMakeImageHandleResidentNV; long glMakeImageHandleNonResidentNV; long glUniformHandleui64NV; long glUniformHandleui64vNV; long glProgramUniformHandleui64NV; long glProgramUniformHandleui64vNV; long glIsTextureHandleResidentNV; long glIsImageHandleResidentNV; // NV_conditional_render long glBeginConditionalRenderNV; long glEndConditionalRenderNV; // NV_copy_image long glCopyImageSubDataNV; // NV_depth_buffer_float long glDepthRangedNV; long glClearDepthdNV; long glDepthBoundsdNV; // NV_draw_texture long glDrawTextureNV; // NV_evaluators long glGetMapControlPointsNV; long glMapControlPointsNV; long glMapParameterfvNV; long glMapParameterivNV; long glGetMapParameterfvNV; long glGetMapParameterivNV; long glGetMapAttribParameterfvNV; long glGetMapAttribParameterivNV; long glEvalMapsNV; // NV_explicit_multisample long glGetMultisamplefvNV; long glSampleMaskIndexedNV; long glTexRenderbufferNV; // NV_fence long glGenFencesNV; long glDeleteFencesNV; long glSetFenceNV; long glTestFenceNV; long glFinishFenceNV; long glIsFenceNV; long glGetFenceivNV; // NV_fragment_program long glProgramNamedParameter4fNV; long glProgramNamedParameter4dNV; long glGetProgramNamedParameterfvNV; long glGetProgramNamedParameterdvNV; // NV_framebuffer_multisample_coverage long glRenderbufferStorageMultisampleCoverageNV; // NV_geometry_program4 long glProgramVertexLimitNV; // NV_gpu_program4 long glProgramLocalParameterI4iNV; long glProgramLocalParameterI4ivNV; long glProgramLocalParametersI4ivNV; long glProgramLocalParameterI4uiNV; long glProgramLocalParameterI4uivNV; long glProgramLocalParametersI4uivNV; long glProgramEnvParameterI4iNV; long glProgramEnvParameterI4ivNV; long glProgramEnvParametersI4ivNV; long glProgramEnvParameterI4uiNV; long glProgramEnvParameterI4uivNV; long glProgramEnvParametersI4uivNV; long glGetProgramLocalParameterIivNV; long glGetProgramLocalParameterIuivNV; long glGetProgramEnvParameterIivNV; long glGetProgramEnvParameterIuivNV; // NV_gpu_shader5 long glUniform1i64NV; long glUniform2i64NV; long glUniform3i64NV; long glUniform4i64NV; long glUniform1i64vNV; long glUniform2i64vNV; long glUniform3i64vNV; long glUniform4i64vNV; long glUniform1ui64NV; long glUniform2ui64NV; long glUniform3ui64NV; long glUniform4ui64NV; long glUniform1ui64vNV; long glUniform2ui64vNV; long glUniform3ui64vNV; long glUniform4ui64vNV; long glGetUniformi64vNV; long glGetUniformui64vNV; long glProgramUniform1i64NV; long glProgramUniform2i64NV; long glProgramUniform3i64NV; long glProgramUniform4i64NV; long glProgramUniform1i64vNV; long glProgramUniform2i64vNV; long glProgramUniform3i64vNV; long glProgramUniform4i64vNV; long glProgramUniform1ui64NV; long glProgramUniform2ui64NV; long glProgramUniform3ui64NV; long glProgramUniform4ui64NV; long glProgramUniform1ui64vNV; long glProgramUniform2ui64vNV; long glProgramUniform3ui64vNV; long glProgramUniform4ui64vNV; // NV_half_float long glVertex2hNV; long glVertex3hNV; long glVertex4hNV; long glNormal3hNV; long glColor3hNV; long glColor4hNV; long glTexCoord1hNV; long glTexCoord2hNV; long glTexCoord3hNV; long glTexCoord4hNV; long glMultiTexCoord1hNV; long glMultiTexCoord2hNV; long glMultiTexCoord3hNV; long glMultiTexCoord4hNV; long glFogCoordhNV; long glSecondaryColor3hNV; long glVertexWeighthNV; long glVertexAttrib1hNV; long glVertexAttrib2hNV; long glVertexAttrib3hNV; long glVertexAttrib4hNV; long glVertexAttribs1hvNV; long glVertexAttribs2hvNV; long glVertexAttribs3hvNV; long glVertexAttribs4hvNV; // NV_occlusion_query long glGenOcclusionQueriesNV; long glDeleteOcclusionQueriesNV; long glIsOcclusionQueryNV; long glBeginOcclusionQueryNV; long glEndOcclusionQueryNV; long glGetOcclusionQueryuivNV; long glGetOcclusionQueryivNV; // NV_parameter_buffer_object long glProgramBufferParametersfvNV; long glProgramBufferParametersIivNV; long glProgramBufferParametersIuivNV; // NV_path_rendering long glPathCommandsNV; long glPathCoordsNV; long glPathSubCommandsNV; long glPathSubCoordsNV; long glPathStringNV; long glPathGlyphsNV; long glPathGlyphRangeNV; long glWeightPathsNV; long glCopyPathNV; long glInterpolatePathsNV; long glTransformPathNV; long glPathParameterivNV; long glPathParameteriNV; long glPathParameterfvNV; long glPathParameterfNV; long glPathDashArrayNV; long glGenPathsNV; long glDeletePathsNV; long glIsPathNV; long glPathStencilFuncNV; long glPathStencilDepthOffsetNV; long glStencilFillPathNV; long glStencilStrokePathNV; long glStencilFillPathInstancedNV; long glStencilStrokePathInstancedNV; long glPathCoverDepthFuncNV; long glPathColorGenNV; long glPathTexGenNV; long glPathFogGenNV; long glCoverFillPathNV; long glCoverStrokePathNV; long glCoverFillPathInstancedNV; long glCoverStrokePathInstancedNV; long glGetPathParameterivNV; long glGetPathParameterfvNV; long glGetPathCommandsNV; long glGetPathCoordsNV; long glGetPathDashArrayNV; long glGetPathMetricsNV; long glGetPathMetricRangeNV; long glGetPathSpacingNV; long glGetPathColorGenivNV; long glGetPathColorGenfvNV; long glGetPathTexGenivNV; long glGetPathTexGenfvNV; long glIsPointInFillPathNV; long glIsPointInStrokePathNV; long glGetPathLengthNV; long glPointAlongPathNV; // NV_pixel_data_range long glPixelDataRangeNV; long glFlushPixelDataRangeNV; // NV_point_sprite long glPointParameteriNV; long glPointParameterivNV; // NV_present_video long glPresentFrameKeyedNV; long glPresentFrameDualFillNV; long glGetVideoivNV; long glGetVideouivNV; long glGetVideoi64vNV; long glGetVideoui64vNV; // NV_primitive_restart long glPrimitiveRestartNV; long glPrimitiveRestartIndexNV; // NV_program long glLoadProgramNV; long glBindProgramNV; long glDeleteProgramsNV; long glGenProgramsNV; long glGetProgramivNV; long glGetProgramStringNV; long glIsProgramNV; long glAreProgramsResidentNV; long glRequestResidentProgramsNV; // NV_register_combiners long glCombinerParameterfNV; long glCombinerParameterfvNV; long glCombinerParameteriNV; long glCombinerParameterivNV; long glCombinerInputNV; long glCombinerOutputNV; long glFinalCombinerInputNV; long glGetCombinerInputParameterfvNV; long glGetCombinerInputParameterivNV; long glGetCombinerOutputParameterfvNV; long glGetCombinerOutputParameterivNV; long glGetFinalCombinerInputParameterfvNV; long glGetFinalCombinerInputParameterivNV; // NV_register_combiners2 long glCombinerStageParameterfvNV; long glGetCombinerStageParameterfvNV; // NV_shader_buffer_load long glMakeBufferResidentNV; long glMakeBufferNonResidentNV; long glIsBufferResidentNV; long glMakeNamedBufferResidentNV; long glMakeNamedBufferNonResidentNV; long glIsNamedBufferResidentNV; long glGetBufferParameterui64vNV; long glGetNamedBufferParameterui64vNV; long glGetIntegerui64vNV; long glUniformui64NV; long glUniformui64vNV; long glProgramUniformui64NV; long glProgramUniformui64vNV; // NV_texture_barrier long glTextureBarrierNV; // NV_texture_multisample long glTexImage2DMultisampleCoverageNV; long glTexImage3DMultisampleCoverageNV; long glTextureImage2DMultisampleNV; long glTextureImage3DMultisampleNV; long glTextureImage2DMultisampleCoverageNV; long glTextureImage3DMultisampleCoverageNV; // NV_transform_feedback long glBindBufferRangeNV; long glBindBufferOffsetNV; long glBindBufferBaseNV; long glTransformFeedbackAttribsNV; long glTransformFeedbackVaryingsNV; long glBeginTransformFeedbackNV; long glEndTransformFeedbackNV; long glGetVaryingLocationNV; long glGetActiveVaryingNV; long glActiveVaryingNV; long glGetTransformFeedbackVaryingNV; // NV_transform_feedback2 long glBindTransformFeedbackNV; long glDeleteTransformFeedbacksNV; long glGenTransformFeedbacksNV; long glIsTransformFeedbackNV; long glPauseTransformFeedbackNV; long glResumeTransformFeedbackNV; long glDrawTransformFeedbackNV; // NV_vertex_array_range long glVertexArrayRangeNV; long glFlushVertexArrayRangeNV; long glAllocateMemoryNV; long glFreeMemoryNV; // NV_vertex_attrib_integer_64bit long glVertexAttribL1i64NV; long glVertexAttribL2i64NV; long glVertexAttribL3i64NV; long glVertexAttribL4i64NV; long glVertexAttribL1i64vNV; long glVertexAttribL2i64vNV; long glVertexAttribL3i64vNV; long glVertexAttribL4i64vNV; long glVertexAttribL1ui64NV; long glVertexAttribL2ui64NV; long glVertexAttribL3ui64NV; long glVertexAttribL4ui64NV; long glVertexAttribL1ui64vNV; long glVertexAttribL2ui64vNV; long glVertexAttribL3ui64vNV; long glVertexAttribL4ui64vNV; long glGetVertexAttribLi64vNV; long glGetVertexAttribLui64vNV; long glVertexAttribLFormatNV; // NV_vertex_buffer_unified_memory long glBufferAddressRangeNV; long glVertexFormatNV; long glNormalFormatNV; long glColorFormatNV; long glIndexFormatNV; long glTexCoordFormatNV; long glEdgeFlagFormatNV; long glSecondaryColorFormatNV; long glFogCoordFormatNV; long glVertexAttribFormatNV; long glVertexAttribIFormatNV; long glGetIntegerui64i_vNV; // NV_vertex_program long glExecuteProgramNV; long glGetProgramParameterfvNV; long glGetProgramParameterdvNV; long glGetTrackMatrixivNV; long glGetVertexAttribfvNV; long glGetVertexAttribdvNV; long glGetVertexAttribivNV; long glGetVertexAttribPointervNV; long glProgramParameter4fNV; long glProgramParameter4dNV; long glProgramParameters4fvNV; long glProgramParameters4dvNV; long glTrackMatrixNV; long glVertexAttribPointerNV; long glVertexAttrib1sNV; long glVertexAttrib1fNV; long glVertexAttrib1dNV; long glVertexAttrib2sNV; long glVertexAttrib2fNV; long glVertexAttrib2dNV; long glVertexAttrib3sNV; long glVertexAttrib3fNV; long glVertexAttrib3dNV; long glVertexAttrib4sNV; long glVertexAttrib4fNV; long glVertexAttrib4dNV; long glVertexAttrib4ubNV; long glVertexAttribs1svNV; long glVertexAttribs1fvNV; long glVertexAttribs1dvNV; long glVertexAttribs2svNV; long glVertexAttribs2fvNV; long glVertexAttribs2dvNV; long glVertexAttribs3svNV; long glVertexAttribs3fvNV; long glVertexAttribs3dvNV; long glVertexAttribs4svNV; long glVertexAttribs4fvNV; long glVertexAttribs4dvNV; // NV_video_capture long glBeginVideoCaptureNV; long glBindVideoCaptureStreamBufferNV; long glBindVideoCaptureStreamTextureNV; long glEndVideoCaptureNV; long glGetVideoCaptureivNV; long glGetVideoCaptureStreamivNV; long glGetVideoCaptureStreamfvNV; long glGetVideoCaptureStreamdvNV; long glVideoCaptureNV; long glVideoCaptureStreamParameterivNV; long glVideoCaptureStreamParameterfvNV; long glVideoCaptureStreamParameterdvNV; private boolean AMD_debug_output_initNativeFunctionAddresses() { return (glDebugMessageEnableAMD = GLContext.getFunctionAddress(new String[] {"glDebugMessageEnableAMD","glDebugMessageEnableAMDX"})) != 0 & (glDebugMessageInsertAMD = GLContext.getFunctionAddress(new String[] {"glDebugMessageInsertAMD","glDebugMessageInsertAMDX"})) != 0 & (glDebugMessageCallbackAMD = GLContext.getFunctionAddress(new String[] {"glDebugMessageCallbackAMD","glDebugMessageCallbackAMDX"})) != 0 & (glGetDebugMessageLogAMD = GLContext.getFunctionAddress(new String[] {"glGetDebugMessageLogAMD","glGetDebugMessageLogAMDX"})) != 0; } private boolean AMD_draw_buffers_blend_initNativeFunctionAddresses() { return (glBlendFuncIndexedAMD = GLContext.getFunctionAddress("glBlendFuncIndexedAMD")) != 0 & (glBlendFuncSeparateIndexedAMD = GLContext.getFunctionAddress("glBlendFuncSeparateIndexedAMD")) != 0 & (glBlendEquationIndexedAMD = GLContext.getFunctionAddress("glBlendEquationIndexedAMD")) != 0 & (glBlendEquationSeparateIndexedAMD = GLContext.getFunctionAddress("glBlendEquationSeparateIndexedAMD")) != 0; } private boolean AMD_multi_draw_indirect_initNativeFunctionAddresses() { return (glMultiDrawArraysIndirectAMD = GLContext.getFunctionAddress("glMultiDrawArraysIndirectAMD")) != 0 & (glMultiDrawElementsIndirectAMD = GLContext.getFunctionAddress("glMultiDrawElementsIndirectAMD")) != 0; } private boolean AMD_name_gen_delete_initNativeFunctionAddresses() { return (glGenNamesAMD = GLContext.getFunctionAddress("glGenNamesAMD")) != 0 & (glDeleteNamesAMD = GLContext.getFunctionAddress("glDeleteNamesAMD")) != 0 & (glIsNameAMD = GLContext.getFunctionAddress("glIsNameAMD")) != 0; } private boolean AMD_performance_monitor_initNativeFunctionAddresses() { return (glGetPerfMonitorGroupsAMD = GLContext.getFunctionAddress("glGetPerfMonitorGroupsAMD")) != 0 & (glGetPerfMonitorCountersAMD = GLContext.getFunctionAddress("glGetPerfMonitorCountersAMD")) != 0 & (glGetPerfMonitorGroupStringAMD = GLContext.getFunctionAddress("glGetPerfMonitorGroupStringAMD")) != 0 & (glGetPerfMonitorCounterStringAMD = GLContext.getFunctionAddress("glGetPerfMonitorCounterStringAMD")) != 0 & (glGetPerfMonitorCounterInfoAMD = GLContext.getFunctionAddress("glGetPerfMonitorCounterInfoAMD")) != 0 & (glGenPerfMonitorsAMD = GLContext.getFunctionAddress("glGenPerfMonitorsAMD")) != 0 & (glDeletePerfMonitorsAMD = GLContext.getFunctionAddress("glDeletePerfMonitorsAMD")) != 0 & (glSelectPerfMonitorCountersAMD = GLContext.getFunctionAddress("glSelectPerfMonitorCountersAMD")) != 0 & (glBeginPerfMonitorAMD = GLContext.getFunctionAddress("glBeginPerfMonitorAMD")) != 0 & (glEndPerfMonitorAMD = GLContext.getFunctionAddress("glEndPerfMonitorAMD")) != 0 & (glGetPerfMonitorCounterDataAMD = GLContext.getFunctionAddress("glGetPerfMonitorCounterDataAMD")) != 0; } private boolean AMD_sample_positions_initNativeFunctionAddresses() { return (glSetMultisamplefvAMD = GLContext.getFunctionAddress("glSetMultisamplefvAMD")) != 0; } private boolean AMD_sparse_texture_initNativeFunctionAddresses() { return (glTexStorageSparseAMD = GLContext.getFunctionAddress("glTexStorageSparseAMD")) != 0 & (glTextureStorageSparseAMD = GLContext.getFunctionAddress("glTextureStorageSparseAMD")) != 0; } private boolean AMD_stencil_operation_extended_initNativeFunctionAddresses() { return (glStencilOpValueAMD = GLContext.getFunctionAddress("glStencilOpValueAMD")) != 0; } private boolean AMD_vertex_shader_tessellator_initNativeFunctionAddresses() { return (glTessellationFactorAMD = GLContext.getFunctionAddress("glTessellationFactorAMD")) != 0 & (glTessellationModeAMD = GLContext.getFunctionAddress("glTessellationModeAMD")) != 0; } private boolean APPLE_element_array_initNativeFunctionAddresses() { return (glElementPointerAPPLE = GLContext.getFunctionAddress("glElementPointerAPPLE")) != 0 & (glDrawElementArrayAPPLE = GLContext.getFunctionAddress("glDrawElementArrayAPPLE")) != 0 & (glDrawRangeElementArrayAPPLE = GLContext.getFunctionAddress("glDrawRangeElementArrayAPPLE")) != 0 & (glMultiDrawElementArrayAPPLE = GLContext.getFunctionAddress("glMultiDrawElementArrayAPPLE")) != 0 & (glMultiDrawRangeElementArrayAPPLE = GLContext.getFunctionAddress("glMultiDrawRangeElementArrayAPPLE")) != 0; } private boolean APPLE_fence_initNativeFunctionAddresses() { return (glGenFencesAPPLE = GLContext.getFunctionAddress("glGenFencesAPPLE")) != 0 & (glDeleteFencesAPPLE = GLContext.getFunctionAddress("glDeleteFencesAPPLE")) != 0 & (glSetFenceAPPLE = GLContext.getFunctionAddress("glSetFenceAPPLE")) != 0 & (glIsFenceAPPLE = GLContext.getFunctionAddress("glIsFenceAPPLE")) != 0 & (glTestFenceAPPLE = GLContext.getFunctionAddress("glTestFenceAPPLE")) != 0 & (glFinishFenceAPPLE = GLContext.getFunctionAddress("glFinishFenceAPPLE")) != 0 & (glTestObjectAPPLE = GLContext.getFunctionAddress("glTestObjectAPPLE")) != 0 & (glFinishObjectAPPLE = GLContext.getFunctionAddress("glFinishObjectAPPLE")) != 0; } private boolean APPLE_flush_buffer_range_initNativeFunctionAddresses() { return (glBufferParameteriAPPLE = GLContext.getFunctionAddress("glBufferParameteriAPPLE")) != 0 & (glFlushMappedBufferRangeAPPLE = GLContext.getFunctionAddress("glFlushMappedBufferRangeAPPLE")) != 0; } private boolean APPLE_object_purgeable_initNativeFunctionAddresses() { return (glObjectPurgeableAPPLE = GLContext.getFunctionAddress("glObjectPurgeableAPPLE")) != 0 & (glObjectUnpurgeableAPPLE = GLContext.getFunctionAddress("glObjectUnpurgeableAPPLE")) != 0 & (glGetObjectParameterivAPPLE = GLContext.getFunctionAddress("glGetObjectParameterivAPPLE")) != 0; } private boolean APPLE_texture_range_initNativeFunctionAddresses() { return (glTextureRangeAPPLE = GLContext.getFunctionAddress("glTextureRangeAPPLE")) != 0 & (glGetTexParameterPointervAPPLE = GLContext.getFunctionAddress("glGetTexParameterPointervAPPLE")) != 0; } private boolean APPLE_vertex_array_object_initNativeFunctionAddresses() { return (glBindVertexArrayAPPLE = GLContext.getFunctionAddress("glBindVertexArrayAPPLE")) != 0 & (glDeleteVertexArraysAPPLE = GLContext.getFunctionAddress("glDeleteVertexArraysAPPLE")) != 0 & (glGenVertexArraysAPPLE = GLContext.getFunctionAddress("glGenVertexArraysAPPLE")) != 0 & (glIsVertexArrayAPPLE = GLContext.getFunctionAddress("glIsVertexArrayAPPLE")) != 0; } private boolean APPLE_vertex_array_range_initNativeFunctionAddresses() { return (glVertexArrayRangeAPPLE = GLContext.getFunctionAddress("glVertexArrayRangeAPPLE")) != 0 & (glFlushVertexArrayRangeAPPLE = GLContext.getFunctionAddress("glFlushVertexArrayRangeAPPLE")) != 0 & (glVertexArrayParameteriAPPLE = GLContext.getFunctionAddress("glVertexArrayParameteriAPPLE")) != 0; } private boolean APPLE_vertex_program_evaluators_initNativeFunctionAddresses() { return (glEnableVertexAttribAPPLE = GLContext.getFunctionAddress("glEnableVertexAttribAPPLE")) != 0 & (glDisableVertexAttribAPPLE = GLContext.getFunctionAddress("glDisableVertexAttribAPPLE")) != 0 & (glIsVertexAttribEnabledAPPLE = GLContext.getFunctionAddress("glIsVertexAttribEnabledAPPLE")) != 0 & (glMapVertexAttrib1dAPPLE = GLContext.getFunctionAddress("glMapVertexAttrib1dAPPLE")) != 0 & (glMapVertexAttrib1fAPPLE = GLContext.getFunctionAddress("glMapVertexAttrib1fAPPLE")) != 0 & (glMapVertexAttrib2dAPPLE = GLContext.getFunctionAddress("glMapVertexAttrib2dAPPLE")) != 0 & (glMapVertexAttrib2fAPPLE = GLContext.getFunctionAddress("glMapVertexAttrib2fAPPLE")) != 0; } private boolean ARB_ES2_compatibility_initNativeFunctionAddresses() { return (glReleaseShaderCompiler = GLContext.getFunctionAddress("glReleaseShaderCompiler")) != 0 & (glShaderBinary = GLContext.getFunctionAddress("glShaderBinary")) != 0 & (glGetShaderPrecisionFormat = GLContext.getFunctionAddress("glGetShaderPrecisionFormat")) != 0 & (glDepthRangef = GLContext.getFunctionAddress("glDepthRangef")) != 0 & (glClearDepthf = GLContext.getFunctionAddress("glClearDepthf")) != 0; } private boolean ARB_base_instance_initNativeFunctionAddresses() { return (glDrawArraysInstancedBaseInstance = GLContext.getFunctionAddress("glDrawArraysInstancedBaseInstance")) != 0 & (glDrawElementsInstancedBaseInstance = GLContext.getFunctionAddress("glDrawElementsInstancedBaseInstance")) != 0 & (glDrawElementsInstancedBaseVertexBaseInstance = GLContext.getFunctionAddress("glDrawElementsInstancedBaseVertexBaseInstance")) != 0; } private boolean ARB_blend_func_extended_initNativeFunctionAddresses() { return (glBindFragDataLocationIndexed = GLContext.getFunctionAddress("glBindFragDataLocationIndexed")) != 0 & (glGetFragDataIndex = GLContext.getFunctionAddress("glGetFragDataIndex")) != 0; } private boolean ARB_buffer_object_initNativeFunctionAddresses() { return (glBindBufferARB = GLContext.getFunctionAddress("glBindBufferARB")) != 0 & (glDeleteBuffersARB = GLContext.getFunctionAddress("glDeleteBuffersARB")) != 0 & (glGenBuffersARB = GLContext.getFunctionAddress("glGenBuffersARB")) != 0 & (glIsBufferARB = GLContext.getFunctionAddress("glIsBufferARB")) != 0 & (glBufferDataARB = GLContext.getFunctionAddress("glBufferDataARB")) != 0 & (glBufferSubDataARB = GLContext.getFunctionAddress("glBufferSubDataARB")) != 0 & (glGetBufferSubDataARB = GLContext.getFunctionAddress("glGetBufferSubDataARB")) != 0 & (glMapBufferARB = GLContext.getFunctionAddress("glMapBufferARB")) != 0 & (glUnmapBufferARB = GLContext.getFunctionAddress("glUnmapBufferARB")) != 0 & (glGetBufferParameterivARB = GLContext.getFunctionAddress("glGetBufferParameterivARB")) != 0 & (glGetBufferPointervARB = GLContext.getFunctionAddress("glGetBufferPointervARB")) != 0; } private boolean ARB_cl_event_initNativeFunctionAddresses() { return (glCreateSyncFromCLeventARB = GLContext.getFunctionAddress("glCreateSyncFromCLeventARB")) != 0; } private boolean ARB_clear_buffer_object_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glClearBufferData = GLContext.getFunctionAddress("glClearBufferData")) != 0 & (glClearBufferSubData = GLContext.getFunctionAddress("glClearBufferSubData")) != 0 & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glClearNamedBufferDataEXT = GLContext.getFunctionAddress("glClearNamedBufferDataEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glClearNamedBufferSubDataEXT = GLContext.getFunctionAddress("glClearNamedBufferSubDataEXT")) != 0); } private boolean ARB_color_buffer_float_initNativeFunctionAddresses() { return (glClampColorARB = GLContext.getFunctionAddress("glClampColorARB")) != 0; } private boolean ARB_compute_shader_initNativeFunctionAddresses() { return (glDispatchCompute = GLContext.getFunctionAddress("glDispatchCompute")) != 0 & (glDispatchComputeIndirect = GLContext.getFunctionAddress("glDispatchComputeIndirect")) != 0; } private boolean ARB_copy_buffer_initNativeFunctionAddresses() { return (glCopyBufferSubData = GLContext.getFunctionAddress("glCopyBufferSubData")) != 0; } private boolean ARB_copy_image_initNativeFunctionAddresses() { return (glCopyImageSubData = GLContext.getFunctionAddress("glCopyImageSubData")) != 0; } private boolean ARB_debug_output_initNativeFunctionAddresses() { return (glDebugMessageControlARB = GLContext.getFunctionAddress("glDebugMessageControlARB")) != 0 & (glDebugMessageInsertARB = GLContext.getFunctionAddress("glDebugMessageInsertARB")) != 0 & (glDebugMessageCallbackARB = GLContext.getFunctionAddress("glDebugMessageCallbackARB")) != 0 & (glGetDebugMessageLogARB = GLContext.getFunctionAddress("glGetDebugMessageLogARB")) != 0; } private boolean ARB_draw_buffers_initNativeFunctionAddresses() { return (glDrawBuffersARB = GLContext.getFunctionAddress("glDrawBuffersARB")) != 0; } private boolean ARB_draw_buffers_blend_initNativeFunctionAddresses() { return (glBlendEquationiARB = GLContext.getFunctionAddress("glBlendEquationiARB")) != 0 & (glBlendEquationSeparateiARB = GLContext.getFunctionAddress("glBlendEquationSeparateiARB")) != 0 & (glBlendFunciARB = GLContext.getFunctionAddress("glBlendFunciARB")) != 0 & (glBlendFuncSeparateiARB = GLContext.getFunctionAddress("glBlendFuncSeparateiARB")) != 0; } private boolean ARB_draw_elements_base_vertex_initNativeFunctionAddresses() { return (glDrawElementsBaseVertex = GLContext.getFunctionAddress("glDrawElementsBaseVertex")) != 0 & (glDrawRangeElementsBaseVertex = GLContext.getFunctionAddress("glDrawRangeElementsBaseVertex")) != 0 & (glDrawElementsInstancedBaseVertex = GLContext.getFunctionAddress("glDrawElementsInstancedBaseVertex")) != 0; } private boolean ARB_draw_indirect_initNativeFunctionAddresses() { return (glDrawArraysIndirect = GLContext.getFunctionAddress("glDrawArraysIndirect")) != 0 & (glDrawElementsIndirect = GLContext.getFunctionAddress("glDrawElementsIndirect")) != 0; } private boolean ARB_draw_instanced_initNativeFunctionAddresses() { return (glDrawArraysInstancedARB = GLContext.getFunctionAddress("glDrawArraysInstancedARB")) != 0 & (glDrawElementsInstancedARB = GLContext.getFunctionAddress("glDrawElementsInstancedARB")) != 0; } private boolean ARB_framebuffer_no_attachments_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glFramebufferParameteri = GLContext.getFunctionAddress("glFramebufferParameteri")) != 0 & (glGetFramebufferParameteriv = GLContext.getFunctionAddress("glGetFramebufferParameteriv")) != 0 & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glNamedFramebufferParameteriEXT = GLContext.getFunctionAddress("glNamedFramebufferParameteriEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glGetNamedFramebufferParameterivEXT = GLContext.getFunctionAddress("glGetNamedFramebufferParameterivEXT")) != 0); } private boolean ARB_framebuffer_object_initNativeFunctionAddresses() { return (glIsRenderbuffer = GLContext.getFunctionAddress("glIsRenderbuffer")) != 0 & (glBindRenderbuffer = GLContext.getFunctionAddress("glBindRenderbuffer")) != 0 & (glDeleteRenderbuffers = GLContext.getFunctionAddress("glDeleteRenderbuffers")) != 0 & (glGenRenderbuffers = GLContext.getFunctionAddress("glGenRenderbuffers")) != 0 & (glRenderbufferStorage = GLContext.getFunctionAddress("glRenderbufferStorage")) != 0 & (glRenderbufferStorageMultisample = GLContext.getFunctionAddress("glRenderbufferStorageMultisample")) != 0 & (glGetRenderbufferParameteriv = GLContext.getFunctionAddress("glGetRenderbufferParameteriv")) != 0 & (glIsFramebuffer = GLContext.getFunctionAddress("glIsFramebuffer")) != 0 & (glBindFramebuffer = GLContext.getFunctionAddress("glBindFramebuffer")) != 0 & (glDeleteFramebuffers = GLContext.getFunctionAddress("glDeleteFramebuffers")) != 0 & (glGenFramebuffers = GLContext.getFunctionAddress("glGenFramebuffers")) != 0 & (glCheckFramebufferStatus = GLContext.getFunctionAddress("glCheckFramebufferStatus")) != 0 & (glFramebufferTexture1D = GLContext.getFunctionAddress("glFramebufferTexture1D")) != 0 & (glFramebufferTexture2D = GLContext.getFunctionAddress("glFramebufferTexture2D")) != 0 & (glFramebufferTexture3D = GLContext.getFunctionAddress("glFramebufferTexture3D")) != 0 & (glFramebufferTextureLayer = GLContext.getFunctionAddress("glFramebufferTextureLayer")) != 0 & (glFramebufferRenderbuffer = GLContext.getFunctionAddress("glFramebufferRenderbuffer")) != 0 & (glGetFramebufferAttachmentParameteriv = GLContext.getFunctionAddress("glGetFramebufferAttachmentParameteriv")) != 0 & (glBlitFramebuffer = GLContext.getFunctionAddress("glBlitFramebuffer")) != 0 & (glGenerateMipmap = GLContext.getFunctionAddress("glGenerateMipmap")) != 0; } private boolean ARB_geometry_shader4_initNativeFunctionAddresses() { return (glProgramParameteriARB = GLContext.getFunctionAddress("glProgramParameteriARB")) != 0 & (glFramebufferTextureARB = GLContext.getFunctionAddress("glFramebufferTextureARB")) != 0 & (glFramebufferTextureLayerARB = GLContext.getFunctionAddress("glFramebufferTextureLayerARB")) != 0 & (glFramebufferTextureFaceARB = GLContext.getFunctionAddress("glFramebufferTextureFaceARB")) != 0; } private boolean ARB_get_program_binary_initNativeFunctionAddresses() { return (glGetProgramBinary = GLContext.getFunctionAddress("glGetProgramBinary")) != 0 & (glProgramBinary = GLContext.getFunctionAddress("glProgramBinary")) != 0 & (glProgramParameteri = GLContext.getFunctionAddress("glProgramParameteri")) != 0; } private boolean ARB_gpu_shader_fp64_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glUniform1d = GLContext.getFunctionAddress("glUniform1d")) != 0 & (glUniform2d = GLContext.getFunctionAddress("glUniform2d")) != 0 & (glUniform3d = GLContext.getFunctionAddress("glUniform3d")) != 0 & (glUniform4d = GLContext.getFunctionAddress("glUniform4d")) != 0 & (glUniform1dv = GLContext.getFunctionAddress("glUniform1dv")) != 0 & (glUniform2dv = GLContext.getFunctionAddress("glUniform2dv")) != 0 & (glUniform3dv = GLContext.getFunctionAddress("glUniform3dv")) != 0 & (glUniform4dv = GLContext.getFunctionAddress("glUniform4dv")) != 0 & (glUniformMatrix2dv = GLContext.getFunctionAddress("glUniformMatrix2dv")) != 0 & (glUniformMatrix3dv = GLContext.getFunctionAddress("glUniformMatrix3dv")) != 0 & (glUniformMatrix4dv = GLContext.getFunctionAddress("glUniformMatrix4dv")) != 0 & (glUniformMatrix2x3dv = GLContext.getFunctionAddress("glUniformMatrix2x3dv")) != 0 & (glUniformMatrix2x4dv = GLContext.getFunctionAddress("glUniformMatrix2x4dv")) != 0 & (glUniformMatrix3x2dv = GLContext.getFunctionAddress("glUniformMatrix3x2dv")) != 0 & (glUniformMatrix3x4dv = GLContext.getFunctionAddress("glUniformMatrix3x4dv")) != 0 & (glUniformMatrix4x2dv = GLContext.getFunctionAddress("glUniformMatrix4x2dv")) != 0 & (glUniformMatrix4x3dv = GLContext.getFunctionAddress("glUniformMatrix4x3dv")) != 0 & (glGetUniformdv = GLContext.getFunctionAddress("glGetUniformdv")) != 0 & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform1dEXT = GLContext.getFunctionAddress("glProgramUniform1dEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform2dEXT = GLContext.getFunctionAddress("glProgramUniform2dEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform3dEXT = GLContext.getFunctionAddress("glProgramUniform3dEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform4dEXT = GLContext.getFunctionAddress("glProgramUniform4dEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform1dvEXT = GLContext.getFunctionAddress("glProgramUniform1dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform2dvEXT = GLContext.getFunctionAddress("glProgramUniform2dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform3dvEXT = GLContext.getFunctionAddress("glProgramUniform3dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniform4dvEXT = GLContext.getFunctionAddress("glProgramUniform4dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix2dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix2dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix3dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix3dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix4dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix4dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix2x3dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix2x3dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix2x4dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix2x4dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix3x2dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix3x2dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix3x4dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix3x4dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix4x2dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix4x2dvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glProgramUniformMatrix4x3dvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix4x3dvEXT")) != 0); } private boolean ARB_imaging_initNativeFunctionAddresses(boolean forwardCompatible) { return (forwardCompatible || (glColorTable = GLContext.getFunctionAddress("glColorTable")) != 0) & (forwardCompatible || (glColorSubTable = GLContext.getFunctionAddress("glColorSubTable")) != 0) & (forwardCompatible || (glColorTableParameteriv = GLContext.getFunctionAddress("glColorTableParameteriv")) != 0) & (forwardCompatible || (glColorTableParameterfv = GLContext.getFunctionAddress("glColorTableParameterfv")) != 0) & (forwardCompatible || (glCopyColorSubTable = GLContext.getFunctionAddress("glCopyColorSubTable")) != 0) & (forwardCompatible || (glCopyColorTable = GLContext.getFunctionAddress("glCopyColorTable")) != 0) & (forwardCompatible || (glGetColorTable = GLContext.getFunctionAddress("glGetColorTable")) != 0) & (forwardCompatible || (glGetColorTableParameteriv = GLContext.getFunctionAddress("glGetColorTableParameteriv")) != 0) & (forwardCompatible || (glGetColorTableParameterfv = GLContext.getFunctionAddress("glGetColorTableParameterfv")) != 0) & (glBlendEquation = GLContext.getFunctionAddress("glBlendEquation")) != 0 & (glBlendColor = GLContext.getFunctionAddress("glBlendColor")) != 0 & (forwardCompatible || (glHistogram = GLContext.getFunctionAddress("glHistogram")) != 0) & (forwardCompatible || (glResetHistogram = GLContext.getFunctionAddress("glResetHistogram")) != 0) & (forwardCompatible || (glGetHistogram = GLContext.getFunctionAddress("glGetHistogram")) != 0) & (forwardCompatible || (glGetHistogramParameterfv = GLContext.getFunctionAddress("glGetHistogramParameterfv")) != 0) & (forwardCompatible || (glGetHistogramParameteriv = GLContext.getFunctionAddress("glGetHistogramParameteriv")) != 0) & (forwardCompatible || (glMinmax = GLContext.getFunctionAddress("glMinmax")) != 0) & (forwardCompatible || (glResetMinmax = GLContext.getFunctionAddress("glResetMinmax")) != 0) & (forwardCompatible || (glGetMinmax = GLContext.getFunctionAddress("glGetMinmax")) != 0) & (forwardCompatible || (glGetMinmaxParameterfv = GLContext.getFunctionAddress("glGetMinmaxParameterfv")) != 0) & (forwardCompatible || (glGetMinmaxParameteriv = GLContext.getFunctionAddress("glGetMinmaxParameteriv")) != 0) & (forwardCompatible || (glConvolutionFilter1D = GLContext.getFunctionAddress("glConvolutionFilter1D")) != 0) & (forwardCompatible || (glConvolutionFilter2D = GLContext.getFunctionAddress("glConvolutionFilter2D")) != 0) & (forwardCompatible || (glConvolutionParameterf = GLContext.getFunctionAddress("glConvolutionParameterf")) != 0) & (forwardCompatible || (glConvolutionParameterfv = GLContext.getFunctionAddress("glConvolutionParameterfv")) != 0) & (forwardCompatible || (glConvolutionParameteri = GLContext.getFunctionAddress("glConvolutionParameteri")) != 0) & (forwardCompatible || (glConvolutionParameteriv = GLContext.getFunctionAddress("glConvolutionParameteriv")) != 0) & (forwardCompatible || (glCopyConvolutionFilter1D = GLContext.getFunctionAddress("glCopyConvolutionFilter1D")) != 0) & (forwardCompatible || (glCopyConvolutionFilter2D = GLContext.getFunctionAddress("glCopyConvolutionFilter2D")) != 0) & (forwardCompatible || (glGetConvolutionFilter = GLContext.getFunctionAddress("glGetConvolutionFilter")) != 0) & (forwardCompatible || (glGetConvolutionParameterfv = GLContext.getFunctionAddress("glGetConvolutionParameterfv")) != 0) & (forwardCompatible || (glGetConvolutionParameteriv = GLContext.getFunctionAddress("glGetConvolutionParameteriv")) != 0) & (forwardCompatible || (glSeparableFilter2D = GLContext.getFunctionAddress("glSeparableFilter2D")) != 0) & (forwardCompatible || (glGetSeparableFilter = GLContext.getFunctionAddress("glGetSeparableFilter")) != 0); } private boolean ARB_instanced_arrays_initNativeFunctionAddresses() { return (glVertexAttribDivisorARB = GLContext.getFunctionAddress("glVertexAttribDivisorARB")) != 0; } private boolean ARB_internalformat_query_initNativeFunctionAddresses() { return (glGetInternalformativ = GLContext.getFunctionAddress("glGetInternalformativ")) != 0; } private boolean ARB_internalformat_query2_initNativeFunctionAddresses() { return (glGetInternalformati64v = GLContext.getFunctionAddress("glGetInternalformati64v")) != 0; } private boolean ARB_invalidate_subdata_initNativeFunctionAddresses() { return (glInvalidateTexSubImage = GLContext.getFunctionAddress("glInvalidateTexSubImage")) != 0 & (glInvalidateTexImage = GLContext.getFunctionAddress("glInvalidateTexImage")) != 0 & (glInvalidateBufferSubData = GLContext.getFunctionAddress("glInvalidateBufferSubData")) != 0 & (glInvalidateBufferData = GLContext.getFunctionAddress("glInvalidateBufferData")) != 0 & (glInvalidateFramebuffer = GLContext.getFunctionAddress("glInvalidateFramebuffer")) != 0 & (glInvalidateSubFramebuffer = GLContext.getFunctionAddress("glInvalidateSubFramebuffer")) != 0; } private boolean ARB_map_buffer_range_initNativeFunctionAddresses() { return (glMapBufferRange = GLContext.getFunctionAddress("glMapBufferRange")) != 0 & (glFlushMappedBufferRange = GLContext.getFunctionAddress("glFlushMappedBufferRange")) != 0; } private boolean ARB_matrix_palette_initNativeFunctionAddresses() { return (glCurrentPaletteMatrixARB = GLContext.getFunctionAddress("glCurrentPaletteMatrixARB")) != 0 & (glMatrixIndexPointerARB = GLContext.getFunctionAddress("glMatrixIndexPointerARB")) != 0 & (glMatrixIndexubvARB = GLContext.getFunctionAddress("glMatrixIndexubvARB")) != 0 & (glMatrixIndexusvARB = GLContext.getFunctionAddress("glMatrixIndexusvARB")) != 0 & (glMatrixIndexuivARB = GLContext.getFunctionAddress("glMatrixIndexuivARB")) != 0; } private boolean ARB_multi_draw_indirect_initNativeFunctionAddresses() { return (glMultiDrawArraysIndirect = GLContext.getFunctionAddress("glMultiDrawArraysIndirect")) != 0 & (glMultiDrawElementsIndirect = GLContext.getFunctionAddress("glMultiDrawElementsIndirect")) != 0; } private boolean ARB_multisample_initNativeFunctionAddresses() { return (glSampleCoverageARB = GLContext.getFunctionAddress("glSampleCoverageARB")) != 0; } private boolean ARB_multitexture_initNativeFunctionAddresses() { return (glClientActiveTextureARB = GLContext.getFunctionAddress("glClientActiveTextureARB")) != 0 & (glActiveTextureARB = GLContext.getFunctionAddress("glActiveTextureARB")) != 0 & (glMultiTexCoord1fARB = GLContext.getFunctionAddress("glMultiTexCoord1fARB")) != 0 & (glMultiTexCoord1dARB = GLContext.getFunctionAddress("glMultiTexCoord1dARB")) != 0 & (glMultiTexCoord1iARB = GLContext.getFunctionAddress("glMultiTexCoord1iARB")) != 0 & (glMultiTexCoord1sARB = GLContext.getFunctionAddress("glMultiTexCoord1sARB")) != 0 & (glMultiTexCoord2fARB = GLContext.getFunctionAddress("glMultiTexCoord2fARB")) != 0 & (glMultiTexCoord2dARB = GLContext.getFunctionAddress("glMultiTexCoord2dARB")) != 0 & (glMultiTexCoord2iARB = GLContext.getFunctionAddress("glMultiTexCoord2iARB")) != 0 & (glMultiTexCoord2sARB = GLContext.getFunctionAddress("glMultiTexCoord2sARB")) != 0 & (glMultiTexCoord3fARB = GLContext.getFunctionAddress("glMultiTexCoord3fARB")) != 0 & (glMultiTexCoord3dARB = GLContext.getFunctionAddress("glMultiTexCoord3dARB")) != 0 & (glMultiTexCoord3iARB = GLContext.getFunctionAddress("glMultiTexCoord3iARB")) != 0 & (glMultiTexCoord3sARB = GLContext.getFunctionAddress("glMultiTexCoord3sARB")) != 0 & (glMultiTexCoord4fARB = GLContext.getFunctionAddress("glMultiTexCoord4fARB")) != 0 & (glMultiTexCoord4dARB = GLContext.getFunctionAddress("glMultiTexCoord4dARB")) != 0 & (glMultiTexCoord4iARB = GLContext.getFunctionAddress("glMultiTexCoord4iARB")) != 0 & (glMultiTexCoord4sARB = GLContext.getFunctionAddress("glMultiTexCoord4sARB")) != 0; } private boolean ARB_occlusion_query_initNativeFunctionAddresses() { return (glGenQueriesARB = GLContext.getFunctionAddress("glGenQueriesARB")) != 0 & (glDeleteQueriesARB = GLContext.getFunctionAddress("glDeleteQueriesARB")) != 0 & (glIsQueryARB = GLContext.getFunctionAddress("glIsQueryARB")) != 0 & (glBeginQueryARB = GLContext.getFunctionAddress("glBeginQueryARB")) != 0 & (glEndQueryARB = GLContext.getFunctionAddress("glEndQueryARB")) != 0 & (glGetQueryivARB = GLContext.getFunctionAddress("glGetQueryivARB")) != 0 & (glGetQueryObjectivARB = GLContext.getFunctionAddress("glGetQueryObjectivARB")) != 0 & (glGetQueryObjectuivARB = GLContext.getFunctionAddress("glGetQueryObjectuivARB")) != 0; } private boolean ARB_point_parameters_initNativeFunctionAddresses() { return (glPointParameterfARB = GLContext.getFunctionAddress("glPointParameterfARB")) != 0 & (glPointParameterfvARB = GLContext.getFunctionAddress("glPointParameterfvARB")) != 0; } private boolean ARB_program_initNativeFunctionAddresses() { return (glProgramStringARB = GLContext.getFunctionAddress("glProgramStringARB")) != 0 & (glBindProgramARB = GLContext.getFunctionAddress("glBindProgramARB")) != 0 & (glDeleteProgramsARB = GLContext.getFunctionAddress("glDeleteProgramsARB")) != 0 & (glGenProgramsARB = GLContext.getFunctionAddress("glGenProgramsARB")) != 0 & (glProgramEnvParameter4fARB = GLContext.getFunctionAddress("glProgramEnvParameter4fARB")) != 0 & (glProgramEnvParameter4dARB = GLContext.getFunctionAddress("glProgramEnvParameter4dARB")) != 0 & (glProgramEnvParameter4fvARB = GLContext.getFunctionAddress("glProgramEnvParameter4fvARB")) != 0 & (glProgramEnvParameter4dvARB = GLContext.getFunctionAddress("glProgramEnvParameter4dvARB")) != 0 & (glProgramLocalParameter4fARB = GLContext.getFunctionAddress("glProgramLocalParameter4fARB")) != 0 & (glProgramLocalParameter4dARB = GLContext.getFunctionAddress("glProgramLocalParameter4dARB")) != 0 & (glProgramLocalParameter4fvARB = GLContext.getFunctionAddress("glProgramLocalParameter4fvARB")) != 0 & (glProgramLocalParameter4dvARB = GLContext.getFunctionAddress("glProgramLocalParameter4dvARB")) != 0 & (glGetProgramEnvParameterfvARB = GLContext.getFunctionAddress("glGetProgramEnvParameterfvARB")) != 0 & (glGetProgramEnvParameterdvARB = GLContext.getFunctionAddress("glGetProgramEnvParameterdvARB")) != 0 & (glGetProgramLocalParameterfvARB = GLContext.getFunctionAddress("glGetProgramLocalParameterfvARB")) != 0 & (glGetProgramLocalParameterdvARB = GLContext.getFunctionAddress("glGetProgramLocalParameterdvARB")) != 0 & (glGetProgramivARB = GLContext.getFunctionAddress("glGetProgramivARB")) != 0 & (glGetProgramStringARB = GLContext.getFunctionAddress("glGetProgramStringARB")) != 0 & (glIsProgramARB = GLContext.getFunctionAddress("glIsProgramARB")) != 0; } private boolean ARB_program_interface_query_initNativeFunctionAddresses() { return (glGetProgramInterfaceiv = GLContext.getFunctionAddress("glGetProgramInterfaceiv")) != 0 & (glGetProgramResourceIndex = GLContext.getFunctionAddress("glGetProgramResourceIndex")) != 0 & (glGetProgramResourceName = GLContext.getFunctionAddress("glGetProgramResourceName")) != 0 & (glGetProgramResourceiv = GLContext.getFunctionAddress("glGetProgramResourceiv")) != 0 & (glGetProgramResourceLocation = GLContext.getFunctionAddress("glGetProgramResourceLocation")) != 0 & (glGetProgramResourceLocationIndex = GLContext.getFunctionAddress("glGetProgramResourceLocationIndex")) != 0; } private boolean ARB_provoking_vertex_initNativeFunctionAddresses() { return (glProvokingVertex = GLContext.getFunctionAddress("glProvokingVertex")) != 0; } private boolean ARB_robustness_initNativeFunctionAddresses(boolean forwardCompatible,Set<String> supported_extensions) { return (glGetGraphicsResetStatusARB = GLContext.getFunctionAddress("glGetGraphicsResetStatusARB")) != 0 & (forwardCompatible || (glGetnMapdvARB = GLContext.getFunctionAddress("glGetnMapdvARB")) != 0) & (forwardCompatible || (glGetnMapfvARB = GLContext.getFunctionAddress("glGetnMapfvARB")) != 0) & (forwardCompatible || (glGetnMapivARB = GLContext.getFunctionAddress("glGetnMapivARB")) != 0) & (forwardCompatible || (glGetnPixelMapfvARB = GLContext.getFunctionAddress("glGetnPixelMapfvARB")) != 0) & (forwardCompatible || (glGetnPixelMapuivARB = GLContext.getFunctionAddress("glGetnPixelMapuivARB")) != 0) & (forwardCompatible || (glGetnPixelMapusvARB = GLContext.getFunctionAddress("glGetnPixelMapusvARB")) != 0) & (forwardCompatible || (glGetnPolygonStippleARB = GLContext.getFunctionAddress("glGetnPolygonStippleARB")) != 0) & (glGetnTexImageARB = GLContext.getFunctionAddress("glGetnTexImageARB")) != 0 & (glReadnPixelsARB = GLContext.getFunctionAddress("glReadnPixelsARB")) != 0 & (!supported_extensions.contains("GL_ARB_imaging") || (glGetnColorTableARB = GLContext.getFunctionAddress("glGetnColorTableARB")) != 0) & (!supported_extensions.contains("GL_ARB_imaging") || (glGetnConvolutionFilterARB = GLContext.getFunctionAddress("glGetnConvolutionFilterARB")) != 0) & (!supported_extensions.contains("GL_ARB_imaging") || (glGetnSeparableFilterARB = GLContext.getFunctionAddress("glGetnSeparableFilterARB")) != 0) & (!supported_extensions.contains("GL_ARB_imaging") || (glGetnHistogramARB = GLContext.getFunctionAddress("glGetnHistogramARB")) != 0) & (!supported_extensions.contains("GL_ARB_imaging") || (glGetnMinmaxARB = GLContext.getFunctionAddress("glGetnMinmaxARB")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetnCompressedTexImageARB = GLContext.getFunctionAddress("glGetnCompressedTexImageARB")) != 0) & (!supported_extensions.contains("OpenGL20") || (glGetnUniformfvARB = GLContext.getFunctionAddress("glGetnUniformfvARB")) != 0) & (!supported_extensions.contains("OpenGL20") || (glGetnUniformivARB = GLContext.getFunctionAddress("glGetnUniformivARB")) != 0) & (!supported_extensions.contains("OpenGL20") || (glGetnUniformuivARB = GLContext.getFunctionAddress("glGetnUniformuivARB")) != 0) & (!supported_extensions.contains("OpenGL20") || (glGetnUniformdvARB = GLContext.getFunctionAddress("glGetnUniformdvARB")) != 0); } private boolean ARB_sample_shading_initNativeFunctionAddresses() { return (glMinSampleShadingARB = GLContext.getFunctionAddress("glMinSampleShadingARB")) != 0; } private boolean ARB_sampler_objects_initNativeFunctionAddresses() { return (glGenSamplers = GLContext.getFunctionAddress("glGenSamplers")) != 0 & (glDeleteSamplers = GLContext.getFunctionAddress("glDeleteSamplers")) != 0 & (glIsSampler = GLContext.getFunctionAddress("glIsSampler")) != 0 & (glBindSampler = GLContext.getFunctionAddress("glBindSampler")) != 0 & (glSamplerParameteri = GLContext.getFunctionAddress("glSamplerParameteri")) != 0 & (glSamplerParameterf = GLContext.getFunctionAddress("glSamplerParameterf")) != 0 & (glSamplerParameteriv = GLContext.getFunctionAddress("glSamplerParameteriv")) != 0 & (glSamplerParameterfv = GLContext.getFunctionAddress("glSamplerParameterfv")) != 0 & (glSamplerParameterIiv = GLContext.getFunctionAddress("glSamplerParameterIiv")) != 0 & (glSamplerParameterIuiv = GLContext.getFunctionAddress("glSamplerParameterIuiv")) != 0 & (glGetSamplerParameteriv = GLContext.getFunctionAddress("glGetSamplerParameteriv")) != 0 & (glGetSamplerParameterfv = GLContext.getFunctionAddress("glGetSamplerParameterfv")) != 0 & (glGetSamplerParameterIiv = GLContext.getFunctionAddress("glGetSamplerParameterIiv")) != 0 & (glGetSamplerParameterIuiv = GLContext.getFunctionAddress("glGetSamplerParameterIuiv")) != 0; } private boolean ARB_separate_shader_objects_initNativeFunctionAddresses() { return (glUseProgramStages = GLContext.getFunctionAddress("glUseProgramStages")) != 0 & (glActiveShaderProgram = GLContext.getFunctionAddress("glActiveShaderProgram")) != 0 & (glCreateShaderProgramv = GLContext.getFunctionAddress("glCreateShaderProgramv")) != 0 & (glBindProgramPipeline = GLContext.getFunctionAddress("glBindProgramPipeline")) != 0 & (glDeleteProgramPipelines = GLContext.getFunctionAddress("glDeleteProgramPipelines")) != 0 & (glGenProgramPipelines = GLContext.getFunctionAddress("glGenProgramPipelines")) != 0 & (glIsProgramPipeline = GLContext.getFunctionAddress("glIsProgramPipeline")) != 0 & (glProgramParameteri = GLContext.getFunctionAddress("glProgramParameteri")) != 0 & (glGetProgramPipelineiv = GLContext.getFunctionAddress("glGetProgramPipelineiv")) != 0 & (glProgramUniform1i = GLContext.getFunctionAddress("glProgramUniform1i")) != 0 & (glProgramUniform2i = GLContext.getFunctionAddress("glProgramUniform2i")) != 0 & (glProgramUniform3i = GLContext.getFunctionAddress("glProgramUniform3i")) != 0 & (glProgramUniform4i = GLContext.getFunctionAddress("glProgramUniform4i")) != 0 & (glProgramUniform1f = GLContext.getFunctionAddress("glProgramUniform1f")) != 0 & (glProgramUniform2f = GLContext.getFunctionAddress("glProgramUniform2f")) != 0 & (glProgramUniform3f = GLContext.getFunctionAddress("glProgramUniform3f")) != 0 & (glProgramUniform4f = GLContext.getFunctionAddress("glProgramUniform4f")) != 0 & (glProgramUniform1d = GLContext.getFunctionAddress("glProgramUniform1d")) != 0 & (glProgramUniform2d = GLContext.getFunctionAddress("glProgramUniform2d")) != 0 & (glProgramUniform3d = GLContext.getFunctionAddress("glProgramUniform3d")) != 0 & (glProgramUniform4d = GLContext.getFunctionAddress("glProgramUniform4d")) != 0 & (glProgramUniform1iv = GLContext.getFunctionAddress("glProgramUniform1iv")) != 0 & (glProgramUniform2iv = GLContext.getFunctionAddress("glProgramUniform2iv")) != 0 & (glProgramUniform3iv = GLContext.getFunctionAddress("glProgramUniform3iv")) != 0 & (glProgramUniform4iv = GLContext.getFunctionAddress("glProgramUniform4iv")) != 0 & (glProgramUniform1fv = GLContext.getFunctionAddress("glProgramUniform1fv")) != 0 & (glProgramUniform2fv = GLContext.getFunctionAddress("glProgramUniform2fv")) != 0 & (glProgramUniform3fv = GLContext.getFunctionAddress("glProgramUniform3fv")) != 0 & (glProgramUniform4fv = GLContext.getFunctionAddress("glProgramUniform4fv")) != 0 & (glProgramUniform1dv = GLContext.getFunctionAddress("glProgramUniform1dv")) != 0 & (glProgramUniform2dv = GLContext.getFunctionAddress("glProgramUniform2dv")) != 0 & (glProgramUniform3dv = GLContext.getFunctionAddress("glProgramUniform3dv")) != 0 & (glProgramUniform4dv = GLContext.getFunctionAddress("glProgramUniform4dv")) != 0 & (glProgramUniform1ui = GLContext.getFunctionAddress("glProgramUniform1ui")) != 0 & (glProgramUniform2ui = GLContext.getFunctionAddress("glProgramUniform2ui")) != 0 & (glProgramUniform3ui = GLContext.getFunctionAddress("glProgramUniform3ui")) != 0 & (glProgramUniform4ui = GLContext.getFunctionAddress("glProgramUniform4ui")) != 0 & (glProgramUniform1uiv = GLContext.getFunctionAddress("glProgramUniform1uiv")) != 0 & (glProgramUniform2uiv = GLContext.getFunctionAddress("glProgramUniform2uiv")) != 0 & (glProgramUniform3uiv = GLContext.getFunctionAddress("glProgramUniform3uiv")) != 0 & (glProgramUniform4uiv = GLContext.getFunctionAddress("glProgramUniform4uiv")) != 0 & (glProgramUniformMatrix2fv = GLContext.getFunctionAddress("glProgramUniformMatrix2fv")) != 0 & (glProgramUniformMatrix3fv = GLContext.getFunctionAddress("glProgramUniformMatrix3fv")) != 0 & (glProgramUniformMatrix4fv = GLContext.getFunctionAddress("glProgramUniformMatrix4fv")) != 0 & (glProgramUniformMatrix2dv = GLContext.getFunctionAddress("glProgramUniformMatrix2dv")) != 0 & (glProgramUniformMatrix3dv = GLContext.getFunctionAddress("glProgramUniformMatrix3dv")) != 0 & (glProgramUniformMatrix4dv = GLContext.getFunctionAddress("glProgramUniformMatrix4dv")) != 0 & (glProgramUniformMatrix2x3fv = GLContext.getFunctionAddress("glProgramUniformMatrix2x3fv")) != 0 & (glProgramUniformMatrix3x2fv = GLContext.getFunctionAddress("glProgramUniformMatrix3x2fv")) != 0 & (glProgramUniformMatrix2x4fv = GLContext.getFunctionAddress("glProgramUniformMatrix2x4fv")) != 0 & (glProgramUniformMatrix4x2fv = GLContext.getFunctionAddress("glProgramUniformMatrix4x2fv")) != 0 & (glProgramUniformMatrix3x4fv = GLContext.getFunctionAddress("glProgramUniformMatrix3x4fv")) != 0 & (glProgramUniformMatrix4x3fv = GLContext.getFunctionAddress("glProgramUniformMatrix4x3fv")) != 0 & (glProgramUniformMatrix2x3dv = GLContext.getFunctionAddress("glProgramUniformMatrix2x3dv")) != 0 & (glProgramUniformMatrix3x2dv = GLContext.getFunctionAddress("glProgramUniformMatrix3x2dv")) != 0 & (glProgramUniformMatrix2x4dv = GLContext.getFunctionAddress("glProgramUniformMatrix2x4dv")) != 0 & (glProgramUniformMatrix4x2dv = GLContext.getFunctionAddress("glProgramUniformMatrix4x2dv")) != 0 & (glProgramUniformMatrix3x4dv = GLContext.getFunctionAddress("glProgramUniformMatrix3x4dv")) != 0 & (glProgramUniformMatrix4x3dv = GLContext.getFunctionAddress("glProgramUniformMatrix4x3dv")) != 0 & (glValidateProgramPipeline = GLContext.getFunctionAddress("glValidateProgramPipeline")) != 0 & (glGetProgramPipelineInfoLog = GLContext.getFunctionAddress("glGetProgramPipelineInfoLog")) != 0; } private boolean ARB_shader_atomic_counters_initNativeFunctionAddresses() { return (glGetActiveAtomicCounterBufferiv = GLContext.getFunctionAddress("glGetActiveAtomicCounterBufferiv")) != 0; } private boolean ARB_shader_image_load_store_initNativeFunctionAddresses() { return (glBindImageTexture = GLContext.getFunctionAddress("glBindImageTexture")) != 0 & (glMemoryBarrier = GLContext.getFunctionAddress("glMemoryBarrier")) != 0; } private boolean ARB_shader_objects_initNativeFunctionAddresses() { return (glDeleteObjectARB = GLContext.getFunctionAddress("glDeleteObjectARB")) != 0 & (glGetHandleARB = GLContext.getFunctionAddress("glGetHandleARB")) != 0 & (glDetachObjectARB = GLContext.getFunctionAddress("glDetachObjectARB")) != 0 & (glCreateShaderObjectARB = GLContext.getFunctionAddress("glCreateShaderObjectARB")) != 0 & (glShaderSourceARB = GLContext.getFunctionAddress("glShaderSourceARB")) != 0 & (glCompileShaderARB = GLContext.getFunctionAddress("glCompileShaderARB")) != 0 & (glCreateProgramObjectARB = GLContext.getFunctionAddress("glCreateProgramObjectARB")) != 0 & (glAttachObjectARB = GLContext.getFunctionAddress("glAttachObjectARB")) != 0 & (glLinkProgramARB = GLContext.getFunctionAddress("glLinkProgramARB")) != 0 & (glUseProgramObjectARB = GLContext.getFunctionAddress("glUseProgramObjectARB")) != 0 & (glValidateProgramARB = GLContext.getFunctionAddress("glValidateProgramARB")) != 0 & (glUniform1fARB = GLContext.getFunctionAddress("glUniform1fARB")) != 0 & (glUniform2fARB = GLContext.getFunctionAddress("glUniform2fARB")) != 0 & (glUniform3fARB = GLContext.getFunctionAddress("glUniform3fARB")) != 0 & (glUniform4fARB = GLContext.getFunctionAddress("glUniform4fARB")) != 0 & (glUniform1iARB = GLContext.getFunctionAddress("glUniform1iARB")) != 0 & (glUniform2iARB = GLContext.getFunctionAddress("glUniform2iARB")) != 0 & (glUniform3iARB = GLContext.getFunctionAddress("glUniform3iARB")) != 0 & (glUniform4iARB = GLContext.getFunctionAddress("glUniform4iARB")) != 0 & (glUniform1fvARB = GLContext.getFunctionAddress("glUniform1fvARB")) != 0 & (glUniform2fvARB = GLContext.getFunctionAddress("glUniform2fvARB")) != 0 & (glUniform3fvARB = GLContext.getFunctionAddress("glUniform3fvARB")) != 0 & (glUniform4fvARB = GLContext.getFunctionAddress("glUniform4fvARB")) != 0 & (glUniform1ivARB = GLContext.getFunctionAddress("glUniform1ivARB")) != 0 & (glUniform2ivARB = GLContext.getFunctionAddress("glUniform2ivARB")) != 0 & (glUniform3ivARB = GLContext.getFunctionAddress("glUniform3ivARB")) != 0 & (glUniform4ivARB = GLContext.getFunctionAddress("glUniform4ivARB")) != 0 & (glUniformMatrix2fvARB = GLContext.getFunctionAddress("glUniformMatrix2fvARB")) != 0 & (glUniformMatrix3fvARB = GLContext.getFunctionAddress("glUniformMatrix3fvARB")) != 0 & (glUniformMatrix4fvARB = GLContext.getFunctionAddress("glUniformMatrix4fvARB")) != 0 & (glGetObjectParameterfvARB = GLContext.getFunctionAddress("glGetObjectParameterfvARB")) != 0 & (glGetObjectParameterivARB = GLContext.getFunctionAddress("glGetObjectParameterivARB")) != 0 & (glGetInfoLogARB = GLContext.getFunctionAddress("glGetInfoLogARB")) != 0 & (glGetAttachedObjectsARB = GLContext.getFunctionAddress("glGetAttachedObjectsARB")) != 0 & (glGetUniformLocationARB = GLContext.getFunctionAddress("glGetUniformLocationARB")) != 0 & (glGetActiveUniformARB = GLContext.getFunctionAddress("glGetActiveUniformARB")) != 0 & (glGetUniformfvARB = GLContext.getFunctionAddress("glGetUniformfvARB")) != 0 & (glGetUniformivARB = GLContext.getFunctionAddress("glGetUniformivARB")) != 0 & (glGetShaderSourceARB = GLContext.getFunctionAddress("glGetShaderSourceARB")) != 0; } private boolean ARB_shader_storage_buffer_object_initNativeFunctionAddresses() { return (glShaderStorageBlockBinding = GLContext.getFunctionAddress("glShaderStorageBlockBinding")) != 0; } private boolean ARB_shader_subroutine_initNativeFunctionAddresses() { return (glGetSubroutineUniformLocation = GLContext.getFunctionAddress("glGetSubroutineUniformLocation")) != 0 & (glGetSubroutineIndex = GLContext.getFunctionAddress("glGetSubroutineIndex")) != 0 & (glGetActiveSubroutineUniformiv = GLContext.getFunctionAddress("glGetActiveSubroutineUniformiv")) != 0 & (glGetActiveSubroutineUniformName = GLContext.getFunctionAddress("glGetActiveSubroutineUniformName")) != 0 & (glGetActiveSubroutineName = GLContext.getFunctionAddress("glGetActiveSubroutineName")) != 0 & (glUniformSubroutinesuiv = GLContext.getFunctionAddress("glUniformSubroutinesuiv")) != 0 & (glGetUniformSubroutineuiv = GLContext.getFunctionAddress("glGetUniformSubroutineuiv")) != 0 & (glGetProgramStageiv = GLContext.getFunctionAddress("glGetProgramStageiv")) != 0; } private boolean ARB_shading_language_include_initNativeFunctionAddresses() { return (glNamedStringARB = GLContext.getFunctionAddress("glNamedStringARB")) != 0 & (glDeleteNamedStringARB = GLContext.getFunctionAddress("glDeleteNamedStringARB")) != 0 & (glCompileShaderIncludeARB = GLContext.getFunctionAddress("glCompileShaderIncludeARB")) != 0 & (glIsNamedStringARB = GLContext.getFunctionAddress("glIsNamedStringARB")) != 0 & (glGetNamedStringARB = GLContext.getFunctionAddress("glGetNamedStringARB")) != 0 & (glGetNamedStringivARB = GLContext.getFunctionAddress("glGetNamedStringivARB")) != 0; } private boolean ARB_sync_initNativeFunctionAddresses() { return (glFenceSync = GLContext.getFunctionAddress("glFenceSync")) != 0 & (glIsSync = GLContext.getFunctionAddress("glIsSync")) != 0 & (glDeleteSync = GLContext.getFunctionAddress("glDeleteSync")) != 0 & (glClientWaitSync = GLContext.getFunctionAddress("glClientWaitSync")) != 0 & (glWaitSync = GLContext.getFunctionAddress("glWaitSync")) != 0 & (glGetInteger64v = GLContext.getFunctionAddress("glGetInteger64v")) != 0 & (glGetSynciv = GLContext.getFunctionAddress("glGetSynciv")) != 0; } private boolean ARB_tessellation_shader_initNativeFunctionAddresses() { return (glPatchParameteri = GLContext.getFunctionAddress("glPatchParameteri")) != 0 & (glPatchParameterfv = GLContext.getFunctionAddress("glPatchParameterfv")) != 0; } private boolean ARB_texture_buffer_object_initNativeFunctionAddresses() { return (glTexBufferARB = GLContext.getFunctionAddress("glTexBufferARB")) != 0; } private boolean ARB_texture_buffer_range_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glTexBufferRange = GLContext.getFunctionAddress("glTexBufferRange")) != 0 & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glTextureBufferRangeEXT = GLContext.getFunctionAddress("glTextureBufferRangeEXT")) != 0); } private boolean ARB_texture_compression_initNativeFunctionAddresses() { return (glCompressedTexImage1DARB = GLContext.getFunctionAddress("glCompressedTexImage1DARB")) != 0 & (glCompressedTexImage2DARB = GLContext.getFunctionAddress("glCompressedTexImage2DARB")) != 0 & (glCompressedTexImage3DARB = GLContext.getFunctionAddress("glCompressedTexImage3DARB")) != 0 & (glCompressedTexSubImage1DARB = GLContext.getFunctionAddress("glCompressedTexSubImage1DARB")) != 0 & (glCompressedTexSubImage2DARB = GLContext.getFunctionAddress("glCompressedTexSubImage2DARB")) != 0 & (glCompressedTexSubImage3DARB = GLContext.getFunctionAddress("glCompressedTexSubImage3DARB")) != 0 & (glGetCompressedTexImageARB = GLContext.getFunctionAddress("glGetCompressedTexImageARB")) != 0; } private boolean ARB_texture_multisample_initNativeFunctionAddresses() { return (glTexImage2DMultisample = GLContext.getFunctionAddress("glTexImage2DMultisample")) != 0 & (glTexImage3DMultisample = GLContext.getFunctionAddress("glTexImage3DMultisample")) != 0 & (glGetMultisamplefv = GLContext.getFunctionAddress("glGetMultisamplefv")) != 0 & (glSampleMaski = GLContext.getFunctionAddress("glSampleMaski")) != 0; } private boolean ARB_texture_storage_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glTexStorage1D = GLContext.getFunctionAddress(new String[] {"glTexStorage1D","glTexStorage1DEXT"})) != 0 & (glTexStorage2D = GLContext.getFunctionAddress(new String[] {"glTexStorage2D","glTexStorage2DEXT"})) != 0 & (glTexStorage3D = GLContext.getFunctionAddress(new String[] {"glTexStorage3D","glTexStorage3DEXT"})) != 0 & (!supported_extensions.contains("EXT_direct_state_access") || (glTextureStorage1DEXT = GLContext.getFunctionAddress(new String[] {"glTextureStorage1DEXT","glTextureStorage1DEXTEXT"})) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glTextureStorage2DEXT = GLContext.getFunctionAddress(new String[] {"glTextureStorage2DEXT","glTextureStorage2DEXTEXT"})) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glTextureStorage3DEXT = GLContext.getFunctionAddress(new String[] {"glTextureStorage3DEXT","glTextureStorage3DEXTEXT"})) != 0); } private boolean ARB_texture_storage_multisample_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glTexStorage2DMultisample = GLContext.getFunctionAddress("glTexStorage2DMultisample")) != 0 & (glTexStorage3DMultisample = GLContext.getFunctionAddress("glTexStorage3DMultisample")) != 0 & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glTextureStorage2DMultisampleEXT = GLContext.getFunctionAddress("glTextureStorage2DMultisampleEXT")) != 0) & (!supported_extensions.contains("GL_EXT_direct_state_access") || (glTextureStorage3DMultisampleEXT = GLContext.getFunctionAddress("glTextureStorage3DMultisampleEXT")) != 0); } private boolean ARB_texture_view_initNativeFunctionAddresses() { return (glTextureView = GLContext.getFunctionAddress("glTextureView")) != 0; } private boolean ARB_timer_query_initNativeFunctionAddresses() { return (glQueryCounter = GLContext.getFunctionAddress("glQueryCounter")) != 0 & (glGetQueryObjecti64v = GLContext.getFunctionAddress("glGetQueryObjecti64v")) != 0 & (glGetQueryObjectui64v = GLContext.getFunctionAddress("glGetQueryObjectui64v")) != 0; } private boolean ARB_transform_feedback2_initNativeFunctionAddresses() { return (glBindTransformFeedback = GLContext.getFunctionAddress("glBindTransformFeedback")) != 0 & (glDeleteTransformFeedbacks = GLContext.getFunctionAddress("glDeleteTransformFeedbacks")) != 0 & (glGenTransformFeedbacks = GLContext.getFunctionAddress("glGenTransformFeedbacks")) != 0 & (glIsTransformFeedback = GLContext.getFunctionAddress("glIsTransformFeedback")) != 0 & (glPauseTransformFeedback = GLContext.getFunctionAddress("glPauseTransformFeedback")) != 0 & (glResumeTransformFeedback = GLContext.getFunctionAddress("glResumeTransformFeedback")) != 0 & (glDrawTransformFeedback = GLContext.getFunctionAddress("glDrawTransformFeedback")) != 0; } private boolean ARB_transform_feedback3_initNativeFunctionAddresses() { return (glDrawTransformFeedbackStream = GLContext.getFunctionAddress("glDrawTransformFeedbackStream")) != 0 & (glBeginQueryIndexed = GLContext.getFunctionAddress("glBeginQueryIndexed")) != 0 & (glEndQueryIndexed = GLContext.getFunctionAddress("glEndQueryIndexed")) != 0 & (glGetQueryIndexediv = GLContext.getFunctionAddress("glGetQueryIndexediv")) != 0; } private boolean ARB_transform_feedback_instanced_initNativeFunctionAddresses() { return (glDrawTransformFeedbackInstanced = GLContext.getFunctionAddress("glDrawTransformFeedbackInstanced")) != 0 & (glDrawTransformFeedbackStreamInstanced = GLContext.getFunctionAddress("glDrawTransformFeedbackStreamInstanced")) != 0; } private boolean ARB_transpose_matrix_initNativeFunctionAddresses() { return (glLoadTransposeMatrixfARB = GLContext.getFunctionAddress("glLoadTransposeMatrixfARB")) != 0 & (glMultTransposeMatrixfARB = GLContext.getFunctionAddress("glMultTransposeMatrixfARB")) != 0; } private boolean ARB_uniform_buffer_object_initNativeFunctionAddresses() { return (glGetUniformIndices = GLContext.getFunctionAddress("glGetUniformIndices")) != 0 & (glGetActiveUniformsiv = GLContext.getFunctionAddress("glGetActiveUniformsiv")) != 0 & (glGetActiveUniformName = GLContext.getFunctionAddress("glGetActiveUniformName")) != 0 & (glGetUniformBlockIndex = GLContext.getFunctionAddress("glGetUniformBlockIndex")) != 0 & (glGetActiveUniformBlockiv = GLContext.getFunctionAddress("glGetActiveUniformBlockiv")) != 0 & (glGetActiveUniformBlockName = GLContext.getFunctionAddress("glGetActiveUniformBlockName")) != 0 & (glBindBufferRange = GLContext.getFunctionAddress("glBindBufferRange")) != 0 & (glBindBufferBase = GLContext.getFunctionAddress("glBindBufferBase")) != 0 & (glGetIntegeri_v = GLContext.getFunctionAddress("glGetIntegeri_v")) != 0 & (glUniformBlockBinding = GLContext.getFunctionAddress("glUniformBlockBinding")) != 0; } private boolean ARB_vertex_array_object_initNativeFunctionAddresses() { return (glBindVertexArray = GLContext.getFunctionAddress("glBindVertexArray")) != 0 & (glDeleteVertexArrays = GLContext.getFunctionAddress("glDeleteVertexArrays")) != 0 & (glGenVertexArrays = GLContext.getFunctionAddress("glGenVertexArrays")) != 0 & (glIsVertexArray = GLContext.getFunctionAddress("glIsVertexArray")) != 0; } private boolean ARB_vertex_attrib_64bit_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glVertexAttribL1d = GLContext.getFunctionAddress("glVertexAttribL1d")) != 0 & (glVertexAttribL2d = GLContext.getFunctionAddress("glVertexAttribL2d")) != 0 & (glVertexAttribL3d = GLContext.getFunctionAddress("glVertexAttribL3d")) != 0 & (glVertexAttribL4d = GLContext.getFunctionAddress("glVertexAttribL4d")) != 0 & (glVertexAttribL1dv = GLContext.getFunctionAddress("glVertexAttribL1dv")) != 0 & (glVertexAttribL2dv = GLContext.getFunctionAddress("glVertexAttribL2dv")) != 0 & (glVertexAttribL3dv = GLContext.getFunctionAddress("glVertexAttribL3dv")) != 0 & (glVertexAttribL4dv = GLContext.getFunctionAddress("glVertexAttribL4dv")) != 0 & (glVertexAttribLPointer = GLContext.getFunctionAddress("glVertexAttribLPointer")) != 0 & (glGetVertexAttribLdv = GLContext.getFunctionAddress("glGetVertexAttribLdv")) != 0 & (!supported_extensions.contains("EXT_direct_state_access") || (glVertexArrayVertexAttribLOffsetEXT = GLContext.getFunctionAddress("glVertexArrayVertexAttribLOffsetEXT")) != 0); } private boolean ARB_vertex_attrib_binding_initNativeFunctionAddresses() { return (glBindVertexBuffer = GLContext.getFunctionAddress("glBindVertexBuffer")) != 0 & (glVertexAttribFormat = GLContext.getFunctionAddress("glVertexAttribFormat")) != 0 & (glVertexAttribIFormat = GLContext.getFunctionAddress("glVertexAttribIFormat")) != 0 & (glVertexAttribLFormat = GLContext.getFunctionAddress("glVertexAttribLFormat")) != 0 & (glVertexAttribBinding = GLContext.getFunctionAddress("glVertexAttribBinding")) != 0 & (glVertexBindingDivisor = GLContext.getFunctionAddress("glVertexBindingDivisor")) != 0; } private boolean ARB_vertex_blend_initNativeFunctionAddresses() { return (glWeightbvARB = GLContext.getFunctionAddress("glWeightbvARB")) != 0 & (glWeightsvARB = GLContext.getFunctionAddress("glWeightsvARB")) != 0 & (glWeightivARB = GLContext.getFunctionAddress("glWeightivARB")) != 0 & (glWeightfvARB = GLContext.getFunctionAddress("glWeightfvARB")) != 0 & (glWeightdvARB = GLContext.getFunctionAddress("glWeightdvARB")) != 0 & (glWeightubvARB = GLContext.getFunctionAddress("glWeightubvARB")) != 0 & (glWeightusvARB = GLContext.getFunctionAddress("glWeightusvARB")) != 0 & (glWeightuivARB = GLContext.getFunctionAddress("glWeightuivARB")) != 0 & (glWeightPointerARB = GLContext.getFunctionAddress("glWeightPointerARB")) != 0 & (glVertexBlendARB = GLContext.getFunctionAddress("glVertexBlendARB")) != 0; } private boolean ARB_vertex_program_initNativeFunctionAddresses() { return (glVertexAttrib1sARB = GLContext.getFunctionAddress("glVertexAttrib1sARB")) != 0 & (glVertexAttrib1fARB = GLContext.getFunctionAddress("glVertexAttrib1fARB")) != 0 & (glVertexAttrib1dARB = GLContext.getFunctionAddress("glVertexAttrib1dARB")) != 0 & (glVertexAttrib2sARB = GLContext.getFunctionAddress("glVertexAttrib2sARB")) != 0 & (glVertexAttrib2fARB = GLContext.getFunctionAddress("glVertexAttrib2fARB")) != 0 & (glVertexAttrib2dARB = GLContext.getFunctionAddress("glVertexAttrib2dARB")) != 0 & (glVertexAttrib3sARB = GLContext.getFunctionAddress("glVertexAttrib3sARB")) != 0 & (glVertexAttrib3fARB = GLContext.getFunctionAddress("glVertexAttrib3fARB")) != 0 & (glVertexAttrib3dARB = GLContext.getFunctionAddress("glVertexAttrib3dARB")) != 0 & (glVertexAttrib4sARB = GLContext.getFunctionAddress("glVertexAttrib4sARB")) != 0 & (glVertexAttrib4fARB = GLContext.getFunctionAddress("glVertexAttrib4fARB")) != 0 & (glVertexAttrib4dARB = GLContext.getFunctionAddress("glVertexAttrib4dARB")) != 0 & (glVertexAttrib4NubARB = GLContext.getFunctionAddress("glVertexAttrib4NubARB")) != 0 & (glVertexAttribPointerARB = GLContext.getFunctionAddress("glVertexAttribPointerARB")) != 0 & (glEnableVertexAttribArrayARB = GLContext.getFunctionAddress("glEnableVertexAttribArrayARB")) != 0 & (glDisableVertexAttribArrayARB = GLContext.getFunctionAddress("glDisableVertexAttribArrayARB")) != 0 & (glGetVertexAttribfvARB = GLContext.getFunctionAddress("glGetVertexAttribfvARB")) != 0 & (glGetVertexAttribdvARB = GLContext.getFunctionAddress("glGetVertexAttribdvARB")) != 0 & (glGetVertexAttribivARB = GLContext.getFunctionAddress("glGetVertexAttribivARB")) != 0 & (glGetVertexAttribPointervARB = GLContext.getFunctionAddress("glGetVertexAttribPointervARB")) != 0; } private boolean ARB_vertex_shader_initNativeFunctionAddresses() { return (glVertexAttrib1sARB = GLContext.getFunctionAddress("glVertexAttrib1sARB")) != 0 & (glVertexAttrib1fARB = GLContext.getFunctionAddress("glVertexAttrib1fARB")) != 0 & (glVertexAttrib1dARB = GLContext.getFunctionAddress("glVertexAttrib1dARB")) != 0 & (glVertexAttrib2sARB = GLContext.getFunctionAddress("glVertexAttrib2sARB")) != 0 & (glVertexAttrib2fARB = GLContext.getFunctionAddress("glVertexAttrib2fARB")) != 0 & (glVertexAttrib2dARB = GLContext.getFunctionAddress("glVertexAttrib2dARB")) != 0 & (glVertexAttrib3sARB = GLContext.getFunctionAddress("glVertexAttrib3sARB")) != 0 & (glVertexAttrib3fARB = GLContext.getFunctionAddress("glVertexAttrib3fARB")) != 0 & (glVertexAttrib3dARB = GLContext.getFunctionAddress("glVertexAttrib3dARB")) != 0 & (glVertexAttrib4sARB = GLContext.getFunctionAddress("glVertexAttrib4sARB")) != 0 & (glVertexAttrib4fARB = GLContext.getFunctionAddress("glVertexAttrib4fARB")) != 0 & (glVertexAttrib4dARB = GLContext.getFunctionAddress("glVertexAttrib4dARB")) != 0 & (glVertexAttrib4NubARB = GLContext.getFunctionAddress("glVertexAttrib4NubARB")) != 0 & (glVertexAttribPointerARB = GLContext.getFunctionAddress("glVertexAttribPointerARB")) != 0 & (glEnableVertexAttribArrayARB = GLContext.getFunctionAddress("glEnableVertexAttribArrayARB")) != 0 & (glDisableVertexAttribArrayARB = GLContext.getFunctionAddress("glDisableVertexAttribArrayARB")) != 0 & (glBindAttribLocationARB = GLContext.getFunctionAddress("glBindAttribLocationARB")) != 0 & (glGetActiveAttribARB = GLContext.getFunctionAddress("glGetActiveAttribARB")) != 0 & (glGetAttribLocationARB = GLContext.getFunctionAddress("glGetAttribLocationARB")) != 0 & (glGetVertexAttribfvARB = GLContext.getFunctionAddress("glGetVertexAttribfvARB")) != 0 & (glGetVertexAttribdvARB = GLContext.getFunctionAddress("glGetVertexAttribdvARB")) != 0 & (glGetVertexAttribivARB = GLContext.getFunctionAddress("glGetVertexAttribivARB")) != 0 & (glGetVertexAttribPointervARB = GLContext.getFunctionAddress("glGetVertexAttribPointervARB")) != 0; } private boolean ARB_vertex_type_2_10_10_10_rev_initNativeFunctionAddresses() { return (glVertexP2ui = GLContext.getFunctionAddress("glVertexP2ui")) != 0 & (glVertexP3ui = GLContext.getFunctionAddress("glVertexP3ui")) != 0 & (glVertexP4ui = GLContext.getFunctionAddress("glVertexP4ui")) != 0 & (glVertexP2uiv = GLContext.getFunctionAddress("glVertexP2uiv")) != 0 & (glVertexP3uiv = GLContext.getFunctionAddress("glVertexP3uiv")) != 0 & (glVertexP4uiv = GLContext.getFunctionAddress("glVertexP4uiv")) != 0 & (glTexCoordP1ui = GLContext.getFunctionAddress("glTexCoordP1ui")) != 0 & (glTexCoordP2ui = GLContext.getFunctionAddress("glTexCoordP2ui")) != 0 & (glTexCoordP3ui = GLContext.getFunctionAddress("glTexCoordP3ui")) != 0 & (glTexCoordP4ui = GLContext.getFunctionAddress("glTexCoordP4ui")) != 0 & (glTexCoordP1uiv = GLContext.getFunctionAddress("glTexCoordP1uiv")) != 0 & (glTexCoordP2uiv = GLContext.getFunctionAddress("glTexCoordP2uiv")) != 0 & (glTexCoordP3uiv = GLContext.getFunctionAddress("glTexCoordP3uiv")) != 0 & (glTexCoordP4uiv = GLContext.getFunctionAddress("glTexCoordP4uiv")) != 0 & (glMultiTexCoordP1ui = GLContext.getFunctionAddress("glMultiTexCoordP1ui")) != 0 & (glMultiTexCoordP2ui = GLContext.getFunctionAddress("glMultiTexCoordP2ui")) != 0 & (glMultiTexCoordP3ui = GLContext.getFunctionAddress("glMultiTexCoordP3ui")) != 0 & (glMultiTexCoordP4ui = GLContext.getFunctionAddress("glMultiTexCoordP4ui")) != 0 & (glMultiTexCoordP1uiv = GLContext.getFunctionAddress("glMultiTexCoordP1uiv")) != 0 & (glMultiTexCoordP2uiv = GLContext.getFunctionAddress("glMultiTexCoordP2uiv")) != 0 & (glMultiTexCoordP3uiv = GLContext.getFunctionAddress("glMultiTexCoordP3uiv")) != 0 & (glMultiTexCoordP4uiv = GLContext.getFunctionAddress("glMultiTexCoordP4uiv")) != 0 & (glNormalP3ui = GLContext.getFunctionAddress("glNormalP3ui")) != 0 & (glNormalP3uiv = GLContext.getFunctionAddress("glNormalP3uiv")) != 0 & (glColorP3ui = GLContext.getFunctionAddress("glColorP3ui")) != 0 & (glColorP4ui = GLContext.getFunctionAddress("glColorP4ui")) != 0 & (glColorP3uiv = GLContext.getFunctionAddress("glColorP3uiv")) != 0 & (glColorP4uiv = GLContext.getFunctionAddress("glColorP4uiv")) != 0 & (glSecondaryColorP3ui = GLContext.getFunctionAddress("glSecondaryColorP3ui")) != 0 & (glSecondaryColorP3uiv = GLContext.getFunctionAddress("glSecondaryColorP3uiv")) != 0 & (glVertexAttribP1ui = GLContext.getFunctionAddress("glVertexAttribP1ui")) != 0 & (glVertexAttribP2ui = GLContext.getFunctionAddress("glVertexAttribP2ui")) != 0 & (glVertexAttribP3ui = GLContext.getFunctionAddress("glVertexAttribP3ui")) != 0 & (glVertexAttribP4ui = GLContext.getFunctionAddress("glVertexAttribP4ui")) != 0 & (glVertexAttribP1uiv = GLContext.getFunctionAddress("glVertexAttribP1uiv")) != 0 & (glVertexAttribP2uiv = GLContext.getFunctionAddress("glVertexAttribP2uiv")) != 0 & (glVertexAttribP3uiv = GLContext.getFunctionAddress("glVertexAttribP3uiv")) != 0 & (glVertexAttribP4uiv = GLContext.getFunctionAddress("glVertexAttribP4uiv")) != 0; } private boolean ARB_viewport_array_initNativeFunctionAddresses() { return (glViewportArrayv = GLContext.getFunctionAddress("glViewportArrayv")) != 0 & (glViewportIndexedf = GLContext.getFunctionAddress("glViewportIndexedf")) != 0 & (glViewportIndexedfv = GLContext.getFunctionAddress("glViewportIndexedfv")) != 0 & (glScissorArrayv = GLContext.getFunctionAddress("glScissorArrayv")) != 0 & (glScissorIndexed = GLContext.getFunctionAddress("glScissorIndexed")) != 0 & (glScissorIndexedv = GLContext.getFunctionAddress("glScissorIndexedv")) != 0 & (glDepthRangeArrayv = GLContext.getFunctionAddress("glDepthRangeArrayv")) != 0 & (glDepthRangeIndexed = GLContext.getFunctionAddress("glDepthRangeIndexed")) != 0 & (glGetFloati_v = GLContext.getFunctionAddress("glGetFloati_v")) != 0 & (glGetDoublei_v = GLContext.getFunctionAddress("glGetDoublei_v")) != 0 & (glGetIntegerIndexedvEXT = GLContext.getFunctionAddress("glGetIntegerIndexedvEXT")) != 0 & (glEnableIndexedEXT = GLContext.getFunctionAddress("glEnableIndexedEXT")) != 0 & (glDisableIndexedEXT = GLContext.getFunctionAddress("glDisableIndexedEXT")) != 0 & (glIsEnabledIndexedEXT = GLContext.getFunctionAddress("glIsEnabledIndexedEXT")) != 0; } private boolean ARB_window_pos_initNativeFunctionAddresses(boolean forwardCompatible) { return (forwardCompatible || (glWindowPos2fARB = GLContext.getFunctionAddress("glWindowPos2fARB")) != 0) & (forwardCompatible || (glWindowPos2dARB = GLContext.getFunctionAddress("glWindowPos2dARB")) != 0) & (forwardCompatible || (glWindowPos2iARB = GLContext.getFunctionAddress("glWindowPos2iARB")) != 0) & (forwardCompatible || (glWindowPos2sARB = GLContext.getFunctionAddress("glWindowPos2sARB")) != 0) & (forwardCompatible || (glWindowPos3fARB = GLContext.getFunctionAddress("glWindowPos3fARB")) != 0) & (forwardCompatible || (glWindowPos3dARB = GLContext.getFunctionAddress("glWindowPos3dARB")) != 0) & (forwardCompatible || (glWindowPos3iARB = GLContext.getFunctionAddress("glWindowPos3iARB")) != 0) & (forwardCompatible || (glWindowPos3sARB = GLContext.getFunctionAddress("glWindowPos3sARB")) != 0); } private boolean ATI_draw_buffers_initNativeFunctionAddresses() { return (glDrawBuffersATI = GLContext.getFunctionAddress("glDrawBuffersATI")) != 0; } private boolean ATI_element_array_initNativeFunctionAddresses() { return (glElementPointerATI = GLContext.getFunctionAddress("glElementPointerATI")) != 0 & (glDrawElementArrayATI = GLContext.getFunctionAddress("glDrawElementArrayATI")) != 0 & (glDrawRangeElementArrayATI = GLContext.getFunctionAddress("glDrawRangeElementArrayATI")) != 0; } private boolean ATI_envmap_bumpmap_initNativeFunctionAddresses() { return (glTexBumpParameterfvATI = GLContext.getFunctionAddress("glTexBumpParameterfvATI")) != 0 & (glTexBumpParameterivATI = GLContext.getFunctionAddress("glTexBumpParameterivATI")) != 0 & (glGetTexBumpParameterfvATI = GLContext.getFunctionAddress("glGetTexBumpParameterfvATI")) != 0 & (glGetTexBumpParameterivATI = GLContext.getFunctionAddress("glGetTexBumpParameterivATI")) != 0; } private boolean ATI_fragment_shader_initNativeFunctionAddresses() { return (glGenFragmentShadersATI = GLContext.getFunctionAddress("glGenFragmentShadersATI")) != 0 & (glBindFragmentShaderATI = GLContext.getFunctionAddress("glBindFragmentShaderATI")) != 0 & (glDeleteFragmentShaderATI = GLContext.getFunctionAddress("glDeleteFragmentShaderATI")) != 0 & (glBeginFragmentShaderATI = GLContext.getFunctionAddress("glBeginFragmentShaderATI")) != 0 & (glEndFragmentShaderATI = GLContext.getFunctionAddress("glEndFragmentShaderATI")) != 0 & (glPassTexCoordATI = GLContext.getFunctionAddress("glPassTexCoordATI")) != 0 & (glSampleMapATI = GLContext.getFunctionAddress("glSampleMapATI")) != 0 & (glColorFragmentOp1ATI = GLContext.getFunctionAddress("glColorFragmentOp1ATI")) != 0 & (glColorFragmentOp2ATI = GLContext.getFunctionAddress("glColorFragmentOp2ATI")) != 0 & (glColorFragmentOp3ATI = GLContext.getFunctionAddress("glColorFragmentOp3ATI")) != 0 & (glAlphaFragmentOp1ATI = GLContext.getFunctionAddress("glAlphaFragmentOp1ATI")) != 0 & (glAlphaFragmentOp2ATI = GLContext.getFunctionAddress("glAlphaFragmentOp2ATI")) != 0 & (glAlphaFragmentOp3ATI = GLContext.getFunctionAddress("glAlphaFragmentOp3ATI")) != 0 & (glSetFragmentShaderConstantATI = GLContext.getFunctionAddress("glSetFragmentShaderConstantATI")) != 0; } private boolean ATI_map_object_buffer_initNativeFunctionAddresses() { return (glMapObjectBufferATI = GLContext.getFunctionAddress("glMapObjectBufferATI")) != 0 & (glUnmapObjectBufferATI = GLContext.getFunctionAddress("glUnmapObjectBufferATI")) != 0; } private boolean ATI_pn_triangles_initNativeFunctionAddresses() { return (glPNTrianglesfATI = GLContext.getFunctionAddress("glPNTrianglesfATI")) != 0 & (glPNTrianglesiATI = GLContext.getFunctionAddress("glPNTrianglesiATI")) != 0; } private boolean ATI_separate_stencil_initNativeFunctionAddresses() { return (glStencilOpSeparateATI = GLContext.getFunctionAddress("glStencilOpSeparateATI")) != 0 & (glStencilFuncSeparateATI = GLContext.getFunctionAddress("glStencilFuncSeparateATI")) != 0; } private boolean ATI_vertex_array_object_initNativeFunctionAddresses() { return (glNewObjectBufferATI = GLContext.getFunctionAddress("glNewObjectBufferATI")) != 0 & (glIsObjectBufferATI = GLContext.getFunctionAddress("glIsObjectBufferATI")) != 0 & (glUpdateObjectBufferATI = GLContext.getFunctionAddress("glUpdateObjectBufferATI")) != 0 & (glGetObjectBufferfvATI = GLContext.getFunctionAddress("glGetObjectBufferfvATI")) != 0 & (glGetObjectBufferivATI = GLContext.getFunctionAddress("glGetObjectBufferivATI")) != 0 & (glFreeObjectBufferATI = GLContext.getFunctionAddress("glFreeObjectBufferATI")) != 0 & (glArrayObjectATI = GLContext.getFunctionAddress("glArrayObjectATI")) != 0 & (glGetArrayObjectfvATI = GLContext.getFunctionAddress("glGetArrayObjectfvATI")) != 0 & (glGetArrayObjectivATI = GLContext.getFunctionAddress("glGetArrayObjectivATI")) != 0 & (glVariantArrayObjectATI = GLContext.getFunctionAddress("glVariantArrayObjectATI")) != 0 & (glGetVariantArrayObjectfvATI = GLContext.getFunctionAddress("glGetVariantArrayObjectfvATI")) != 0 & (glGetVariantArrayObjectivATI = GLContext.getFunctionAddress("glGetVariantArrayObjectivATI")) != 0; } private boolean ATI_vertex_attrib_array_object_initNativeFunctionAddresses() { return (glVertexAttribArrayObjectATI = GLContext.getFunctionAddress("glVertexAttribArrayObjectATI")) != 0 & (glGetVertexAttribArrayObjectfvATI = GLContext.getFunctionAddress("glGetVertexAttribArrayObjectfvATI")) != 0 & (glGetVertexAttribArrayObjectivATI = GLContext.getFunctionAddress("glGetVertexAttribArrayObjectivATI")) != 0; } private boolean ATI_vertex_streams_initNativeFunctionAddresses() { return (glVertexStream2fATI = GLContext.getFunctionAddress("glVertexStream2fATI")) != 0 & (glVertexStream2dATI = GLContext.getFunctionAddress("glVertexStream2dATI")) != 0 & (glVertexStream2iATI = GLContext.getFunctionAddress("glVertexStream2iATI")) != 0 & (glVertexStream2sATI = GLContext.getFunctionAddress("glVertexStream2sATI")) != 0 & (glVertexStream3fATI = GLContext.getFunctionAddress("glVertexStream3fATI")) != 0 & (glVertexStream3dATI = GLContext.getFunctionAddress("glVertexStream3dATI")) != 0 & (glVertexStream3iATI = GLContext.getFunctionAddress("glVertexStream3iATI")) != 0 & (glVertexStream3sATI = GLContext.getFunctionAddress("glVertexStream3sATI")) != 0 & (glVertexStream4fATI = GLContext.getFunctionAddress("glVertexStream4fATI")) != 0 & (glVertexStream4dATI = GLContext.getFunctionAddress("glVertexStream4dATI")) != 0 & (glVertexStream4iATI = GLContext.getFunctionAddress("glVertexStream4iATI")) != 0 & (glVertexStream4sATI = GLContext.getFunctionAddress("glVertexStream4sATI")) != 0 & (glNormalStream3bATI = GLContext.getFunctionAddress("glNormalStream3bATI")) != 0 & (glNormalStream3fATI = GLContext.getFunctionAddress("glNormalStream3fATI")) != 0 & (glNormalStream3dATI = GLContext.getFunctionAddress("glNormalStream3dATI")) != 0 & (glNormalStream3iATI = GLContext.getFunctionAddress("glNormalStream3iATI")) != 0 & (glNormalStream3sATI = GLContext.getFunctionAddress("glNormalStream3sATI")) != 0 & (glClientActiveVertexStreamATI = GLContext.getFunctionAddress("glClientActiveVertexStreamATI")) != 0 & (glVertexBlendEnvfATI = GLContext.getFunctionAddress("glVertexBlendEnvfATI")) != 0 & (glVertexBlendEnviATI = GLContext.getFunctionAddress("glVertexBlendEnviATI")) != 0; } private boolean EXT_bindable_uniform_initNativeFunctionAddresses() { return (glUniformBufferEXT = GLContext.getFunctionAddress("glUniformBufferEXT")) != 0 & (glGetUniformBufferSizeEXT = GLContext.getFunctionAddress("glGetUniformBufferSizeEXT")) != 0 & (glGetUniformOffsetEXT = GLContext.getFunctionAddress("glGetUniformOffsetEXT")) != 0; } private boolean EXT_blend_color_initNativeFunctionAddresses() { return (glBlendColorEXT = GLContext.getFunctionAddress("glBlendColorEXT")) != 0; } private boolean EXT_blend_equation_separate_initNativeFunctionAddresses() { return (glBlendEquationSeparateEXT = GLContext.getFunctionAddress("glBlendEquationSeparateEXT")) != 0; } private boolean EXT_blend_func_separate_initNativeFunctionAddresses() { return (glBlendFuncSeparateEXT = GLContext.getFunctionAddress("glBlendFuncSeparateEXT")) != 0; } private boolean EXT_blend_minmax_initNativeFunctionAddresses() { return (glBlendEquationEXT = GLContext.getFunctionAddress("glBlendEquationEXT")) != 0; } private boolean EXT_compiled_vertex_array_initNativeFunctionAddresses() { return (glLockArraysEXT = GLContext.getFunctionAddress("glLockArraysEXT")) != 0 & (glUnlockArraysEXT = GLContext.getFunctionAddress("glUnlockArraysEXT")) != 0; } private boolean EXT_depth_bounds_test_initNativeFunctionAddresses() { return (glDepthBoundsEXT = GLContext.getFunctionAddress("glDepthBoundsEXT")) != 0; } private boolean EXT_direct_state_access_initNativeFunctionAddresses(boolean forwardCompatible,Set<String> supported_extensions) { return (forwardCompatible || (glClientAttribDefaultEXT = GLContext.getFunctionAddress("glClientAttribDefaultEXT")) != 0) & (forwardCompatible || (glPushClientAttribDefaultEXT = GLContext.getFunctionAddress("glPushClientAttribDefaultEXT")) != 0) & (forwardCompatible || (glMatrixLoadfEXT = GLContext.getFunctionAddress("glMatrixLoadfEXT")) != 0) & (forwardCompatible || (glMatrixLoaddEXT = GLContext.getFunctionAddress("glMatrixLoaddEXT")) != 0) & (forwardCompatible || (glMatrixMultfEXT = GLContext.getFunctionAddress("glMatrixMultfEXT")) != 0) & (forwardCompatible || (glMatrixMultdEXT = GLContext.getFunctionAddress("glMatrixMultdEXT")) != 0) & (forwardCompatible || (glMatrixLoadIdentityEXT = GLContext.getFunctionAddress("glMatrixLoadIdentityEXT")) != 0) & (forwardCompatible || (glMatrixRotatefEXT = GLContext.getFunctionAddress("glMatrixRotatefEXT")) != 0) & (forwardCompatible || (glMatrixRotatedEXT = GLContext.getFunctionAddress("glMatrixRotatedEXT")) != 0) & (forwardCompatible || (glMatrixScalefEXT = GLContext.getFunctionAddress("glMatrixScalefEXT")) != 0) & (forwardCompatible || (glMatrixScaledEXT = GLContext.getFunctionAddress("glMatrixScaledEXT")) != 0) & (forwardCompatible || (glMatrixTranslatefEXT = GLContext.getFunctionAddress("glMatrixTranslatefEXT")) != 0) & (forwardCompatible || (glMatrixTranslatedEXT = GLContext.getFunctionAddress("glMatrixTranslatedEXT")) != 0) & (forwardCompatible || (glMatrixOrthoEXT = GLContext.getFunctionAddress("glMatrixOrthoEXT")) != 0) & (forwardCompatible || (glMatrixFrustumEXT = GLContext.getFunctionAddress("glMatrixFrustumEXT")) != 0) & (forwardCompatible || (glMatrixPushEXT = GLContext.getFunctionAddress("glMatrixPushEXT")) != 0) & (forwardCompatible || (glMatrixPopEXT = GLContext.getFunctionAddress("glMatrixPopEXT")) != 0) & (glTextureParameteriEXT = GLContext.getFunctionAddress("glTextureParameteriEXT")) != 0 & (glTextureParameterivEXT = GLContext.getFunctionAddress("glTextureParameterivEXT")) != 0 & (glTextureParameterfEXT = GLContext.getFunctionAddress("glTextureParameterfEXT")) != 0 & (glTextureParameterfvEXT = GLContext.getFunctionAddress("glTextureParameterfvEXT")) != 0 & (glTextureImage1DEXT = GLContext.getFunctionAddress("glTextureImage1DEXT")) != 0 & (glTextureImage2DEXT = GLContext.getFunctionAddress("glTextureImage2DEXT")) != 0 & (glTextureSubImage1DEXT = GLContext.getFunctionAddress("glTextureSubImage1DEXT")) != 0 & (glTextureSubImage2DEXT = GLContext.getFunctionAddress("glTextureSubImage2DEXT")) != 0 & (glCopyTextureImage1DEXT = GLContext.getFunctionAddress("glCopyTextureImage1DEXT")) != 0 & (glCopyTextureImage2DEXT = GLContext.getFunctionAddress("glCopyTextureImage2DEXT")) != 0 & (glCopyTextureSubImage1DEXT = GLContext.getFunctionAddress("glCopyTextureSubImage1DEXT")) != 0 & (glCopyTextureSubImage2DEXT = GLContext.getFunctionAddress("glCopyTextureSubImage2DEXT")) != 0 & (glGetTextureImageEXT = GLContext.getFunctionAddress("glGetTextureImageEXT")) != 0 & (glGetTextureParameterfvEXT = GLContext.getFunctionAddress("glGetTextureParameterfvEXT")) != 0 & (glGetTextureParameterivEXT = GLContext.getFunctionAddress("glGetTextureParameterivEXT")) != 0 & (glGetTextureLevelParameterfvEXT = GLContext.getFunctionAddress("glGetTextureLevelParameterfvEXT")) != 0 & (glGetTextureLevelParameterivEXT = GLContext.getFunctionAddress("glGetTextureLevelParameterivEXT")) != 0 & (!supported_extensions.contains("OpenGL12") || (glTextureImage3DEXT = GLContext.getFunctionAddress("glTextureImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL12") || (glTextureSubImage3DEXT = GLContext.getFunctionAddress("glTextureSubImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL12") || (glCopyTextureSubImage3DEXT = GLContext.getFunctionAddress("glCopyTextureSubImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glBindMultiTextureEXT = GLContext.getFunctionAddress("glBindMultiTextureEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexCoordPointerEXT = GLContext.getFunctionAddress("glMultiTexCoordPointerEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexEnvfEXT = GLContext.getFunctionAddress("glMultiTexEnvfEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexEnvfvEXT = GLContext.getFunctionAddress("glMultiTexEnvfvEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexEnviEXT = GLContext.getFunctionAddress("glMultiTexEnviEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexEnvivEXT = GLContext.getFunctionAddress("glMultiTexEnvivEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexGendEXT = GLContext.getFunctionAddress("glMultiTexGendEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexGendvEXT = GLContext.getFunctionAddress("glMultiTexGendvEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexGenfEXT = GLContext.getFunctionAddress("glMultiTexGenfEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexGenfvEXT = GLContext.getFunctionAddress("glMultiTexGenfvEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexGeniEXT = GLContext.getFunctionAddress("glMultiTexGeniEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMultiTexGenivEXT = GLContext.getFunctionAddress("glMultiTexGenivEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glGetMultiTexEnvfvEXT = GLContext.getFunctionAddress("glGetMultiTexEnvfvEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glGetMultiTexEnvivEXT = GLContext.getFunctionAddress("glGetMultiTexEnvivEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glGetMultiTexGendvEXT = GLContext.getFunctionAddress("glGetMultiTexGendvEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glGetMultiTexGenfvEXT = GLContext.getFunctionAddress("glGetMultiTexGenfvEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glGetMultiTexGenivEXT = GLContext.getFunctionAddress("glGetMultiTexGenivEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexParameteriEXT = GLContext.getFunctionAddress("glMultiTexParameteriEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexParameterivEXT = GLContext.getFunctionAddress("glMultiTexParameterivEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexParameterfEXT = GLContext.getFunctionAddress("glMultiTexParameterfEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexParameterfvEXT = GLContext.getFunctionAddress("glMultiTexParameterfvEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexImage1DEXT = GLContext.getFunctionAddress("glMultiTexImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexImage2DEXT = GLContext.getFunctionAddress("glMultiTexImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexSubImage1DEXT = GLContext.getFunctionAddress("glMultiTexSubImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexSubImage2DEXT = GLContext.getFunctionAddress("glMultiTexSubImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCopyMultiTexImage1DEXT = GLContext.getFunctionAddress("glCopyMultiTexImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCopyMultiTexImage2DEXT = GLContext.getFunctionAddress("glCopyMultiTexImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCopyMultiTexSubImage1DEXT = GLContext.getFunctionAddress("glCopyMultiTexSubImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCopyMultiTexSubImage2DEXT = GLContext.getFunctionAddress("glCopyMultiTexSubImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetMultiTexImageEXT = GLContext.getFunctionAddress("glGetMultiTexImageEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetMultiTexParameterfvEXT = GLContext.getFunctionAddress("glGetMultiTexParameterfvEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetMultiTexParameterivEXT = GLContext.getFunctionAddress("glGetMultiTexParameterivEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetMultiTexLevelParameterfvEXT = GLContext.getFunctionAddress("glGetMultiTexLevelParameterfvEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetMultiTexLevelParameterivEXT = GLContext.getFunctionAddress("glGetMultiTexLevelParameterivEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexImage3DEXT = GLContext.getFunctionAddress("glMultiTexImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glMultiTexSubImage3DEXT = GLContext.getFunctionAddress("glMultiTexSubImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCopyMultiTexSubImage3DEXT = GLContext.getFunctionAddress("glCopyMultiTexSubImage3DEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glEnableClientStateIndexedEXT = GLContext.getFunctionAddress("glEnableClientStateIndexedEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glDisableClientStateIndexedEXT = GLContext.getFunctionAddress("glDisableClientStateIndexedEXT")) != 0) & ((!supported_extensions.contains("OpenGL30") || (glEnableClientStateiEXT = GLContext.getFunctionAddress("glEnableClientStateiEXT")) != 0) || true) & ((!supported_extensions.contains("OpenGL30") || (glDisableClientStateiEXT = GLContext.getFunctionAddress("glDisableClientStateiEXT")) != 0) || true) & (!supported_extensions.contains("OpenGL13") || (glGetFloatIndexedvEXT = GLContext.getFunctionAddress("glGetFloatIndexedvEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetDoubleIndexedvEXT = GLContext.getFunctionAddress("glGetDoubleIndexedvEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetPointerIndexedvEXT = GLContext.getFunctionAddress("glGetPointerIndexedvEXT")) != 0) & ((!supported_extensions.contains("OpenGL30") || (glGetFloati_vEXT = GLContext.getFunctionAddress("glGetFloati_vEXT")) != 0) || true) & ((!supported_extensions.contains("OpenGL30") || (glGetDoublei_vEXT = GLContext.getFunctionAddress("glGetDoublei_vEXT")) != 0) || true) & ((!supported_extensions.contains("OpenGL30") || (glGetPointeri_vEXT = GLContext.getFunctionAddress("glGetPointeri_vEXT")) != 0) || true) & (!supported_extensions.contains("OpenGL13") || (glEnableIndexedEXT = GLContext.getFunctionAddress("glEnableIndexedEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glDisableIndexedEXT = GLContext.getFunctionAddress("glDisableIndexedEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glIsEnabledIndexedEXT = GLContext.getFunctionAddress("glIsEnabledIndexedEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetIntegerIndexedvEXT = GLContext.getFunctionAddress("glGetIntegerIndexedvEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetBooleanIndexedvEXT = GLContext.getFunctionAddress("glGetBooleanIndexedvEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glNamedProgramStringEXT = GLContext.getFunctionAddress("glNamedProgramStringEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glNamedProgramLocalParameter4dEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameter4dEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glNamedProgramLocalParameter4dvEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameter4dvEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glNamedProgramLocalParameter4fEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameter4fEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glNamedProgramLocalParameter4fvEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameter4fvEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glGetNamedProgramLocalParameterdvEXT = GLContext.getFunctionAddress("glGetNamedProgramLocalParameterdvEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glGetNamedProgramLocalParameterfvEXT = GLContext.getFunctionAddress("glGetNamedProgramLocalParameterfvEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glGetNamedProgramivEXT = GLContext.getFunctionAddress("glGetNamedProgramivEXT")) != 0) & (!supported_extensions.contains("GL_ARB_vertex_program") || (glGetNamedProgramStringEXT = GLContext.getFunctionAddress("glGetNamedProgramStringEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedTextureImage3DEXT = GLContext.getFunctionAddress("glCompressedTextureImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedTextureImage2DEXT = GLContext.getFunctionAddress("glCompressedTextureImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedTextureImage1DEXT = GLContext.getFunctionAddress("glCompressedTextureImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedTextureSubImage3DEXT = GLContext.getFunctionAddress("glCompressedTextureSubImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedTextureSubImage2DEXT = GLContext.getFunctionAddress("glCompressedTextureSubImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedTextureSubImage1DEXT = GLContext.getFunctionAddress("glCompressedTextureSubImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetCompressedTextureImageEXT = GLContext.getFunctionAddress("glGetCompressedTextureImageEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedMultiTexImage3DEXT = GLContext.getFunctionAddress("glCompressedMultiTexImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedMultiTexImage2DEXT = GLContext.getFunctionAddress("glCompressedMultiTexImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedMultiTexImage1DEXT = GLContext.getFunctionAddress("glCompressedMultiTexImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedMultiTexSubImage3DEXT = GLContext.getFunctionAddress("glCompressedMultiTexSubImage3DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedMultiTexSubImage2DEXT = GLContext.getFunctionAddress("glCompressedMultiTexSubImage2DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glCompressedMultiTexSubImage1DEXT = GLContext.getFunctionAddress("glCompressedMultiTexSubImage1DEXT")) != 0) & (!supported_extensions.contains("OpenGL13") || (glGetCompressedMultiTexImageEXT = GLContext.getFunctionAddress("glGetCompressedMultiTexImageEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMatrixLoadTransposefEXT = GLContext.getFunctionAddress("glMatrixLoadTransposefEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMatrixLoadTransposedEXT = GLContext.getFunctionAddress("glMatrixLoadTransposedEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMatrixMultTransposefEXT = GLContext.getFunctionAddress("glMatrixMultTransposefEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL13") || (glMatrixMultTransposedEXT = GLContext.getFunctionAddress("glMatrixMultTransposedEXT")) != 0) & (!supported_extensions.contains("OpenGL15") || (glNamedBufferDataEXT = GLContext.getFunctionAddress("glNamedBufferDataEXT")) != 0) & (!supported_extensions.contains("OpenGL15") || (glNamedBufferSubDataEXT = GLContext.getFunctionAddress("glNamedBufferSubDataEXT")) != 0) & (!supported_extensions.contains("OpenGL15") || (glMapNamedBufferEXT = GLContext.getFunctionAddress("glMapNamedBufferEXT")) != 0) & (!supported_extensions.contains("OpenGL15") || (glUnmapNamedBufferEXT = GLContext.getFunctionAddress("glUnmapNamedBufferEXT")) != 0) & (!supported_extensions.contains("OpenGL15") || (glGetNamedBufferParameterivEXT = GLContext.getFunctionAddress("glGetNamedBufferParameterivEXT")) != 0) & (!supported_extensions.contains("OpenGL15") || (glGetNamedBufferPointervEXT = GLContext.getFunctionAddress("glGetNamedBufferPointervEXT")) != 0) & (!supported_extensions.contains("OpenGL15") || (glGetNamedBufferSubDataEXT = GLContext.getFunctionAddress("glGetNamedBufferSubDataEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform1fEXT = GLContext.getFunctionAddress("glProgramUniform1fEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform2fEXT = GLContext.getFunctionAddress("glProgramUniform2fEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform3fEXT = GLContext.getFunctionAddress("glProgramUniform3fEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform4fEXT = GLContext.getFunctionAddress("glProgramUniform4fEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform1iEXT = GLContext.getFunctionAddress("glProgramUniform1iEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform2iEXT = GLContext.getFunctionAddress("glProgramUniform2iEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform3iEXT = GLContext.getFunctionAddress("glProgramUniform3iEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform4iEXT = GLContext.getFunctionAddress("glProgramUniform4iEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform1fvEXT = GLContext.getFunctionAddress("glProgramUniform1fvEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform2fvEXT = GLContext.getFunctionAddress("glProgramUniform2fvEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform3fvEXT = GLContext.getFunctionAddress("glProgramUniform3fvEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform4fvEXT = GLContext.getFunctionAddress("glProgramUniform4fvEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform1ivEXT = GLContext.getFunctionAddress("glProgramUniform1ivEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform2ivEXT = GLContext.getFunctionAddress("glProgramUniform2ivEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform3ivEXT = GLContext.getFunctionAddress("glProgramUniform3ivEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniform4ivEXT = GLContext.getFunctionAddress("glProgramUniform4ivEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniformMatrix2fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix2fvEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniformMatrix3fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix3fvEXT")) != 0) & (!supported_extensions.contains("OpenGL20") || (glProgramUniformMatrix4fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix4fvEXT")) != 0) & (!supported_extensions.contains("OpenGL21") || (glProgramUniformMatrix2x3fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix2x3fvEXT")) != 0) & (!supported_extensions.contains("OpenGL21") || (glProgramUniformMatrix3x2fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix3x2fvEXT")) != 0) & (!supported_extensions.contains("OpenGL21") || (glProgramUniformMatrix2x4fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix2x4fvEXT")) != 0) & (!supported_extensions.contains("OpenGL21") || (glProgramUniformMatrix4x2fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix4x2fvEXT")) != 0) & (!supported_extensions.contains("OpenGL21") || (glProgramUniformMatrix3x4fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix3x4fvEXT")) != 0) & (!supported_extensions.contains("OpenGL21") || (glProgramUniformMatrix4x3fvEXT = GLContext.getFunctionAddress("glProgramUniformMatrix4x3fvEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_buffer_object") || (glTextureBufferEXT = GLContext.getFunctionAddress("glTextureBufferEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_buffer_object") || (glMultiTexBufferEXT = GLContext.getFunctionAddress("glMultiTexBufferEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glTextureParameterIivEXT = GLContext.getFunctionAddress("glTextureParameterIivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glTextureParameterIuivEXT = GLContext.getFunctionAddress("glTextureParameterIuivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glGetTextureParameterIivEXT = GLContext.getFunctionAddress("glGetTextureParameterIivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glGetTextureParameterIuivEXT = GLContext.getFunctionAddress("glGetTextureParameterIuivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glMultiTexParameterIivEXT = GLContext.getFunctionAddress("glMultiTexParameterIivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glMultiTexParameterIuivEXT = GLContext.getFunctionAddress("glMultiTexParameterIuivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glGetMultiTexParameterIivEXT = GLContext.getFunctionAddress("glGetMultiTexParameterIivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_texture_integer") || (glGetMultiTexParameterIuivEXT = GLContext.getFunctionAddress("glGetMultiTexParameterIuivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform1uiEXT = GLContext.getFunctionAddress("glProgramUniform1uiEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform2uiEXT = GLContext.getFunctionAddress("glProgramUniform2uiEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform3uiEXT = GLContext.getFunctionAddress("glProgramUniform3uiEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform4uiEXT = GLContext.getFunctionAddress("glProgramUniform4uiEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform1uivEXT = GLContext.getFunctionAddress("glProgramUniform1uivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform2uivEXT = GLContext.getFunctionAddress("glProgramUniform2uivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform3uivEXT = GLContext.getFunctionAddress("glProgramUniform3uivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_shader4") || (glProgramUniform4uivEXT = GLContext.getFunctionAddress("glProgramUniform4uivEXT")) != 0) & (!supported_extensions.contains("GL_EXT_gpu_program_parameters") || (glNamedProgramLocalParameters4fvEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameters4fvEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glNamedProgramLocalParameterI4iEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameterI4iEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glNamedProgramLocalParameterI4ivEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameterI4ivEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glNamedProgramLocalParametersI4ivEXT = GLContext.getFunctionAddress("glNamedProgramLocalParametersI4ivEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glNamedProgramLocalParameterI4uiEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameterI4uiEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glNamedProgramLocalParameterI4uivEXT = GLContext.getFunctionAddress("glNamedProgramLocalParameterI4uivEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glNamedProgramLocalParametersI4uivEXT = GLContext.getFunctionAddress("glNamedProgramLocalParametersI4uivEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glGetNamedProgramLocalParameterIivEXT = GLContext.getFunctionAddress("glGetNamedProgramLocalParameterIivEXT")) != 0) & (!supported_extensions.contains("GL_NV_gpu_program4") || (glGetNamedProgramLocalParameterIuivEXT = GLContext.getFunctionAddress("glGetNamedProgramLocalParameterIuivEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glNamedRenderbufferStorageEXT = GLContext.getFunctionAddress("glNamedRenderbufferStorageEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glGetNamedRenderbufferParameterivEXT = GLContext.getFunctionAddress("glGetNamedRenderbufferParameterivEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_multisample")) || (glNamedRenderbufferStorageMultisampleEXT = GLContext.getFunctionAddress("glNamedRenderbufferStorageMultisampleEXT")) != 0) & (!supported_extensions.contains("GL_NV_framebuffer_multisample_coverage") || (glNamedRenderbufferStorageMultisampleCoverageEXT = GLContext.getFunctionAddress("glNamedRenderbufferStorageMultisampleCoverageEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glCheckNamedFramebufferStatusEXT = GLContext.getFunctionAddress("glCheckNamedFramebufferStatusEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glNamedFramebufferTexture1DEXT = GLContext.getFunctionAddress("glNamedFramebufferTexture1DEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glNamedFramebufferTexture2DEXT = GLContext.getFunctionAddress("glNamedFramebufferTexture2DEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glNamedFramebufferTexture3DEXT = GLContext.getFunctionAddress("glNamedFramebufferTexture3DEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glNamedFramebufferRenderbufferEXT = GLContext.getFunctionAddress("glNamedFramebufferRenderbufferEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glGetNamedFramebufferAttachmentParameterivEXT = GLContext.getFunctionAddress("glGetNamedFramebufferAttachmentParameterivEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glGenerateTextureMipmapEXT = GLContext.getFunctionAddress("glGenerateTextureMipmapEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glGenerateMultiTexMipmapEXT = GLContext.getFunctionAddress("glGenerateMultiTexMipmapEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glFramebufferDrawBufferEXT = GLContext.getFunctionAddress("glFramebufferDrawBufferEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glFramebufferDrawBuffersEXT = GLContext.getFunctionAddress("glFramebufferDrawBuffersEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glFramebufferReadBufferEXT = GLContext.getFunctionAddress("glFramebufferReadBufferEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL30") || supported_extensions.contains("GL_EXT_framebuffer_object")) || (glGetFramebufferParameterivEXT = GLContext.getFunctionAddress("glGetFramebufferParameterivEXT")) != 0) & (!(false || supported_extensions.contains("OpenGL31") || supported_extensions.contains("GL_ARB_copy_buffer")) || (glNamedCopyBufferSubDataEXT = GLContext.getFunctionAddress("glNamedCopyBufferSubDataEXT")) != 0) & (!(false || supported_extensions.contains("GL_EXT_geometry_shader4") || supported_extensions.contains("NV_geometry_program4")) || (glNamedFramebufferTextureEXT = GLContext.getFunctionAddress("glNamedFramebufferTextureEXT")) != 0) & (!(false || supported_extensions.contains("GL_EXT_geometry_shader4") || supported_extensions.contains("NV_geometry_program4")) || (glNamedFramebufferTextureLayerEXT = GLContext.getFunctionAddress("glNamedFramebufferTextureLayerEXT")) != 0) & (!(false || supported_extensions.contains("GL_EXT_geometry_shader4") || supported_extensions.contains("NV_geometry_program4")) || (glNamedFramebufferTextureFaceEXT = GLContext.getFunctionAddress("glNamedFramebufferTextureFaceEXT")) != 0) & (!supported_extensions.contains("GL_NV_explicit_multisample") || (glTextureRenderbufferEXT = GLContext.getFunctionAddress("glTextureRenderbufferEXT")) != 0) & (!supported_extensions.contains("GL_NV_explicit_multisample") || (glMultiTexRenderbufferEXT = GLContext.getFunctionAddress("glMultiTexRenderbufferEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArrayVertexOffsetEXT = GLContext.getFunctionAddress("glVertexArrayVertexOffsetEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArrayColorOffsetEXT = GLContext.getFunctionAddress("glVertexArrayColorOffsetEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArrayEdgeFlagOffsetEXT = GLContext.getFunctionAddress("glVertexArrayEdgeFlagOffsetEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glVertexArrayIndexOffsetEXT = GLContext.getFunctionAddress("glVertexArrayIndexOffsetEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArrayNormalOffsetEXT = GLContext.getFunctionAddress("glVertexArrayNormalOffsetEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArrayTexCoordOffsetEXT = GLContext.getFunctionAddress("glVertexArrayTexCoordOffsetEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArrayMultiTexCoordOffsetEXT = GLContext.getFunctionAddress("glVertexArrayMultiTexCoordOffsetEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArrayFogCoordOffsetEXT = GLContext.getFunctionAddress("glVertexArrayFogCoordOffsetEXT")) != 0) & (forwardCompatible || !supported_extensions.contains("OpenGL30") || (glVertexArraySecondaryColorOffsetEXT = GLContext.getFunctionAddress("glVertexArraySecondaryColorOffsetEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glVertexArrayVertexAttribOffsetEXT = GLContext.getFunctionAddress("glVertexArrayVertexAttribOffsetEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glVertexArrayVertexAttribIOffsetEXT = GLContext.getFunctionAddress("glVertexArrayVertexAttribIOffsetEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glEnableVertexArrayEXT = GLContext.getFunctionAddress("glEnableVertexArrayEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glDisableVertexArrayEXT = GLContext.getFunctionAddress("glDisableVertexArrayEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glEnableVertexArrayAttribEXT = GLContext.getFunctionAddress("glEnableVertexArrayAttribEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glDisableVertexArrayAttribEXT = GLContext.getFunctionAddress("glDisableVertexArrayAttribEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glGetVertexArrayIntegervEXT = GLContext.getFunctionAddress("glGetVertexArrayIntegervEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glGetVertexArrayPointervEXT = GLContext.getFunctionAddress("glGetVertexArrayPointervEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glGetVertexArrayIntegeri_vEXT = GLContext.getFunctionAddress("glGetVertexArrayIntegeri_vEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glGetVertexArrayPointeri_vEXT = GLContext.getFunctionAddress("glGetVertexArrayPointeri_vEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glMapNamedBufferRangeEXT = GLContext.getFunctionAddress("glMapNamedBufferRangeEXT")) != 0) & (!supported_extensions.contains("OpenGL30") || (glFlushMappedNamedBufferRangeEXT = GLContext.getFunctionAddress("glFlushMappedNamedBufferRangeEXT")) != 0); } private boolean EXT_draw_buffers2_initNativeFunctionAddresses() { return (glColorMaskIndexedEXT = GLContext.getFunctionAddress("glColorMaskIndexedEXT")) != 0 & (glGetBooleanIndexedvEXT = GLContext.getFunctionAddress("glGetBooleanIndexedvEXT")) != 0 & (glGetIntegerIndexedvEXT = GLContext.getFunctionAddress("glGetIntegerIndexedvEXT")) != 0 & (glEnableIndexedEXT = GLContext.getFunctionAddress("glEnableIndexedEXT")) != 0 & (glDisableIndexedEXT = GLContext.getFunctionAddress("glDisableIndexedEXT")) != 0 & (glIsEnabledIndexedEXT = GLContext.getFunctionAddress("glIsEnabledIndexedEXT")) != 0; } private boolean EXT_draw_instanced_initNativeFunctionAddresses() { return (glDrawArraysInstancedEXT = GLContext.getFunctionAddress("glDrawArraysInstancedEXT")) != 0 & (glDrawElementsInstancedEXT = GLContext.getFunctionAddress("glDrawElementsInstancedEXT")) != 0; } private boolean EXT_draw_range_elements_initNativeFunctionAddresses() { return (glDrawRangeElementsEXT = GLContext.getFunctionAddress("glDrawRangeElementsEXT")) != 0; } private boolean EXT_fog_coord_initNativeFunctionAddresses() { return (glFogCoordfEXT = GLContext.getFunctionAddress("glFogCoordfEXT")) != 0 & (glFogCoorddEXT = GLContext.getFunctionAddress("glFogCoorddEXT")) != 0 & (glFogCoordPointerEXT = GLContext.getFunctionAddress("glFogCoordPointerEXT")) != 0; } private boolean EXT_framebuffer_blit_initNativeFunctionAddresses() { return (glBlitFramebufferEXT = GLContext.getFunctionAddress("glBlitFramebufferEXT")) != 0; } private boolean EXT_framebuffer_multisample_initNativeFunctionAddresses() { return (glRenderbufferStorageMultisampleEXT = GLContext.getFunctionAddress("glRenderbufferStorageMultisampleEXT")) != 0; } private boolean EXT_framebuffer_object_initNativeFunctionAddresses() { return (glIsRenderbufferEXT = GLContext.getFunctionAddress("glIsRenderbufferEXT")) != 0 & (glBindRenderbufferEXT = GLContext.getFunctionAddress("glBindRenderbufferEXT")) != 0 & (glDeleteRenderbuffersEXT = GLContext.getFunctionAddress("glDeleteRenderbuffersEXT")) != 0 & (glGenRenderbuffersEXT = GLContext.getFunctionAddress("glGenRenderbuffersEXT")) != 0 & (glRenderbufferStorageEXT = GLContext.getFunctionAddress("glRenderbufferStorageEXT")) != 0 & (glGetRenderbufferParameterivEXT = GLContext.getFunctionAddress("glGetRenderbufferParameterivEXT")) != 0 & (glIsFramebufferEXT = GLContext.getFunctionAddress("glIsFramebufferEXT")) != 0 & (glBindFramebufferEXT = GLContext.getFunctionAddress("glBindFramebufferEXT")) != 0 & (glDeleteFramebuffersEXT = GLContext.getFunctionAddress("glDeleteFramebuffersEXT")) != 0 & (glGenFramebuffersEXT = GLContext.getFunctionAddress("glGenFramebuffersEXT")) != 0 & (glCheckFramebufferStatusEXT = GLContext.getFunctionAddress("glCheckFramebufferStatusEXT")) != 0 & (glFramebufferTexture1DEXT = GLContext.getFunctionAddress("glFramebufferTexture1DEXT")) != 0 & (glFramebufferTexture2DEXT = GLContext.getFunctionAddress("glFramebufferTexture2DEXT")) != 0 & (glFramebufferTexture3DEXT = GLContext.getFunctionAddress("glFramebufferTexture3DEXT")) != 0 & (glFramebufferRenderbufferEXT = GLContext.getFunctionAddress("glFramebufferRenderbufferEXT")) != 0 & (glGetFramebufferAttachmentParameterivEXT = GLContext.getFunctionAddress("glGetFramebufferAttachmentParameterivEXT")) != 0 & (glGenerateMipmapEXT = GLContext.getFunctionAddress("glGenerateMipmapEXT")) != 0; } private boolean EXT_geometry_shader4_initNativeFunctionAddresses() { return (glProgramParameteriEXT = GLContext.getFunctionAddress("glProgramParameteriEXT")) != 0 & (glFramebufferTextureEXT = GLContext.getFunctionAddress("glFramebufferTextureEXT")) != 0 & (glFramebufferTextureLayerEXT = GLContext.getFunctionAddress("glFramebufferTextureLayerEXT")) != 0 & (glFramebufferTextureFaceEXT = GLContext.getFunctionAddress("glFramebufferTextureFaceEXT")) != 0; } private boolean EXT_gpu_program_parameters_initNativeFunctionAddresses() { return (glProgramEnvParameters4fvEXT = GLContext.getFunctionAddress("glProgramEnvParameters4fvEXT")) != 0 & (glProgramLocalParameters4fvEXT = GLContext.getFunctionAddress("glProgramLocalParameters4fvEXT")) != 0; } private boolean EXT_gpu_shader4_initNativeFunctionAddresses() { return (glVertexAttribI1iEXT = GLContext.getFunctionAddress("glVertexAttribI1iEXT")) != 0 & (glVertexAttribI2iEXT = GLContext.getFunctionAddress("glVertexAttribI2iEXT")) != 0 & (glVertexAttribI3iEXT = GLContext.getFunctionAddress("glVertexAttribI3iEXT")) != 0 & (glVertexAttribI4iEXT = GLContext.getFunctionAddress("glVertexAttribI4iEXT")) != 0 & (glVertexAttribI1uiEXT = GLContext.getFunctionAddress("glVertexAttribI1uiEXT")) != 0 & (glVertexAttribI2uiEXT = GLContext.getFunctionAddress("glVertexAttribI2uiEXT")) != 0 & (glVertexAttribI3uiEXT = GLContext.getFunctionAddress("glVertexAttribI3uiEXT")) != 0 & (glVertexAttribI4uiEXT = GLContext.getFunctionAddress("glVertexAttribI4uiEXT")) != 0 & (glVertexAttribI1ivEXT = GLContext.getFunctionAddress("glVertexAttribI1ivEXT")) != 0 & (glVertexAttribI2ivEXT = GLContext.getFunctionAddress("glVertexAttribI2ivEXT")) != 0 & (glVertexAttribI3ivEXT = GLContext.getFunctionAddress("glVertexAttribI3ivEXT")) != 0 & (glVertexAttribI4ivEXT = GLContext.getFunctionAddress("glVertexAttribI4ivEXT")) != 0 & (glVertexAttribI1uivEXT = GLContext.getFunctionAddress("glVertexAttribI1uivEXT")) != 0 & (glVertexAttribI2uivEXT = GLContext.getFunctionAddress("glVertexAttribI2uivEXT")) != 0 & (glVertexAttribI3uivEXT = GLContext.getFunctionAddress("glVertexAttribI3uivEXT")) != 0 & (glVertexAttribI4uivEXT = GLContext.getFunctionAddress("glVertexAttribI4uivEXT")) != 0 & (glVertexAttribI4bvEXT = GLContext.getFunctionAddress("glVertexAttribI4bvEXT")) != 0 & (glVertexAttribI4svEXT = GLContext.getFunctionAddress("glVertexAttribI4svEXT")) != 0 & (glVertexAttribI4ubvEXT = GLContext.getFunctionAddress("glVertexAttribI4ubvEXT")) != 0 & (glVertexAttribI4usvEXT = GLContext.getFunctionAddress("glVertexAttribI4usvEXT")) != 0 & (glVertexAttribIPointerEXT = GLContext.getFunctionAddress("glVertexAttribIPointerEXT")) != 0 & (glGetVertexAttribIivEXT = GLContext.getFunctionAddress("glGetVertexAttribIivEXT")) != 0 & (glGetVertexAttribIuivEXT = GLContext.getFunctionAddress("glGetVertexAttribIuivEXT")) != 0 & (glUniform1uiEXT = GLContext.getFunctionAddress("glUniform1uiEXT")) != 0 & (glUniform2uiEXT = GLContext.getFunctionAddress("glUniform2uiEXT")) != 0 & (glUniform3uiEXT = GLContext.getFunctionAddress("glUniform3uiEXT")) != 0 & (glUniform4uiEXT = GLContext.getFunctionAddress("glUniform4uiEXT")) != 0 & (glUniform1uivEXT = GLContext.getFunctionAddress("glUniform1uivEXT")) != 0 & (glUniform2uivEXT = GLContext.getFunctionAddress("glUniform2uivEXT")) != 0 & (glUniform3uivEXT = GLContext.getFunctionAddress("glUniform3uivEXT")) != 0 & (glUniform4uivEXT = GLContext.getFunctionAddress("glUniform4uivEXT")) != 0 & (glGetUniformuivEXT = GLContext.getFunctionAddress("glGetUniformuivEXT")) != 0 & (glBindFragDataLocationEXT = GLContext.getFunctionAddress("glBindFragDataLocationEXT")) != 0 & (glGetFragDataLocationEXT = GLContext.getFunctionAddress("glGetFragDataLocationEXT")) != 0; } private boolean EXT_multi_draw_arrays_initNativeFunctionAddresses() { return (glMultiDrawArraysEXT = GLContext.getFunctionAddress("glMultiDrawArraysEXT")) != 0; } private boolean EXT_paletted_texture_initNativeFunctionAddresses() { return (glColorTableEXT = GLContext.getFunctionAddress("glColorTableEXT")) != 0 & (glColorSubTableEXT = GLContext.getFunctionAddress("glColorSubTableEXT")) != 0 & (glGetColorTableEXT = GLContext.getFunctionAddress("glGetColorTableEXT")) != 0 & (glGetColorTableParameterivEXT = GLContext.getFunctionAddress("glGetColorTableParameterivEXT")) != 0 & (glGetColorTableParameterfvEXT = GLContext.getFunctionAddress("glGetColorTableParameterfvEXT")) != 0; } private boolean EXT_point_parameters_initNativeFunctionAddresses() { return (glPointParameterfEXT = GLContext.getFunctionAddress("glPointParameterfEXT")) != 0 & (glPointParameterfvEXT = GLContext.getFunctionAddress("glPointParameterfvEXT")) != 0; } private boolean EXT_provoking_vertex_initNativeFunctionAddresses() { return (glProvokingVertexEXT = GLContext.getFunctionAddress("glProvokingVertexEXT")) != 0; } private boolean EXT_secondary_color_initNativeFunctionAddresses() { return (glSecondaryColor3bEXT = GLContext.getFunctionAddress("glSecondaryColor3bEXT")) != 0 & (glSecondaryColor3fEXT = GLContext.getFunctionAddress("glSecondaryColor3fEXT")) != 0 & (glSecondaryColor3dEXT = GLContext.getFunctionAddress("glSecondaryColor3dEXT")) != 0 & (glSecondaryColor3ubEXT = GLContext.getFunctionAddress("glSecondaryColor3ubEXT")) != 0 & (glSecondaryColorPointerEXT = GLContext.getFunctionAddress("glSecondaryColorPointerEXT")) != 0; } private boolean EXT_separate_shader_objects_initNativeFunctionAddresses() { return (glUseShaderProgramEXT = GLContext.getFunctionAddress("glUseShaderProgramEXT")) != 0 & (glActiveProgramEXT = GLContext.getFunctionAddress("glActiveProgramEXT")) != 0 & (glCreateShaderProgramEXT = GLContext.getFunctionAddress("glCreateShaderProgramEXT")) != 0; } private boolean EXT_shader_image_load_store_initNativeFunctionAddresses() { return (glBindImageTextureEXT = GLContext.getFunctionAddress("glBindImageTextureEXT")) != 0 & (glMemoryBarrierEXT = GLContext.getFunctionAddress("glMemoryBarrierEXT")) != 0; } private boolean EXT_stencil_clear_tag_initNativeFunctionAddresses() { return (glStencilClearTagEXT = GLContext.getFunctionAddress("glStencilClearTagEXT")) != 0; } private boolean EXT_stencil_two_side_initNativeFunctionAddresses() { return (glActiveStencilFaceEXT = GLContext.getFunctionAddress("glActiveStencilFaceEXT")) != 0; } private boolean EXT_texture_array_initNativeFunctionAddresses() { return (glFramebufferTextureLayerEXT = GLContext.getFunctionAddress("glFramebufferTextureLayerEXT")) != 0; } private boolean EXT_texture_buffer_object_initNativeFunctionAddresses() { return (glTexBufferEXT = GLContext.getFunctionAddress("glTexBufferEXT")) != 0; } private boolean EXT_texture_integer_initNativeFunctionAddresses() { return (glClearColorIiEXT = GLContext.getFunctionAddress("glClearColorIiEXT")) != 0 & (glClearColorIuiEXT = GLContext.getFunctionAddress("glClearColorIuiEXT")) != 0 & (glTexParameterIivEXT = GLContext.getFunctionAddress("glTexParameterIivEXT")) != 0 & (glTexParameterIuivEXT = GLContext.getFunctionAddress("glTexParameterIuivEXT")) != 0 & (glGetTexParameterIivEXT = GLContext.getFunctionAddress("glGetTexParameterIivEXT")) != 0 & (glGetTexParameterIuivEXT = GLContext.getFunctionAddress("glGetTexParameterIuivEXT")) != 0; } private boolean EXT_timer_query_initNativeFunctionAddresses() { return (glGetQueryObjecti64vEXT = GLContext.getFunctionAddress("glGetQueryObjecti64vEXT")) != 0 & (glGetQueryObjectui64vEXT = GLContext.getFunctionAddress("glGetQueryObjectui64vEXT")) != 0; } private boolean EXT_transform_feedback_initNativeFunctionAddresses() { return (glBindBufferRangeEXT = GLContext.getFunctionAddress("glBindBufferRangeEXT")) != 0 & (glBindBufferOffsetEXT = GLContext.getFunctionAddress("glBindBufferOffsetEXT")) != 0 & (glBindBufferBaseEXT = GLContext.getFunctionAddress("glBindBufferBaseEXT")) != 0 & (glBeginTransformFeedbackEXT = GLContext.getFunctionAddress("glBeginTransformFeedbackEXT")) != 0 & (glEndTransformFeedbackEXT = GLContext.getFunctionAddress("glEndTransformFeedbackEXT")) != 0 & (glTransformFeedbackVaryingsEXT = GLContext.getFunctionAddress("glTransformFeedbackVaryingsEXT")) != 0 & (glGetTransformFeedbackVaryingEXT = GLContext.getFunctionAddress("glGetTransformFeedbackVaryingEXT")) != 0; } private boolean EXT_vertex_attrib_64bit_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glVertexAttribL1dEXT = GLContext.getFunctionAddress("glVertexAttribL1dEXT")) != 0 & (glVertexAttribL2dEXT = GLContext.getFunctionAddress("glVertexAttribL2dEXT")) != 0 & (glVertexAttribL3dEXT = GLContext.getFunctionAddress("glVertexAttribL3dEXT")) != 0 & (glVertexAttribL4dEXT = GLContext.getFunctionAddress("glVertexAttribL4dEXT")) != 0 & (glVertexAttribL1dvEXT = GLContext.getFunctionAddress("glVertexAttribL1dvEXT")) != 0 & (glVertexAttribL2dvEXT = GLContext.getFunctionAddress("glVertexAttribL2dvEXT")) != 0 & (glVertexAttribL3dvEXT = GLContext.getFunctionAddress("glVertexAttribL3dvEXT")) != 0 & (glVertexAttribL4dvEXT = GLContext.getFunctionAddress("glVertexAttribL4dvEXT")) != 0 & (glVertexAttribLPointerEXT = GLContext.getFunctionAddress("glVertexAttribLPointerEXT")) != 0 & (glGetVertexAttribLdvEXT = GLContext.getFunctionAddress("glGetVertexAttribLdvEXT")) != 0 & (!supported_extensions.contains("EXT_direct_state_access") || (glVertexArrayVertexAttribLOffsetEXT = GLContext.getFunctionAddress("glVertexArrayVertexAttribLOffsetEXT")) != 0); } private boolean EXT_vertex_shader_initNativeFunctionAddresses() { return (glBeginVertexShaderEXT = GLContext.getFunctionAddress("glBeginVertexShaderEXT")) != 0 & (glEndVertexShaderEXT = GLContext.getFunctionAddress("glEndVertexShaderEXT")) != 0 & (glBindVertexShaderEXT = GLContext.getFunctionAddress("glBindVertexShaderEXT")) != 0 & (glGenVertexShadersEXT = GLContext.getFunctionAddress("glGenVertexShadersEXT")) != 0 & (glDeleteVertexShaderEXT = GLContext.getFunctionAddress("glDeleteVertexShaderEXT")) != 0 & (glShaderOp1EXT = GLContext.getFunctionAddress("glShaderOp1EXT")) != 0 & (glShaderOp2EXT = GLContext.getFunctionAddress("glShaderOp2EXT")) != 0 & (glShaderOp3EXT = GLContext.getFunctionAddress("glShaderOp3EXT")) != 0 & (glSwizzleEXT = GLContext.getFunctionAddress("glSwizzleEXT")) != 0 & (glWriteMaskEXT = GLContext.getFunctionAddress("glWriteMaskEXT")) != 0 & (glInsertComponentEXT = GLContext.getFunctionAddress("glInsertComponentEXT")) != 0 & (glExtractComponentEXT = GLContext.getFunctionAddress("glExtractComponentEXT")) != 0 & (glGenSymbolsEXT = GLContext.getFunctionAddress("glGenSymbolsEXT")) != 0 & (glSetInvariantEXT = GLContext.getFunctionAddress("glSetInvariantEXT")) != 0 & (glSetLocalConstantEXT = GLContext.getFunctionAddress("glSetLocalConstantEXT")) != 0 & (glVariantbvEXT = GLContext.getFunctionAddress("glVariantbvEXT")) != 0 & (glVariantsvEXT = GLContext.getFunctionAddress("glVariantsvEXT")) != 0 & (glVariantivEXT = GLContext.getFunctionAddress("glVariantivEXT")) != 0 & (glVariantfvEXT = GLContext.getFunctionAddress("glVariantfvEXT")) != 0 & (glVariantdvEXT = GLContext.getFunctionAddress("glVariantdvEXT")) != 0 & (glVariantubvEXT = GLContext.getFunctionAddress("glVariantubvEXT")) != 0 & (glVariantusvEXT = GLContext.getFunctionAddress("glVariantusvEXT")) != 0 & (glVariantuivEXT = GLContext.getFunctionAddress("glVariantuivEXT")) != 0 & (glVariantPointerEXT = GLContext.getFunctionAddress("glVariantPointerEXT")) != 0 & (glEnableVariantClientStateEXT = GLContext.getFunctionAddress("glEnableVariantClientStateEXT")) != 0 & (glDisableVariantClientStateEXT = GLContext.getFunctionAddress("glDisableVariantClientStateEXT")) != 0 & (glBindLightParameterEXT = GLContext.getFunctionAddress("glBindLightParameterEXT")) != 0 & (glBindMaterialParameterEXT = GLContext.getFunctionAddress("glBindMaterialParameterEXT")) != 0 & (glBindTexGenParameterEXT = GLContext.getFunctionAddress("glBindTexGenParameterEXT")) != 0 & (glBindTextureUnitParameterEXT = GLContext.getFunctionAddress("glBindTextureUnitParameterEXT")) != 0 & (glBindParameterEXT = GLContext.getFunctionAddress("glBindParameterEXT")) != 0 & (glIsVariantEnabledEXT = GLContext.getFunctionAddress("glIsVariantEnabledEXT")) != 0 & (glGetVariantBooleanvEXT = GLContext.getFunctionAddress("glGetVariantBooleanvEXT")) != 0 & (glGetVariantIntegervEXT = GLContext.getFunctionAddress("glGetVariantIntegervEXT")) != 0 & (glGetVariantFloatvEXT = GLContext.getFunctionAddress("glGetVariantFloatvEXT")) != 0 & (glGetVariantPointervEXT = GLContext.getFunctionAddress("glGetVariantPointervEXT")) != 0 & (glGetInvariantBooleanvEXT = GLContext.getFunctionAddress("glGetInvariantBooleanvEXT")) != 0 & (glGetInvariantIntegervEXT = GLContext.getFunctionAddress("glGetInvariantIntegervEXT")) != 0 & (glGetInvariantFloatvEXT = GLContext.getFunctionAddress("glGetInvariantFloatvEXT")) != 0 & (glGetLocalConstantBooleanvEXT = GLContext.getFunctionAddress("glGetLocalConstantBooleanvEXT")) != 0 & (glGetLocalConstantIntegervEXT = GLContext.getFunctionAddress("glGetLocalConstantIntegervEXT")) != 0 & (glGetLocalConstantFloatvEXT = GLContext.getFunctionAddress("glGetLocalConstantFloatvEXT")) != 0; } private boolean EXT_vertex_weighting_initNativeFunctionAddresses() { return (glVertexWeightfEXT = GLContext.getFunctionAddress("glVertexWeightfEXT")) != 0 & (glVertexWeightPointerEXT = GLContext.getFunctionAddress("glVertexWeightPointerEXT")) != 0; } private boolean GL11_initNativeFunctionAddresses(boolean forwardCompatible) { return (forwardCompatible || (glAccum = GLContext.getFunctionAddress("glAccum")) != 0) & (forwardCompatible || (glAlphaFunc = GLContext.getFunctionAddress("glAlphaFunc")) != 0) & (glClearColor = GLContext.getFunctionAddress("glClearColor")) != 0 & (forwardCompatible || (glClearAccum = GLContext.getFunctionAddress("glClearAccum")) != 0) & (glClear = GLContext.getFunctionAddress("glClear")) != 0 & (forwardCompatible || (glCallLists = GLContext.getFunctionAddress("glCallLists")) != 0) & (forwardCompatible || (glCallList = GLContext.getFunctionAddress("glCallList")) != 0) & (glBlendFunc = GLContext.getFunctionAddress("glBlendFunc")) != 0 & (forwardCompatible || (glBitmap = GLContext.getFunctionAddress("glBitmap")) != 0) & (glBindTexture = GLContext.getFunctionAddress("glBindTexture")) != 0 & (forwardCompatible || (glPrioritizeTextures = GLContext.getFunctionAddress("glPrioritizeTextures")) != 0) & (forwardCompatible || (glAreTexturesResident = GLContext.getFunctionAddress("glAreTexturesResident")) != 0) & (forwardCompatible || (glBegin = GLContext.getFunctionAddress("glBegin")) != 0) & (forwardCompatible || (glEnd = GLContext.getFunctionAddress("glEnd")) != 0) & (glArrayElement = GLContext.getFunctionAddress("glArrayElement")) != 0 & (glClearDepth = GLContext.getFunctionAddress("glClearDepth")) != 0 & (forwardCompatible || (glDeleteLists = GLContext.getFunctionAddress("glDeleteLists")) != 0) & (glDeleteTextures = GLContext.getFunctionAddress("glDeleteTextures")) != 0 & (glCullFace = GLContext.getFunctionAddress("glCullFace")) != 0 & (glCopyTexSubImage2D = GLContext.getFunctionAddress("glCopyTexSubImage2D")) != 0 & (glCopyTexSubImage1D = GLContext.getFunctionAddress("glCopyTexSubImage1D")) != 0 & (glCopyTexImage2D = GLContext.getFunctionAddress("glCopyTexImage2D")) != 0 & (glCopyTexImage1D = GLContext.getFunctionAddress("glCopyTexImage1D")) != 0 & (glCopyPixels = GLContext.getFunctionAddress("glCopyPixels")) != 0 & (forwardCompatible || (glColorPointer = GLContext.getFunctionAddress("glColorPointer")) != 0) & (forwardCompatible || (glColorMaterial = GLContext.getFunctionAddress("glColorMaterial")) != 0) & (glColorMask = GLContext.getFunctionAddress("glColorMask")) != 0 & (forwardCompatible || (glColor3b = GLContext.getFunctionAddress("glColor3b")) != 0) & (forwardCompatible || (glColor3f = GLContext.getFunctionAddress("glColor3f")) != 0) & (forwardCompatible || (glColor3d = GLContext.getFunctionAddress("glColor3d")) != 0) & (forwardCompatible || (glColor3ub = GLContext.getFunctionAddress("glColor3ub")) != 0) & (forwardCompatible || (glColor4b = GLContext.getFunctionAddress("glColor4b")) != 0) & (forwardCompatible || (glColor4f = GLContext.getFunctionAddress("glColor4f")) != 0) & (forwardCompatible || (glColor4d = GLContext.getFunctionAddress("glColor4d")) != 0) & (forwardCompatible || (glColor4ub = GLContext.getFunctionAddress("glColor4ub")) != 0) & (glClipPlane = GLContext.getFunctionAddress("glClipPlane")) != 0 & (glClearStencil = GLContext.getFunctionAddress("glClearStencil")) != 0 & (forwardCompatible || (glEvalPoint1 = GLContext.getFunctionAddress("glEvalPoint1")) != 0) & (forwardCompatible || (glEvalPoint2 = GLContext.getFunctionAddress("glEvalPoint2")) != 0) & (forwardCompatible || (glEvalMesh1 = GLContext.getFunctionAddress("glEvalMesh1")) != 0) & (forwardCompatible || (glEvalMesh2 = GLContext.getFunctionAddress("glEvalMesh2")) != 0) & (forwardCompatible || (glEvalCoord1f = GLContext.getFunctionAddress("glEvalCoord1f")) != 0) & (forwardCompatible || (glEvalCoord1d = GLContext.getFunctionAddress("glEvalCoord1d")) != 0) & (forwardCompatible || (glEvalCoord2f = GLContext.getFunctionAddress("glEvalCoord2f")) != 0) & (forwardCompatible || (glEvalCoord2d = GLContext.getFunctionAddress("glEvalCoord2d")) != 0) & (forwardCompatible || (glEnableClientState = GLContext.getFunctionAddress("glEnableClientState")) != 0) & (forwardCompatible || (glDisableClientState = GLContext.getFunctionAddress("glDisableClientState")) != 0) & (glEnable = GLContext.getFunctionAddress("glEnable")) != 0 & (glDisable = GLContext.getFunctionAddress("glDisable")) != 0 & (forwardCompatible || (glEdgeFlagPointer = GLContext.getFunctionAddress("glEdgeFlagPointer")) != 0) & (forwardCompatible || (glEdgeFlag = GLContext.getFunctionAddress("glEdgeFlag")) != 0) & (forwardCompatible || (glDrawPixels = GLContext.getFunctionAddress("glDrawPixels")) != 0) & (glDrawElements = GLContext.getFunctionAddress("glDrawElements")) != 0 & (glDrawBuffer = GLContext.getFunctionAddress("glDrawBuffer")) != 0 & (glDrawArrays = GLContext.getFunctionAddress("glDrawArrays")) != 0 & (glDepthRange = GLContext.getFunctionAddress("glDepthRange")) != 0 & (glDepthMask = GLContext.getFunctionAddress("glDepthMask")) != 0 & (glDepthFunc = GLContext.getFunctionAddress("glDepthFunc")) != 0 & (forwardCompatible || (glFeedbackBuffer = GLContext.getFunctionAddress("glFeedbackBuffer")) != 0) & (forwardCompatible || (glGetPixelMapfv = GLContext.getFunctionAddress("glGetPixelMapfv")) != 0) & (forwardCompatible || (glGetPixelMapuiv = GLContext.getFunctionAddress("glGetPixelMapuiv")) != 0) & (forwardCompatible || (glGetPixelMapusv = GLContext.getFunctionAddress("glGetPixelMapusv")) != 0) & (forwardCompatible || (glGetMaterialfv = GLContext.getFunctionAddress("glGetMaterialfv")) != 0) & (forwardCompatible || (glGetMaterialiv = GLContext.getFunctionAddress("glGetMaterialiv")) != 0) & (forwardCompatible || (glGetMapfv = GLContext.getFunctionAddress("glGetMapfv")) != 0) & (forwardCompatible || (glGetMapdv = GLContext.getFunctionAddress("glGetMapdv")) != 0) & (forwardCompatible || (glGetMapiv = GLContext.getFunctionAddress("glGetMapiv")) != 0) & (forwardCompatible || (glGetLightfv = GLContext.getFunctionAddress("glGetLightfv")) != 0) & (forwardCompatible || (glGetLightiv = GLContext.getFunctionAddress("glGetLightiv")) != 0) & (glGetError = GLContext.getFunctionAddress("glGetError")) != 0 & (glGetClipPlane = GLContext.getFunctionAddress("glGetClipPlane")) != 0 & (glGetBooleanv = GLContext.getFunctionAddress("glGetBooleanv")) != 0 & (glGetDoublev = GLContext.getFunctionAddress("glGetDoublev")) != 0 & (glGetFloatv = GLContext.getFunctionAddress("glGetFloatv")) != 0 & (glGetIntegerv = GLContext.getFunctionAddress("glGetIntegerv")) != 0 & (glGenTextures = GLContext.getFunctionAddress("glGenTextures")) != 0 & (forwardCompatible || (glGenLists = GLContext.getFunctionAddress("glGenLists")) != 0) & (forwardCompatible || (glFrustum = GLContext.getFunctionAddress("glFrustum")) != 0) & (glFrontFace = GLContext.getFunctionAddress("glFrontFace")) != 0 & (forwardCompatible || (glFogf = GLContext.getFunctionAddress("glFogf")) != 0) & (forwardCompatible || (glFogi = GLContext.getFunctionAddress("glFogi")) != 0) & (forwardCompatible || (glFogfv = GLContext.getFunctionAddress("glFogfv")) != 0) & (forwardCompatible || (glFogiv = GLContext.getFunctionAddress("glFogiv")) != 0) & (glFlush = GLContext.getFunctionAddress("glFlush")) != 0 & (glFinish = GLContext.getFunctionAddress("glFinish")) != 0 & (glGetPointerv = GLContext.getFunctionAddress("glGetPointerv")) != 0 & (glIsEnabled = GLContext.getFunctionAddress("glIsEnabled")) != 0 & (glInterleavedArrays = GLContext.getFunctionAddress("glInterleavedArrays")) != 0 & (forwardCompatible || (glInitNames = GLContext.getFunctionAddress("glInitNames")) != 0) & (glHint = GLContext.getFunctionAddress("glHint")) != 0 & (glGetTexParameterfv = GLContext.getFunctionAddress("glGetTexParameterfv")) != 0 & (glGetTexParameteriv = GLContext.getFunctionAddress("glGetTexParameteriv")) != 0 & (glGetTexLevelParameterfv = GLContext.getFunctionAddress("glGetTexLevelParameterfv")) != 0 & (glGetTexLevelParameteriv = GLContext.getFunctionAddress("glGetTexLevelParameteriv")) != 0 & (glGetTexImage = GLContext.getFunctionAddress("glGetTexImage")) != 0 & (forwardCompatible || (glGetTexGeniv = GLContext.getFunctionAddress("glGetTexGeniv")) != 0) & (forwardCompatible || (glGetTexGenfv = GLContext.getFunctionAddress("glGetTexGenfv")) != 0) & (forwardCompatible || (glGetTexGendv = GLContext.getFunctionAddress("glGetTexGendv")) != 0) & (glGetTexEnviv = GLContext.getFunctionAddress("glGetTexEnviv")) != 0 & (glGetTexEnvfv = GLContext.getFunctionAddress("glGetTexEnvfv")) != 0 & (glGetString = GLContext.getFunctionAddress("glGetString")) != 0 & (forwardCompatible || (glGetPolygonStipple = GLContext.getFunctionAddress("glGetPolygonStipple")) != 0) & (forwardCompatible || (glIsList = GLContext.getFunctionAddress("glIsList")) != 0) & (forwardCompatible || (glMaterialf = GLContext.getFunctionAddress("glMaterialf")) != 0) & (forwardCompatible || (glMateriali = GLContext.getFunctionAddress("glMateriali")) != 0) & (forwardCompatible || (glMaterialfv = GLContext.getFunctionAddress("glMaterialfv")) != 0) & (forwardCompatible || (glMaterialiv = GLContext.getFunctionAddress("glMaterialiv")) != 0) & (forwardCompatible || (glMapGrid1f = GLContext.getFunctionAddress("glMapGrid1f")) != 0) & (forwardCompatible || (glMapGrid1d = GLContext.getFunctionAddress("glMapGrid1d")) != 0) & (forwardCompatible || (glMapGrid2f = GLContext.getFunctionAddress("glMapGrid2f")) != 0) & (forwardCompatible || (glMapGrid2d = GLContext.getFunctionAddress("glMapGrid2d")) != 0) & (forwardCompatible || (glMap2f = GLContext.getFunctionAddress("glMap2f")) != 0) & (forwardCompatible || (glMap2d = GLContext.getFunctionAddress("glMap2d")) != 0) & (forwardCompatible || (glMap1f = GLContext.getFunctionAddress("glMap1f")) != 0) & (forwardCompatible || (glMap1d = GLContext.getFunctionAddress("glMap1d")) != 0) & (glLogicOp = GLContext.getFunctionAddress("glLogicOp")) != 0 & (forwardCompatible || (glLoadName = GLContext.getFunctionAddress("glLoadName")) != 0) & (forwardCompatible || (glLoadMatrixf = GLContext.getFunctionAddress("glLoadMatrixf")) != 0) & (forwardCompatible || (glLoadMatrixd = GLContext.getFunctionAddress("glLoadMatrixd")) != 0) & (forwardCompatible || (glLoadIdentity = GLContext.getFunctionAddress("glLoadIdentity")) != 0) & (forwardCompatible || (glListBase = GLContext.getFunctionAddress("glListBase")) != 0) & (glLineWidth = GLContext.getFunctionAddress("glLineWidth")) != 0 & (forwardCompatible || (glLineStipple = GLContext.getFunctionAddress("glLineStipple")) != 0) & (forwardCompatible || (glLightModelf = GLContext.getFunctionAddress("glLightModelf")) != 0) & (forwardCompatible || (glLightModeli = GLContext.getFunctionAddress("glLightModeli")) != 0) & (forwardCompatible || (glLightModelfv = GLContext.getFunctionAddress("glLightModelfv")) != 0) & (forwardCompatible || (glLightModeliv = GLContext.getFunctionAddress("glLightModeliv")) != 0) & (forwardCompatible || (glLightf = GLContext.getFunctionAddress("glLightf")) != 0) & (forwardCompatible || (glLighti = GLContext.getFunctionAddress("glLighti")) != 0) & (forwardCompatible || (glLightfv = GLContext.getFunctionAddress("glLightfv")) != 0) & (forwardCompatible || (glLightiv = GLContext.getFunctionAddress("glLightiv")) != 0) & (glIsTexture = GLContext.getFunctionAddress("glIsTexture")) != 0 & (forwardCompatible || (glMatrixMode = GLContext.getFunctionAddress("glMatrixMode")) != 0) & (forwardCompatible || (glPolygonStipple = GLContext.getFunctionAddress("glPolygonStipple")) != 0) & (glPolygonOffset = GLContext.getFunctionAddress("glPolygonOffset")) != 0 & (glPolygonMode = GLContext.getFunctionAddress("glPolygonMode")) != 0 & (glPointSize = GLContext.getFunctionAddress("glPointSize")) != 0 & (forwardCompatible || (glPixelZoom = GLContext.getFunctionAddress("glPixelZoom")) != 0) & (forwardCompatible || (glPixelTransferf = GLContext.getFunctionAddress("glPixelTransferf")) != 0) & (forwardCompatible || (glPixelTransferi = GLContext.getFunctionAddress("glPixelTransferi")) != 0) & (glPixelStoref = GLContext.getFunctionAddress("glPixelStoref")) != 0 & (glPixelStorei = GLContext.getFunctionAddress("glPixelStorei")) != 0 & (forwardCompatible || (glPixelMapfv = GLContext.getFunctionAddress("glPixelMapfv")) != 0) & (forwardCompatible || (glPixelMapuiv = GLContext.getFunctionAddress("glPixelMapuiv")) != 0) & (forwardCompatible || (glPixelMapusv = GLContext.getFunctionAddress("glPixelMapusv")) != 0) & (forwardCompatible || (glPassThrough = GLContext.getFunctionAddress("glPassThrough")) != 0) & (forwardCompatible || (glOrtho = GLContext.getFunctionAddress("glOrtho")) != 0) & (forwardCompatible || (glNormalPointer = GLContext.getFunctionAddress("glNormalPointer")) != 0) & (forwardCompatible || (glNormal3b = GLContext.getFunctionAddress("glNormal3b")) != 0) & (forwardCompatible || (glNormal3f = GLContext.getFunctionAddress("glNormal3f")) != 0) & (forwardCompatible || (glNormal3d = GLContext.getFunctionAddress("glNormal3d")) != 0) & (forwardCompatible || (glNormal3i = GLContext.getFunctionAddress("glNormal3i")) != 0) & (forwardCompatible || (glNewList = GLContext.getFunctionAddress("glNewList")) != 0) & (forwardCompatible || (glEndList = GLContext.getFunctionAddress("glEndList")) != 0) & (forwardCompatible || (glMultMatrixf = GLContext.getFunctionAddress("glMultMatrixf")) != 0) & (forwardCompatible || (glMultMatrixd = GLContext.getFunctionAddress("glMultMatrixd")) != 0) & (glShadeModel = GLContext.getFunctionAddress("glShadeModel")) != 0 & (forwardCompatible || (glSelectBuffer = GLContext.getFunctionAddress("glSelectBuffer")) != 0) & (glScissor = GLContext.getFunctionAddress("glScissor")) != 0 & (forwardCompatible || (glScalef = GLContext.getFunctionAddress("glScalef")) != 0) & (forwardCompatible || (glScaled = GLContext.getFunctionAddress("glScaled")) != 0) & (forwardCompatible || (glRotatef = GLContext.getFunctionAddress("glRotatef")) != 0) & (forwardCompatible || (glRotated = GLContext.getFunctionAddress("glRotated")) != 0) & (forwardCompatible || (glRenderMode = GLContext.getFunctionAddress("glRenderMode")) != 0) & (forwardCompatible || (glRectf = GLContext.getFunctionAddress("glRectf")) != 0) & (forwardCompatible || (glRectd = GLContext.getFunctionAddress("glRectd")) != 0) & (forwardCompatible || (glRecti = GLContext.getFunctionAddress("glRecti")) != 0) & (glReadPixels = GLContext.getFunctionAddress("glReadPixels")) != 0 & (glReadBuffer = GLContext.getFunctionAddress("glReadBuffer")) != 0 & (forwardCompatible || (glRasterPos2f = GLContext.getFunctionAddress("glRasterPos2f")) != 0) & (forwardCompatible || (glRasterPos2d = GLContext.getFunctionAddress("glRasterPos2d")) != 0) & (forwardCompatible || (glRasterPos2i = GLContext.getFunctionAddress("glRasterPos2i")) != 0) & (forwardCompatible || (glRasterPos3f = GLContext.getFunctionAddress("glRasterPos3f")) != 0) & (forwardCompatible || (glRasterPos3d = GLContext.getFunctionAddress("glRasterPos3d")) != 0) & (forwardCompatible || (glRasterPos3i = GLContext.getFunctionAddress("glRasterPos3i")) != 0) & (forwardCompatible || (glRasterPos4f = GLContext.getFunctionAddress("glRasterPos4f")) != 0) & (forwardCompatible || (glRasterPos4d = GLContext.getFunctionAddress("glRasterPos4d")) != 0) & (forwardCompatible || (glRasterPos4i = GLContext.getFunctionAddress("glRasterPos4i")) != 0) & (forwardCompatible || (glPushName = GLContext.getFunctionAddress("glPushName")) != 0) & (forwardCompatible || (glPopName = GLContext.getFunctionAddress("glPopName")) != 0) & (forwardCompatible || (glPushMatrix = GLContext.getFunctionAddress("glPushMatrix")) != 0) & (forwardCompatible || (glPopMatrix = GLContext.getFunctionAddress("glPopMatrix")) != 0) & (forwardCompatible || (glPushClientAttrib = GLContext.getFunctionAddress("glPushClientAttrib")) != 0) & (forwardCompatible || (glPopClientAttrib = GLContext.getFunctionAddress("glPopClientAttrib")) != 0) & (forwardCompatible || (glPushAttrib = GLContext.getFunctionAddress("glPushAttrib")) != 0) & (forwardCompatible || (glPopAttrib = GLContext.getFunctionAddress("glPopAttrib")) != 0) & (glStencilFunc = GLContext.getFunctionAddress("glStencilFunc")) != 0 & (forwardCompatible || (glVertexPointer = GLContext.getFunctionAddress("glVertexPointer")) != 0) & (forwardCompatible || (glVertex2f = GLContext.getFunctionAddress("glVertex2f")) != 0) & (forwardCompatible || (glVertex2d = GLContext.getFunctionAddress("glVertex2d")) != 0) & (forwardCompatible || (glVertex2i = GLContext.getFunctionAddress("glVertex2i")) != 0) & (forwardCompatible || (glVertex3f = GLContext.getFunctionAddress("glVertex3f")) != 0) & (forwardCompatible || (glVertex3d = GLContext.getFunctionAddress("glVertex3d")) != 0) & (forwardCompatible || (glVertex3i = GLContext.getFunctionAddress("glVertex3i")) != 0) & (forwardCompatible || (glVertex4f = GLContext.getFunctionAddress("glVertex4f")) != 0) & (forwardCompatible || (glVertex4d = GLContext.getFunctionAddress("glVertex4d")) != 0) & (forwardCompatible || (glVertex4i = GLContext.getFunctionAddress("glVertex4i")) != 0) & (forwardCompatible || (glTranslatef = GLContext.getFunctionAddress("glTranslatef")) != 0) & (forwardCompatible || (glTranslated = GLContext.getFunctionAddress("glTranslated")) != 0) & (glTexImage1D = GLContext.getFunctionAddress("glTexImage1D")) != 0 & (glTexImage2D = GLContext.getFunctionAddress("glTexImage2D")) != 0 & (glTexSubImage1D = GLContext.getFunctionAddress("glTexSubImage1D")) != 0 & (glTexSubImage2D = GLContext.getFunctionAddress("glTexSubImage2D")) != 0 & (glTexParameterf = GLContext.getFunctionAddress("glTexParameterf")) != 0 & (glTexParameteri = GLContext.getFunctionAddress("glTexParameteri")) != 0 & (glTexParameterfv = GLContext.getFunctionAddress("glTexParameterfv")) != 0 & (glTexParameteriv = GLContext.getFunctionAddress("glTexParameteriv")) != 0 & (forwardCompatible || (glTexGenf = GLContext.getFunctionAddress("glTexGenf")) != 0) & (forwardCompatible || (glTexGend = GLContext.getFunctionAddress("glTexGend")) != 0) & (forwardCompatible || (glTexGenfv = GLContext.getFunctionAddress("glTexGenfv")) != 0) & (forwardCompatible || (glTexGendv = GLContext.getFunctionAddress("glTexGendv")) != 0) & (forwardCompatible || (glTexGeni = GLContext.getFunctionAddress("glTexGeni")) != 0) & (forwardCompatible || (glTexGeniv = GLContext.getFunctionAddress("glTexGeniv")) != 0) & (glTexEnvf = GLContext.getFunctionAddress("glTexEnvf")) != 0 & (glTexEnvi = GLContext.getFunctionAddress("glTexEnvi")) != 0 & (glTexEnvfv = GLContext.getFunctionAddress("glTexEnvfv")) != 0 & (glTexEnviv = GLContext.getFunctionAddress("glTexEnviv")) != 0 & (forwardCompatible || (glTexCoordPointer = GLContext.getFunctionAddress("glTexCoordPointer")) != 0) & (forwardCompatible || (glTexCoord1f = GLContext.getFunctionAddress("glTexCoord1f")) != 0) & (forwardCompatible || (glTexCoord1d = GLContext.getFunctionAddress("glTexCoord1d")) != 0) & (forwardCompatible || (glTexCoord2f = GLContext.getFunctionAddress("glTexCoord2f")) != 0) & (forwardCompatible || (glTexCoord2d = GLContext.getFunctionAddress("glTexCoord2d")) != 0) & (forwardCompatible || (glTexCoord3f = GLContext.getFunctionAddress("glTexCoord3f")) != 0) & (forwardCompatible || (glTexCoord3d = GLContext.getFunctionAddress("glTexCoord3d")) != 0) & (forwardCompatible || (glTexCoord4f = GLContext.getFunctionAddress("glTexCoord4f")) != 0) & (forwardCompatible || (glTexCoord4d = GLContext.getFunctionAddress("glTexCoord4d")) != 0) & (glStencilOp = GLContext.getFunctionAddress("glStencilOp")) != 0 & (glStencilMask = GLContext.getFunctionAddress("glStencilMask")) != 0 & (glViewport = GLContext.getFunctionAddress("glViewport")) != 0; } private boolean GL12_initNativeFunctionAddresses() { return (glDrawRangeElements = GLContext.getFunctionAddress("glDrawRangeElements")) != 0 & (glTexImage3D = GLContext.getFunctionAddress("glTexImage3D")) != 0 & (glTexSubImage3D = GLContext.getFunctionAddress("glTexSubImage3D")) != 0 & (glCopyTexSubImage3D = GLContext.getFunctionAddress("glCopyTexSubImage3D")) != 0; } private boolean GL13_initNativeFunctionAddresses(boolean forwardCompatible) { return (glActiveTexture = GLContext.getFunctionAddress("glActiveTexture")) != 0 & (forwardCompatible || (glClientActiveTexture = GLContext.getFunctionAddress("glClientActiveTexture")) != 0) & (glCompressedTexImage1D = GLContext.getFunctionAddress("glCompressedTexImage1D")) != 0 & (glCompressedTexImage2D = GLContext.getFunctionAddress("glCompressedTexImage2D")) != 0 & (glCompressedTexImage3D = GLContext.getFunctionAddress("glCompressedTexImage3D")) != 0 & (glCompressedTexSubImage1D = GLContext.getFunctionAddress("glCompressedTexSubImage1D")) != 0 & (glCompressedTexSubImage2D = GLContext.getFunctionAddress("glCompressedTexSubImage2D")) != 0 & (glCompressedTexSubImage3D = GLContext.getFunctionAddress("glCompressedTexSubImage3D")) != 0 & (glGetCompressedTexImage = GLContext.getFunctionAddress("glGetCompressedTexImage")) != 0 & (forwardCompatible || (glMultiTexCoord1f = GLContext.getFunctionAddress("glMultiTexCoord1f")) != 0) & (forwardCompatible || (glMultiTexCoord1d = GLContext.getFunctionAddress("glMultiTexCoord1d")) != 0) & (forwardCompatible || (glMultiTexCoord2f = GLContext.getFunctionAddress("glMultiTexCoord2f")) != 0) & (forwardCompatible || (glMultiTexCoord2d = GLContext.getFunctionAddress("glMultiTexCoord2d")) != 0) & (forwardCompatible || (glMultiTexCoord3f = GLContext.getFunctionAddress("glMultiTexCoord3f")) != 0) & (forwardCompatible || (glMultiTexCoord3d = GLContext.getFunctionAddress("glMultiTexCoord3d")) != 0) & (forwardCompatible || (glMultiTexCoord4f = GLContext.getFunctionAddress("glMultiTexCoord4f")) != 0) & (forwardCompatible || (glMultiTexCoord4d = GLContext.getFunctionAddress("glMultiTexCoord4d")) != 0) & (forwardCompatible || (glLoadTransposeMatrixf = GLContext.getFunctionAddress("glLoadTransposeMatrixf")) != 0) & (forwardCompatible || (glLoadTransposeMatrixd = GLContext.getFunctionAddress("glLoadTransposeMatrixd")) != 0) & (forwardCompatible || (glMultTransposeMatrixf = GLContext.getFunctionAddress("glMultTransposeMatrixf")) != 0) & (forwardCompatible || (glMultTransposeMatrixd = GLContext.getFunctionAddress("glMultTransposeMatrixd")) != 0) & (glSampleCoverage = GLContext.getFunctionAddress("glSampleCoverage")) != 0; } private boolean GL14_initNativeFunctionAddresses(boolean forwardCompatible) { return (glBlendEquation = GLContext.getFunctionAddress("glBlendEquation")) != 0 & (glBlendColor = GLContext.getFunctionAddress("glBlendColor")) != 0 & (forwardCompatible || (glFogCoordf = GLContext.getFunctionAddress("glFogCoordf")) != 0) & (forwardCompatible || (glFogCoordd = GLContext.getFunctionAddress("glFogCoordd")) != 0) & (forwardCompatible || (glFogCoordPointer = GLContext.getFunctionAddress("glFogCoordPointer")) != 0) & (glMultiDrawArrays = GLContext.getFunctionAddress("glMultiDrawArrays")) != 0 & (glPointParameteri = GLContext.getFunctionAddress("glPointParameteri")) != 0 & (glPointParameterf = GLContext.getFunctionAddress("glPointParameterf")) != 0 & (glPointParameteriv = GLContext.getFunctionAddress("glPointParameteriv")) != 0 & (glPointParameterfv = GLContext.getFunctionAddress("glPointParameterfv")) != 0 & (forwardCompatible || (glSecondaryColor3b = GLContext.getFunctionAddress("glSecondaryColor3b")) != 0) & (forwardCompatible || (glSecondaryColor3f = GLContext.getFunctionAddress("glSecondaryColor3f")) != 0) & (forwardCompatible || (glSecondaryColor3d = GLContext.getFunctionAddress("glSecondaryColor3d")) != 0) & (forwardCompatible || (glSecondaryColor3ub = GLContext.getFunctionAddress("glSecondaryColor3ub")) != 0) & (forwardCompatible || (glSecondaryColorPointer = GLContext.getFunctionAddress("glSecondaryColorPointer")) != 0) & (glBlendFuncSeparate = GLContext.getFunctionAddress("glBlendFuncSeparate")) != 0 & (forwardCompatible || (glWindowPos2f = GLContext.getFunctionAddress("glWindowPos2f")) != 0) & (forwardCompatible || (glWindowPos2d = GLContext.getFunctionAddress("glWindowPos2d")) != 0) & (forwardCompatible || (glWindowPos2i = GLContext.getFunctionAddress("glWindowPos2i")) != 0) & (forwardCompatible || (glWindowPos3f = GLContext.getFunctionAddress("glWindowPos3f")) != 0) & (forwardCompatible || (glWindowPos3d = GLContext.getFunctionAddress("glWindowPos3d")) != 0) & (forwardCompatible || (glWindowPos3i = GLContext.getFunctionAddress("glWindowPos3i")) != 0); } private boolean GL15_initNativeFunctionAddresses() { return (glBindBuffer = GLContext.getFunctionAddress("glBindBuffer")) != 0 & (glDeleteBuffers = GLContext.getFunctionAddress("glDeleteBuffers")) != 0 & (glGenBuffers = GLContext.getFunctionAddress("glGenBuffers")) != 0 & (glIsBuffer = GLContext.getFunctionAddress("glIsBuffer")) != 0 & (glBufferData = GLContext.getFunctionAddress("glBufferData")) != 0 & (glBufferSubData = GLContext.getFunctionAddress("glBufferSubData")) != 0 & (glGetBufferSubData = GLContext.getFunctionAddress("glGetBufferSubData")) != 0 & (glMapBuffer = GLContext.getFunctionAddress("glMapBuffer")) != 0 & (glUnmapBuffer = GLContext.getFunctionAddress("glUnmapBuffer")) != 0 & (glGetBufferParameteriv = GLContext.getFunctionAddress("glGetBufferParameteriv")) != 0 & (glGetBufferPointerv = GLContext.getFunctionAddress("glGetBufferPointerv")) != 0 & (glGenQueries = GLContext.getFunctionAddress("glGenQueries")) != 0 & (glDeleteQueries = GLContext.getFunctionAddress("glDeleteQueries")) != 0 & (glIsQuery = GLContext.getFunctionAddress("glIsQuery")) != 0 & (glBeginQuery = GLContext.getFunctionAddress("glBeginQuery")) != 0 & (glEndQuery = GLContext.getFunctionAddress("glEndQuery")) != 0 & (glGetQueryiv = GLContext.getFunctionAddress("glGetQueryiv")) != 0 & (glGetQueryObjectiv = GLContext.getFunctionAddress("glGetQueryObjectiv")) != 0 & (glGetQueryObjectuiv = GLContext.getFunctionAddress("glGetQueryObjectuiv")) != 0; } private boolean GL20_initNativeFunctionAddresses() { return (glShaderSource = GLContext.getFunctionAddress("glShaderSource")) != 0 & (glCreateShader = GLContext.getFunctionAddress("glCreateShader")) != 0 & (glIsShader = GLContext.getFunctionAddress("glIsShader")) != 0 & (glCompileShader = GLContext.getFunctionAddress("glCompileShader")) != 0 & (glDeleteShader = GLContext.getFunctionAddress("glDeleteShader")) != 0 & (glCreateProgram = GLContext.getFunctionAddress("glCreateProgram")) != 0 & (glIsProgram = GLContext.getFunctionAddress("glIsProgram")) != 0 & (glAttachShader = GLContext.getFunctionAddress("glAttachShader")) != 0 & (glDetachShader = GLContext.getFunctionAddress("glDetachShader")) != 0 & (glLinkProgram = GLContext.getFunctionAddress("glLinkProgram")) != 0 & (glUseProgram = GLContext.getFunctionAddress("glUseProgram")) != 0 & (glValidateProgram = GLContext.getFunctionAddress("glValidateProgram")) != 0 & (glDeleteProgram = GLContext.getFunctionAddress("glDeleteProgram")) != 0 & (glUniform1f = GLContext.getFunctionAddress("glUniform1f")) != 0 & (glUniform2f = GLContext.getFunctionAddress("glUniform2f")) != 0 & (glUniform3f = GLContext.getFunctionAddress("glUniform3f")) != 0 & (glUniform4f = GLContext.getFunctionAddress("glUniform4f")) != 0 & (glUniform1i = GLContext.getFunctionAddress("glUniform1i")) != 0 & (glUniform2i = GLContext.getFunctionAddress("glUniform2i")) != 0 & (glUniform3i = GLContext.getFunctionAddress("glUniform3i")) != 0 & (glUniform4i = GLContext.getFunctionAddress("glUniform4i")) != 0 & (glUniform1fv = GLContext.getFunctionAddress("glUniform1fv")) != 0 & (glUniform2fv = GLContext.getFunctionAddress("glUniform2fv")) != 0 & (glUniform3fv = GLContext.getFunctionAddress("glUniform3fv")) != 0 & (glUniform4fv = GLContext.getFunctionAddress("glUniform4fv")) != 0 & (glUniform1iv = GLContext.getFunctionAddress("glUniform1iv")) != 0 & (glUniform2iv = GLContext.getFunctionAddress("glUniform2iv")) != 0 & (glUniform3iv = GLContext.getFunctionAddress("glUniform3iv")) != 0 & (glUniform4iv = GLContext.getFunctionAddress("glUniform4iv")) != 0 & (glUniformMatrix2fv = GLContext.getFunctionAddress("glUniformMatrix2fv")) != 0 & (glUniformMatrix3fv = GLContext.getFunctionAddress("glUniformMatrix3fv")) != 0 & (glUniformMatrix4fv = GLContext.getFunctionAddress("glUniformMatrix4fv")) != 0 & (glGetShaderiv = GLContext.getFunctionAddress("glGetShaderiv")) != 0 & (glGetProgramiv = GLContext.getFunctionAddress("glGetProgramiv")) != 0 & (glGetShaderInfoLog = GLContext.getFunctionAddress("glGetShaderInfoLog")) != 0 & (glGetProgramInfoLog = GLContext.getFunctionAddress("glGetProgramInfoLog")) != 0 & (glGetAttachedShaders = GLContext.getFunctionAddress("glGetAttachedShaders")) != 0 & (glGetUniformLocation = GLContext.getFunctionAddress("glGetUniformLocation")) != 0 & (glGetActiveUniform = GLContext.getFunctionAddress("glGetActiveUniform")) != 0 & (glGetUniformfv = GLContext.getFunctionAddress("glGetUniformfv")) != 0 & (glGetUniformiv = GLContext.getFunctionAddress("glGetUniformiv")) != 0 & (glGetShaderSource = GLContext.getFunctionAddress("glGetShaderSource")) != 0 & (glVertexAttrib1s = GLContext.getFunctionAddress("glVertexAttrib1s")) != 0 & (glVertexAttrib1f = GLContext.getFunctionAddress("glVertexAttrib1f")) != 0 & (glVertexAttrib1d = GLContext.getFunctionAddress("glVertexAttrib1d")) != 0 & (glVertexAttrib2s = GLContext.getFunctionAddress("glVertexAttrib2s")) != 0 & (glVertexAttrib2f = GLContext.getFunctionAddress("glVertexAttrib2f")) != 0 & (glVertexAttrib2d = GLContext.getFunctionAddress("glVertexAttrib2d")) != 0 & (glVertexAttrib3s = GLContext.getFunctionAddress("glVertexAttrib3s")) != 0 & (glVertexAttrib3f = GLContext.getFunctionAddress("glVertexAttrib3f")) != 0 & (glVertexAttrib3d = GLContext.getFunctionAddress("glVertexAttrib3d")) != 0 & (glVertexAttrib4s = GLContext.getFunctionAddress("glVertexAttrib4s")) != 0 & (glVertexAttrib4f = GLContext.getFunctionAddress("glVertexAttrib4f")) != 0 & (glVertexAttrib4d = GLContext.getFunctionAddress("glVertexAttrib4d")) != 0 & (glVertexAttrib4Nub = GLContext.getFunctionAddress("glVertexAttrib4Nub")) != 0 & (glVertexAttribPointer = GLContext.getFunctionAddress("glVertexAttribPointer")) != 0 & (glEnableVertexAttribArray = GLContext.getFunctionAddress("glEnableVertexAttribArray")) != 0 & (glDisableVertexAttribArray = GLContext.getFunctionAddress("glDisableVertexAttribArray")) != 0 & (glGetVertexAttribfv = GLContext.getFunctionAddress("glGetVertexAttribfv")) != 0 & (glGetVertexAttribdv = GLContext.getFunctionAddress("glGetVertexAttribdv")) != 0 & (glGetVertexAttribiv = GLContext.getFunctionAddress("glGetVertexAttribiv")) != 0 & (glGetVertexAttribPointerv = GLContext.getFunctionAddress("glGetVertexAttribPointerv")) != 0 & (glBindAttribLocation = GLContext.getFunctionAddress("glBindAttribLocation")) != 0 & (glGetActiveAttrib = GLContext.getFunctionAddress("glGetActiveAttrib")) != 0 & (glGetAttribLocation = GLContext.getFunctionAddress("glGetAttribLocation")) != 0 & (glDrawBuffers = GLContext.getFunctionAddress("glDrawBuffers")) != 0 & (glStencilOpSeparate = GLContext.getFunctionAddress("glStencilOpSeparate")) != 0 & (glStencilFuncSeparate = GLContext.getFunctionAddress("glStencilFuncSeparate")) != 0 & (glStencilMaskSeparate = GLContext.getFunctionAddress("glStencilMaskSeparate")) != 0 & (glBlendEquationSeparate = GLContext.getFunctionAddress("glBlendEquationSeparate")) != 0; } private boolean GL21_initNativeFunctionAddresses() { return (glUniformMatrix2x3fv = GLContext.getFunctionAddress("glUniformMatrix2x3fv")) != 0 & (glUniformMatrix3x2fv = GLContext.getFunctionAddress("glUniformMatrix3x2fv")) != 0 & (glUniformMatrix2x4fv = GLContext.getFunctionAddress("glUniformMatrix2x4fv")) != 0 & (glUniformMatrix4x2fv = GLContext.getFunctionAddress("glUniformMatrix4x2fv")) != 0 & (glUniformMatrix3x4fv = GLContext.getFunctionAddress("glUniformMatrix3x4fv")) != 0 & (glUniformMatrix4x3fv = GLContext.getFunctionAddress("glUniformMatrix4x3fv")) != 0; } private boolean GL30_initNativeFunctionAddresses() { return (glGetStringi = GLContext.getFunctionAddress("glGetStringi")) != 0 & (glClearBufferfv = GLContext.getFunctionAddress("glClearBufferfv")) != 0 & (glClearBufferiv = GLContext.getFunctionAddress("glClearBufferiv")) != 0 & (glClearBufferuiv = GLContext.getFunctionAddress("glClearBufferuiv")) != 0 & (glClearBufferfi = GLContext.getFunctionAddress("glClearBufferfi")) != 0 & (glVertexAttribI1i = GLContext.getFunctionAddress("glVertexAttribI1i")) != 0 & (glVertexAttribI2i = GLContext.getFunctionAddress("glVertexAttribI2i")) != 0 & (glVertexAttribI3i = GLContext.getFunctionAddress("glVertexAttribI3i")) != 0 & (glVertexAttribI4i = GLContext.getFunctionAddress("glVertexAttribI4i")) != 0 & (glVertexAttribI1ui = GLContext.getFunctionAddress("glVertexAttribI1ui")) != 0 & (glVertexAttribI2ui = GLContext.getFunctionAddress("glVertexAttribI2ui")) != 0 & (glVertexAttribI3ui = GLContext.getFunctionAddress("glVertexAttribI3ui")) != 0 & (glVertexAttribI4ui = GLContext.getFunctionAddress("glVertexAttribI4ui")) != 0 & (glVertexAttribI1iv = GLContext.getFunctionAddress("glVertexAttribI1iv")) != 0 & (glVertexAttribI2iv = GLContext.getFunctionAddress("glVertexAttribI2iv")) != 0 & (glVertexAttribI3iv = GLContext.getFunctionAddress("glVertexAttribI3iv")) != 0 & (glVertexAttribI4iv = GLContext.getFunctionAddress("glVertexAttribI4iv")) != 0 & (glVertexAttribI1uiv = GLContext.getFunctionAddress("glVertexAttribI1uiv")) != 0 & (glVertexAttribI2uiv = GLContext.getFunctionAddress("glVertexAttribI2uiv")) != 0 & (glVertexAttribI3uiv = GLContext.getFunctionAddress("glVertexAttribI3uiv")) != 0 & (glVertexAttribI4uiv = GLContext.getFunctionAddress("glVertexAttribI4uiv")) != 0 & (glVertexAttribI4bv = GLContext.getFunctionAddress("glVertexAttribI4bv")) != 0 & (glVertexAttribI4sv = GLContext.getFunctionAddress("glVertexAttribI4sv")) != 0 & (glVertexAttribI4ubv = GLContext.getFunctionAddress("glVertexAttribI4ubv")) != 0 & (glVertexAttribI4usv = GLContext.getFunctionAddress("glVertexAttribI4usv")) != 0 & (glVertexAttribIPointer = GLContext.getFunctionAddress("glVertexAttribIPointer")) != 0 & (glGetVertexAttribIiv = GLContext.getFunctionAddress("glGetVertexAttribIiv")) != 0 & (glGetVertexAttribIuiv = GLContext.getFunctionAddress("glGetVertexAttribIuiv")) != 0 & (glUniform1ui = GLContext.getFunctionAddress("glUniform1ui")) != 0 & (glUniform2ui = GLContext.getFunctionAddress("glUniform2ui")) != 0 & (glUniform3ui = GLContext.getFunctionAddress("glUniform3ui")) != 0 & (glUniform4ui = GLContext.getFunctionAddress("glUniform4ui")) != 0 & (glUniform1uiv = GLContext.getFunctionAddress("glUniform1uiv")) != 0 & (glUniform2uiv = GLContext.getFunctionAddress("glUniform2uiv")) != 0 & (glUniform3uiv = GLContext.getFunctionAddress("glUniform3uiv")) != 0 & (glUniform4uiv = GLContext.getFunctionAddress("glUniform4uiv")) != 0 & (glGetUniformuiv = GLContext.getFunctionAddress("glGetUniformuiv")) != 0 & (glBindFragDataLocation = GLContext.getFunctionAddress("glBindFragDataLocation")) != 0 & (glGetFragDataLocation = GLContext.getFunctionAddress("glGetFragDataLocation")) != 0 & (glBeginConditionalRender = GLContext.getFunctionAddress("glBeginConditionalRender")) != 0 & (glEndConditionalRender = GLContext.getFunctionAddress("glEndConditionalRender")) != 0 & (glMapBufferRange = GLContext.getFunctionAddress("glMapBufferRange")) != 0 & (glFlushMappedBufferRange = GLContext.getFunctionAddress("glFlushMappedBufferRange")) != 0 & (glClampColor = GLContext.getFunctionAddress("glClampColor")) != 0 & (glIsRenderbuffer = GLContext.getFunctionAddress("glIsRenderbuffer")) != 0 & (glBindRenderbuffer = GLContext.getFunctionAddress("glBindRenderbuffer")) != 0 & (glDeleteRenderbuffers = GLContext.getFunctionAddress("glDeleteRenderbuffers")) != 0 & (glGenRenderbuffers = GLContext.getFunctionAddress("glGenRenderbuffers")) != 0 & (glRenderbufferStorage = GLContext.getFunctionAddress("glRenderbufferStorage")) != 0 & (glGetRenderbufferParameteriv = GLContext.getFunctionAddress("glGetRenderbufferParameteriv")) != 0 & (glIsFramebuffer = GLContext.getFunctionAddress("glIsFramebuffer")) != 0 & (glBindFramebuffer = GLContext.getFunctionAddress("glBindFramebuffer")) != 0 & (glDeleteFramebuffers = GLContext.getFunctionAddress("glDeleteFramebuffers")) != 0 & (glGenFramebuffers = GLContext.getFunctionAddress("glGenFramebuffers")) != 0 & (glCheckFramebufferStatus = GLContext.getFunctionAddress("glCheckFramebufferStatus")) != 0 & (glFramebufferTexture1D = GLContext.getFunctionAddress("glFramebufferTexture1D")) != 0 & (glFramebufferTexture2D = GLContext.getFunctionAddress("glFramebufferTexture2D")) != 0 & (glFramebufferTexture3D = GLContext.getFunctionAddress("glFramebufferTexture3D")) != 0 & (glFramebufferRenderbuffer = GLContext.getFunctionAddress("glFramebufferRenderbuffer")) != 0 & (glGetFramebufferAttachmentParameteriv = GLContext.getFunctionAddress("glGetFramebufferAttachmentParameteriv")) != 0 & (glGenerateMipmap = GLContext.getFunctionAddress("glGenerateMipmap")) != 0 & (glRenderbufferStorageMultisample = GLContext.getFunctionAddress("glRenderbufferStorageMultisample")) != 0 & (glBlitFramebuffer = GLContext.getFunctionAddress("glBlitFramebuffer")) != 0 & (glTexParameterIiv = GLContext.getFunctionAddress("glTexParameterIiv")) != 0 & (glTexParameterIuiv = GLContext.getFunctionAddress("glTexParameterIuiv")) != 0 & (glGetTexParameterIiv = GLContext.getFunctionAddress("glGetTexParameterIiv")) != 0 & (glGetTexParameterIuiv = GLContext.getFunctionAddress("glGetTexParameterIuiv")) != 0 & (glFramebufferTextureLayer = GLContext.getFunctionAddress("glFramebufferTextureLayer")) != 0 & (glColorMaski = GLContext.getFunctionAddress("glColorMaski")) != 0 & (glGetBooleani_v = GLContext.getFunctionAddress("glGetBooleani_v")) != 0 & (glGetIntegeri_v = GLContext.getFunctionAddress("glGetIntegeri_v")) != 0 & (glEnablei = GLContext.getFunctionAddress("glEnablei")) != 0 & (glDisablei = GLContext.getFunctionAddress("glDisablei")) != 0 & (glIsEnabledi = GLContext.getFunctionAddress("glIsEnabledi")) != 0 & (glBindBufferRange = GLContext.getFunctionAddress("glBindBufferRange")) != 0 & (glBindBufferBase = GLContext.getFunctionAddress("glBindBufferBase")) != 0 & (glBeginTransformFeedback = GLContext.getFunctionAddress("glBeginTransformFeedback")) != 0 & (glEndTransformFeedback = GLContext.getFunctionAddress("glEndTransformFeedback")) != 0 & (glTransformFeedbackVaryings = GLContext.getFunctionAddress("glTransformFeedbackVaryings")) != 0 & (glGetTransformFeedbackVarying = GLContext.getFunctionAddress("glGetTransformFeedbackVarying")) != 0 & (glBindVertexArray = GLContext.getFunctionAddress("glBindVertexArray")) != 0 & (glDeleteVertexArrays = GLContext.getFunctionAddress("glDeleteVertexArrays")) != 0 & (glGenVertexArrays = GLContext.getFunctionAddress("glGenVertexArrays")) != 0 & (glIsVertexArray = GLContext.getFunctionAddress("glIsVertexArray")) != 0; } private boolean GL31_initNativeFunctionAddresses() { return (glDrawArraysInstanced = GLContext.getFunctionAddress("glDrawArraysInstanced")) != 0 & (glDrawElementsInstanced = GLContext.getFunctionAddress("glDrawElementsInstanced")) != 0 & (glCopyBufferSubData = GLContext.getFunctionAddress("glCopyBufferSubData")) != 0 & (glPrimitiveRestartIndex = GLContext.getFunctionAddress("glPrimitiveRestartIndex")) != 0 & (glTexBuffer = GLContext.getFunctionAddress("glTexBuffer")) != 0 & (glGetUniformIndices = GLContext.getFunctionAddress("glGetUniformIndices")) != 0 & (glGetActiveUniformsiv = GLContext.getFunctionAddress("glGetActiveUniformsiv")) != 0 & (glGetActiveUniformName = GLContext.getFunctionAddress("glGetActiveUniformName")) != 0 & (glGetUniformBlockIndex = GLContext.getFunctionAddress("glGetUniformBlockIndex")) != 0 & (glGetActiveUniformBlockiv = GLContext.getFunctionAddress("glGetActiveUniformBlockiv")) != 0 & (glGetActiveUniformBlockName = GLContext.getFunctionAddress("glGetActiveUniformBlockName")) != 0 & (glUniformBlockBinding = GLContext.getFunctionAddress("glUniformBlockBinding")) != 0; } private boolean GL32_initNativeFunctionAddresses() { return (glGetBufferParameteri64v = GLContext.getFunctionAddress("glGetBufferParameteri64v")) != 0 & (glDrawElementsBaseVertex = GLContext.getFunctionAddress("glDrawElementsBaseVertex")) != 0 & (glDrawRangeElementsBaseVertex = GLContext.getFunctionAddress("glDrawRangeElementsBaseVertex")) != 0 & (glDrawElementsInstancedBaseVertex = GLContext.getFunctionAddress("glDrawElementsInstancedBaseVertex")) != 0 & (glProvokingVertex = GLContext.getFunctionAddress("glProvokingVertex")) != 0 & (glTexImage2DMultisample = GLContext.getFunctionAddress("glTexImage2DMultisample")) != 0 & (glTexImage3DMultisample = GLContext.getFunctionAddress("glTexImage3DMultisample")) != 0 & (glGetMultisamplefv = GLContext.getFunctionAddress("glGetMultisamplefv")) != 0 & (glSampleMaski = GLContext.getFunctionAddress("glSampleMaski")) != 0 & (glFramebufferTexture = GLContext.getFunctionAddress("glFramebufferTexture")) != 0 & (glFenceSync = GLContext.getFunctionAddress("glFenceSync")) != 0 & (glIsSync = GLContext.getFunctionAddress("glIsSync")) != 0 & (glDeleteSync = GLContext.getFunctionAddress("glDeleteSync")) != 0 & (glClientWaitSync = GLContext.getFunctionAddress("glClientWaitSync")) != 0 & (glWaitSync = GLContext.getFunctionAddress("glWaitSync")) != 0 & (glGetInteger64v = GLContext.getFunctionAddress("glGetInteger64v")) != 0 & ((glGetInteger64i_v = GLContext.getFunctionAddress("glGetInteger64i_v")) != 0 || true) & (glGetSynciv = GLContext.getFunctionAddress("glGetSynciv")) != 0; } private boolean GL33_initNativeFunctionAddresses(boolean forwardCompatible) { return (glBindFragDataLocationIndexed = GLContext.getFunctionAddress("glBindFragDataLocationIndexed")) != 0 & (glGetFragDataIndex = GLContext.getFunctionAddress("glGetFragDataIndex")) != 0 & (glGenSamplers = GLContext.getFunctionAddress("glGenSamplers")) != 0 & (glDeleteSamplers = GLContext.getFunctionAddress("glDeleteSamplers")) != 0 & (glIsSampler = GLContext.getFunctionAddress("glIsSampler")) != 0 & (glBindSampler = GLContext.getFunctionAddress("glBindSampler")) != 0 & (glSamplerParameteri = GLContext.getFunctionAddress("glSamplerParameteri")) != 0 & (glSamplerParameterf = GLContext.getFunctionAddress("glSamplerParameterf")) != 0 & (glSamplerParameteriv = GLContext.getFunctionAddress("glSamplerParameteriv")) != 0 & (glSamplerParameterfv = GLContext.getFunctionAddress("glSamplerParameterfv")) != 0 & (glSamplerParameterIiv = GLContext.getFunctionAddress("glSamplerParameterIiv")) != 0 & (glSamplerParameterIuiv = GLContext.getFunctionAddress("glSamplerParameterIuiv")) != 0 & (glGetSamplerParameteriv = GLContext.getFunctionAddress("glGetSamplerParameteriv")) != 0 & (glGetSamplerParameterfv = GLContext.getFunctionAddress("glGetSamplerParameterfv")) != 0 & (glGetSamplerParameterIiv = GLContext.getFunctionAddress("glGetSamplerParameterIiv")) != 0 & (glGetSamplerParameterIuiv = GLContext.getFunctionAddress("glGetSamplerParameterIuiv")) != 0 & (glQueryCounter = GLContext.getFunctionAddress("glQueryCounter")) != 0 & (glGetQueryObjecti64v = GLContext.getFunctionAddress("glGetQueryObjecti64v")) != 0 & (glGetQueryObjectui64v = GLContext.getFunctionAddress("glGetQueryObjectui64v")) != 0 & (glVertexAttribDivisor = GLContext.getFunctionAddress("glVertexAttribDivisor")) != 0 & (forwardCompatible || (glVertexP2ui = GLContext.getFunctionAddress("glVertexP2ui")) != 0) & (forwardCompatible || (glVertexP3ui = GLContext.getFunctionAddress("glVertexP3ui")) != 0) & (forwardCompatible || (glVertexP4ui = GLContext.getFunctionAddress("glVertexP4ui")) != 0) & (forwardCompatible || (glVertexP2uiv = GLContext.getFunctionAddress("glVertexP2uiv")) != 0) & (forwardCompatible || (glVertexP3uiv = GLContext.getFunctionAddress("glVertexP3uiv")) != 0) & (forwardCompatible || (glVertexP4uiv = GLContext.getFunctionAddress("glVertexP4uiv")) != 0) & (forwardCompatible || (glTexCoordP1ui = GLContext.getFunctionAddress("glTexCoordP1ui")) != 0) & (forwardCompatible || (glTexCoordP2ui = GLContext.getFunctionAddress("glTexCoordP2ui")) != 0) & (forwardCompatible || (glTexCoordP3ui = GLContext.getFunctionAddress("glTexCoordP3ui")) != 0) & (forwardCompatible || (glTexCoordP4ui = GLContext.getFunctionAddress("glTexCoordP4ui")) != 0) & (forwardCompatible || (glTexCoordP1uiv = GLContext.getFunctionAddress("glTexCoordP1uiv")) != 0) & (forwardCompatible || (glTexCoordP2uiv = GLContext.getFunctionAddress("glTexCoordP2uiv")) != 0) & (forwardCompatible || (glTexCoordP3uiv = GLContext.getFunctionAddress("glTexCoordP3uiv")) != 0) & (forwardCompatible || (glTexCoordP4uiv = GLContext.getFunctionAddress("glTexCoordP4uiv")) != 0) & (forwardCompatible || (glMultiTexCoordP1ui = GLContext.getFunctionAddress("glMultiTexCoordP1ui")) != 0) & (forwardCompatible || (glMultiTexCoordP2ui = GLContext.getFunctionAddress("glMultiTexCoordP2ui")) != 0) & (forwardCompatible || (glMultiTexCoordP3ui = GLContext.getFunctionAddress("glMultiTexCoordP3ui")) != 0) & (forwardCompatible || (glMultiTexCoordP4ui = GLContext.getFunctionAddress("glMultiTexCoordP4ui")) != 0) & (forwardCompatible || (glMultiTexCoordP1uiv = GLContext.getFunctionAddress("glMultiTexCoordP1uiv")) != 0) & (forwardCompatible || (glMultiTexCoordP2uiv = GLContext.getFunctionAddress("glMultiTexCoordP2uiv")) != 0) & (forwardCompatible || (glMultiTexCoordP3uiv = GLContext.getFunctionAddress("glMultiTexCoordP3uiv")) != 0) & (forwardCompatible || (glMultiTexCoordP4uiv = GLContext.getFunctionAddress("glMultiTexCoordP4uiv")) != 0) & (forwardCompatible || (glNormalP3ui = GLContext.getFunctionAddress("glNormalP3ui")) != 0) & (forwardCompatible || (glNormalP3uiv = GLContext.getFunctionAddress("glNormalP3uiv")) != 0) & (forwardCompatible || (glColorP3ui = GLContext.getFunctionAddress("glColorP3ui")) != 0) & (forwardCompatible || (glColorP4ui = GLContext.getFunctionAddress("glColorP4ui")) != 0) & (forwardCompatible || (glColorP3uiv = GLContext.getFunctionAddress("glColorP3uiv")) != 0) & (forwardCompatible || (glColorP4uiv = GLContext.getFunctionAddress("glColorP4uiv")) != 0) & (forwardCompatible || (glSecondaryColorP3ui = GLContext.getFunctionAddress("glSecondaryColorP3ui")) != 0) & (forwardCompatible || (glSecondaryColorP3uiv = GLContext.getFunctionAddress("glSecondaryColorP3uiv")) != 0) & (forwardCompatible || (glVertexAttribP1ui = GLContext.getFunctionAddress("glVertexAttribP1ui")) != 0) & (forwardCompatible || (glVertexAttribP2ui = GLContext.getFunctionAddress("glVertexAttribP2ui")) != 0) & (forwardCompatible || (glVertexAttribP3ui = GLContext.getFunctionAddress("glVertexAttribP3ui")) != 0) & (forwardCompatible || (glVertexAttribP4ui = GLContext.getFunctionAddress("glVertexAttribP4ui")) != 0) & (forwardCompatible || (glVertexAttribP1uiv = GLContext.getFunctionAddress("glVertexAttribP1uiv")) != 0) & (forwardCompatible || (glVertexAttribP2uiv = GLContext.getFunctionAddress("glVertexAttribP2uiv")) != 0) & (forwardCompatible || (glVertexAttribP3uiv = GLContext.getFunctionAddress("glVertexAttribP3uiv")) != 0) & (forwardCompatible || (glVertexAttribP4uiv = GLContext.getFunctionAddress("glVertexAttribP4uiv")) != 0); } private boolean GL40_initNativeFunctionAddresses() { return (glBlendEquationi = GLContext.getFunctionAddress("glBlendEquationi")) != 0 & (glBlendEquationSeparatei = GLContext.getFunctionAddress("glBlendEquationSeparatei")) != 0 & (glBlendFunci = GLContext.getFunctionAddress("glBlendFunci")) != 0 & (glBlendFuncSeparatei = GLContext.getFunctionAddress("glBlendFuncSeparatei")) != 0 & (glDrawArraysIndirect = GLContext.getFunctionAddress("glDrawArraysIndirect")) != 0 & (glDrawElementsIndirect = GLContext.getFunctionAddress("glDrawElementsIndirect")) != 0 & (glUniform1d = GLContext.getFunctionAddress("glUniform1d")) != 0 & (glUniform2d = GLContext.getFunctionAddress("glUniform2d")) != 0 & (glUniform3d = GLContext.getFunctionAddress("glUniform3d")) != 0 & (glUniform4d = GLContext.getFunctionAddress("glUniform4d")) != 0 & (glUniform1dv = GLContext.getFunctionAddress("glUniform1dv")) != 0 & (glUniform2dv = GLContext.getFunctionAddress("glUniform2dv")) != 0 & (glUniform3dv = GLContext.getFunctionAddress("glUniform3dv")) != 0 & (glUniform4dv = GLContext.getFunctionAddress("glUniform4dv")) != 0 & (glUniformMatrix2dv = GLContext.getFunctionAddress("glUniformMatrix2dv")) != 0 & (glUniformMatrix3dv = GLContext.getFunctionAddress("glUniformMatrix3dv")) != 0 & (glUniformMatrix4dv = GLContext.getFunctionAddress("glUniformMatrix4dv")) != 0 & (glUniformMatrix2x3dv = GLContext.getFunctionAddress("glUniformMatrix2x3dv")) != 0 & (glUniformMatrix2x4dv = GLContext.getFunctionAddress("glUniformMatrix2x4dv")) != 0 & (glUniformMatrix3x2dv = GLContext.getFunctionAddress("glUniformMatrix3x2dv")) != 0 & (glUniformMatrix3x4dv = GLContext.getFunctionAddress("glUniformMatrix3x4dv")) != 0 & (glUniformMatrix4x2dv = GLContext.getFunctionAddress("glUniformMatrix4x2dv")) != 0 & (glUniformMatrix4x3dv = GLContext.getFunctionAddress("glUniformMatrix4x3dv")) != 0 & (glGetUniformdv = GLContext.getFunctionAddress("glGetUniformdv")) != 0 & (glMinSampleShading = GLContext.getFunctionAddress("glMinSampleShading")) != 0 & (glGetSubroutineUniformLocation = GLContext.getFunctionAddress("glGetSubroutineUniformLocation")) != 0 & (glGetSubroutineIndex = GLContext.getFunctionAddress("glGetSubroutineIndex")) != 0 & (glGetActiveSubroutineUniformiv = GLContext.getFunctionAddress("glGetActiveSubroutineUniformiv")) != 0 & (glGetActiveSubroutineUniformName = GLContext.getFunctionAddress("glGetActiveSubroutineUniformName")) != 0 & (glGetActiveSubroutineName = GLContext.getFunctionAddress("glGetActiveSubroutineName")) != 0 & (glUniformSubroutinesuiv = GLContext.getFunctionAddress("glUniformSubroutinesuiv")) != 0 & (glGetUniformSubroutineuiv = GLContext.getFunctionAddress("glGetUniformSubroutineuiv")) != 0 & (glGetProgramStageiv = GLContext.getFunctionAddress("glGetProgramStageiv")) != 0 & (glPatchParameteri = GLContext.getFunctionAddress("glPatchParameteri")) != 0 & (glPatchParameterfv = GLContext.getFunctionAddress("glPatchParameterfv")) != 0 & (glBindTransformFeedback = GLContext.getFunctionAddress("glBindTransformFeedback")) != 0 & (glDeleteTransformFeedbacks = GLContext.getFunctionAddress("glDeleteTransformFeedbacks")) != 0 & (glGenTransformFeedbacks = GLContext.getFunctionAddress("glGenTransformFeedbacks")) != 0 & (glIsTransformFeedback = GLContext.getFunctionAddress("glIsTransformFeedback")) != 0 & (glPauseTransformFeedback = GLContext.getFunctionAddress("glPauseTransformFeedback")) != 0 & (glResumeTransformFeedback = GLContext.getFunctionAddress("glResumeTransformFeedback")) != 0 & (glDrawTransformFeedback = GLContext.getFunctionAddress("glDrawTransformFeedback")) != 0 & (glDrawTransformFeedbackStream = GLContext.getFunctionAddress("glDrawTransformFeedbackStream")) != 0 & (glBeginQueryIndexed = GLContext.getFunctionAddress("glBeginQueryIndexed")) != 0 & (glEndQueryIndexed = GLContext.getFunctionAddress("glEndQueryIndexed")) != 0 & (glGetQueryIndexediv = GLContext.getFunctionAddress("glGetQueryIndexediv")) != 0; } private boolean GL41_initNativeFunctionAddresses() { return (glReleaseShaderCompiler = GLContext.getFunctionAddress("glReleaseShaderCompiler")) != 0 & (glShaderBinary = GLContext.getFunctionAddress("glShaderBinary")) != 0 & (glGetShaderPrecisionFormat = GLContext.getFunctionAddress("glGetShaderPrecisionFormat")) != 0 & (glDepthRangef = GLContext.getFunctionAddress("glDepthRangef")) != 0 & (glClearDepthf = GLContext.getFunctionAddress("glClearDepthf")) != 0 & (glGetProgramBinary = GLContext.getFunctionAddress("glGetProgramBinary")) != 0 & (glProgramBinary = GLContext.getFunctionAddress("glProgramBinary")) != 0 & (glProgramParameteri = GLContext.getFunctionAddress("glProgramParameteri")) != 0 & (glUseProgramStages = GLContext.getFunctionAddress("glUseProgramStages")) != 0 & (glActiveShaderProgram = GLContext.getFunctionAddress("glActiveShaderProgram")) != 0 & (glCreateShaderProgramv = GLContext.getFunctionAddress("glCreateShaderProgramv")) != 0 & (glBindProgramPipeline = GLContext.getFunctionAddress("glBindProgramPipeline")) != 0 & (glDeleteProgramPipelines = GLContext.getFunctionAddress("glDeleteProgramPipelines")) != 0 & (glGenProgramPipelines = GLContext.getFunctionAddress("glGenProgramPipelines")) != 0 & (glIsProgramPipeline = GLContext.getFunctionAddress("glIsProgramPipeline")) != 0 & (glGetProgramPipelineiv = GLContext.getFunctionAddress("glGetProgramPipelineiv")) != 0 & (glProgramUniform1i = GLContext.getFunctionAddress("glProgramUniform1i")) != 0 & (glProgramUniform2i = GLContext.getFunctionAddress("glProgramUniform2i")) != 0 & (glProgramUniform3i = GLContext.getFunctionAddress("glProgramUniform3i")) != 0 & (glProgramUniform4i = GLContext.getFunctionAddress("glProgramUniform4i")) != 0 & (glProgramUniform1f = GLContext.getFunctionAddress("glProgramUniform1f")) != 0 & (glProgramUniform2f = GLContext.getFunctionAddress("glProgramUniform2f")) != 0 & (glProgramUniform3f = GLContext.getFunctionAddress("glProgramUniform3f")) != 0 & (glProgramUniform4f = GLContext.getFunctionAddress("glProgramUniform4f")) != 0 & (glProgramUniform1d = GLContext.getFunctionAddress("glProgramUniform1d")) != 0 & (glProgramUniform2d = GLContext.getFunctionAddress("glProgramUniform2d")) != 0 & (glProgramUniform3d = GLContext.getFunctionAddress("glProgramUniform3d")) != 0 & (glProgramUniform4d = GLContext.getFunctionAddress("glProgramUniform4d")) != 0 & (glProgramUniform1iv = GLContext.getFunctionAddress("glProgramUniform1iv")) != 0 & (glProgramUniform2iv = GLContext.getFunctionAddress("glProgramUniform2iv")) != 0 & (glProgramUniform3iv = GLContext.getFunctionAddress("glProgramUniform3iv")) != 0 & (glProgramUniform4iv = GLContext.getFunctionAddress("glProgramUniform4iv")) != 0 & (glProgramUniform1fv = GLContext.getFunctionAddress("glProgramUniform1fv")) != 0 & (glProgramUniform2fv = GLContext.getFunctionAddress("glProgramUniform2fv")) != 0 & (glProgramUniform3fv = GLContext.getFunctionAddress("glProgramUniform3fv")) != 0 & (glProgramUniform4fv = GLContext.getFunctionAddress("glProgramUniform4fv")) != 0 & (glProgramUniform1dv = GLContext.getFunctionAddress("glProgramUniform1dv")) != 0 & (glProgramUniform2dv = GLContext.getFunctionAddress("glProgramUniform2dv")) != 0 & (glProgramUniform3dv = GLContext.getFunctionAddress("glProgramUniform3dv")) != 0 & (glProgramUniform4dv = GLContext.getFunctionAddress("glProgramUniform4dv")) != 0 & (glProgramUniform1ui = GLContext.getFunctionAddress("glProgramUniform1ui")) != 0 & (glProgramUniform2ui = GLContext.getFunctionAddress("glProgramUniform2ui")) != 0 & (glProgramUniform3ui = GLContext.getFunctionAddress("glProgramUniform3ui")) != 0 & (glProgramUniform4ui = GLContext.getFunctionAddress("glProgramUniform4ui")) != 0 & (glProgramUniform1uiv = GLContext.getFunctionAddress("glProgramUniform1uiv")) != 0 & (glProgramUniform2uiv = GLContext.getFunctionAddress("glProgramUniform2uiv")) != 0 & (glProgramUniform3uiv = GLContext.getFunctionAddress("glProgramUniform3uiv")) != 0 & (glProgramUniform4uiv = GLContext.getFunctionAddress("glProgramUniform4uiv")) != 0 & (glProgramUniformMatrix2fv = GLContext.getFunctionAddress("glProgramUniformMatrix2fv")) != 0 & (glProgramUniformMatrix3fv = GLContext.getFunctionAddress("glProgramUniformMatrix3fv")) != 0 & (glProgramUniformMatrix4fv = GLContext.getFunctionAddress("glProgramUniformMatrix4fv")) != 0 & (glProgramUniformMatrix2dv = GLContext.getFunctionAddress("glProgramUniformMatrix2dv")) != 0 & (glProgramUniformMatrix3dv = GLContext.getFunctionAddress("glProgramUniformMatrix3dv")) != 0 & (glProgramUniformMatrix4dv = GLContext.getFunctionAddress("glProgramUniformMatrix4dv")) != 0 & (glProgramUniformMatrix2x3fv = GLContext.getFunctionAddress("glProgramUniformMatrix2x3fv")) != 0 & (glProgramUniformMatrix3x2fv = GLContext.getFunctionAddress("glProgramUniformMatrix3x2fv")) != 0 & (glProgramUniformMatrix2x4fv = GLContext.getFunctionAddress("glProgramUniformMatrix2x4fv")) != 0 & (glProgramUniformMatrix4x2fv = GLContext.getFunctionAddress("glProgramUniformMatrix4x2fv")) != 0 & (glProgramUniformMatrix3x4fv = GLContext.getFunctionAddress("glProgramUniformMatrix3x4fv")) != 0 & (glProgramUniformMatrix4x3fv = GLContext.getFunctionAddress("glProgramUniformMatrix4x3fv")) != 0 & (glProgramUniformMatrix2x3dv = GLContext.getFunctionAddress("glProgramUniformMatrix2x3dv")) != 0 & (glProgramUniformMatrix3x2dv = GLContext.getFunctionAddress("glProgramUniformMatrix3x2dv")) != 0 & (glProgramUniformMatrix2x4dv = GLContext.getFunctionAddress("glProgramUniformMatrix2x4dv")) != 0 & (glProgramUniformMatrix4x2dv = GLContext.getFunctionAddress("glProgramUniformMatrix4x2dv")) != 0 & (glProgramUniformMatrix3x4dv = GLContext.getFunctionAddress("glProgramUniformMatrix3x4dv")) != 0 & (glProgramUniformMatrix4x3dv = GLContext.getFunctionAddress("glProgramUniformMatrix4x3dv")) != 0 & (glValidateProgramPipeline = GLContext.getFunctionAddress("glValidateProgramPipeline")) != 0 & (glGetProgramPipelineInfoLog = GLContext.getFunctionAddress("glGetProgramPipelineInfoLog")) != 0 & (glVertexAttribL1d = GLContext.getFunctionAddress("glVertexAttribL1d")) != 0 & (glVertexAttribL2d = GLContext.getFunctionAddress("glVertexAttribL2d")) != 0 & (glVertexAttribL3d = GLContext.getFunctionAddress("glVertexAttribL3d")) != 0 & (glVertexAttribL4d = GLContext.getFunctionAddress("glVertexAttribL4d")) != 0 & (glVertexAttribL1dv = GLContext.getFunctionAddress("glVertexAttribL1dv")) != 0 & (glVertexAttribL2dv = GLContext.getFunctionAddress("glVertexAttribL2dv")) != 0 & (glVertexAttribL3dv = GLContext.getFunctionAddress("glVertexAttribL3dv")) != 0 & (glVertexAttribL4dv = GLContext.getFunctionAddress("glVertexAttribL4dv")) != 0 & (glVertexAttribLPointer = GLContext.getFunctionAddress("glVertexAttribLPointer")) != 0 & (glGetVertexAttribLdv = GLContext.getFunctionAddress("glGetVertexAttribLdv")) != 0 & (glViewportArrayv = GLContext.getFunctionAddress("glViewportArrayv")) != 0 & (glViewportIndexedf = GLContext.getFunctionAddress("glViewportIndexedf")) != 0 & (glViewportIndexedfv = GLContext.getFunctionAddress("glViewportIndexedfv")) != 0 & (glScissorArrayv = GLContext.getFunctionAddress("glScissorArrayv")) != 0 & (glScissorIndexed = GLContext.getFunctionAddress("glScissorIndexed")) != 0 & (glScissorIndexedv = GLContext.getFunctionAddress("glScissorIndexedv")) != 0 & (glDepthRangeArrayv = GLContext.getFunctionAddress("glDepthRangeArrayv")) != 0 & (glDepthRangeIndexed = GLContext.getFunctionAddress("glDepthRangeIndexed")) != 0 & (glGetFloati_v = GLContext.getFunctionAddress("glGetFloati_v")) != 0 & (glGetDoublei_v = GLContext.getFunctionAddress("glGetDoublei_v")) != 0; } private boolean GL42_initNativeFunctionAddresses() { return ((glGetActiveAtomicCounterBufferiv = GLContext.getFunctionAddress("glGetActiveAtomicCounterBufferiv")) != 0 || true) & (glTexStorage1D = GLContext.getFunctionAddress("glTexStorage1D")) != 0 & (glTexStorage2D = GLContext.getFunctionAddress("glTexStorage2D")) != 0 & (glTexStorage3D = GLContext.getFunctionAddress("glTexStorage3D")) != 0 & (glDrawTransformFeedbackInstanced = GLContext.getFunctionAddress("glDrawTransformFeedbackInstanced")) != 0 & (glDrawTransformFeedbackStreamInstanced = GLContext.getFunctionAddress("glDrawTransformFeedbackStreamInstanced")) != 0 & (glDrawArraysInstancedBaseInstance = GLContext.getFunctionAddress("glDrawArraysInstancedBaseInstance")) != 0 & (glDrawElementsInstancedBaseInstance = GLContext.getFunctionAddress("glDrawElementsInstancedBaseInstance")) != 0 & (glDrawElementsInstancedBaseVertexBaseInstance = GLContext.getFunctionAddress("glDrawElementsInstancedBaseVertexBaseInstance")) != 0 & (glBindImageTexture = GLContext.getFunctionAddress("glBindImageTexture")) != 0 & (glMemoryBarrier = GLContext.getFunctionAddress("glMemoryBarrier")) != 0 & (glGetInternalformativ = GLContext.getFunctionAddress("glGetInternalformativ")) != 0; } private boolean GL43_initNativeFunctionAddresses() { return (glClearBufferData = GLContext.getFunctionAddress("glClearBufferData")) != 0 & (glClearBufferSubData = GLContext.getFunctionAddress("glClearBufferSubData")) != 0 & (glDispatchCompute = GLContext.getFunctionAddress("glDispatchCompute")) != 0 & (glDispatchComputeIndirect = GLContext.getFunctionAddress("glDispatchComputeIndirect")) != 0 & (glCopyImageSubData = GLContext.getFunctionAddress("glCopyImageSubData")) != 0 & (glDebugMessageControl = GLContext.getFunctionAddress("glDebugMessageControl")) != 0 & (glDebugMessageInsert = GLContext.getFunctionAddress("glDebugMessageInsert")) != 0 & (glDebugMessageCallback = GLContext.getFunctionAddress("glDebugMessageCallback")) != 0 & (glGetDebugMessageLog = GLContext.getFunctionAddress("glGetDebugMessageLog")) != 0 & (glPushDebugGroup = GLContext.getFunctionAddress("glPushDebugGroup")) != 0 & (glPopDebugGroup = GLContext.getFunctionAddress("glPopDebugGroup")) != 0 & (glObjectLabel = GLContext.getFunctionAddress("glObjectLabel")) != 0 & (glGetObjectLabel = GLContext.getFunctionAddress("glGetObjectLabel")) != 0 & (glObjectPtrLabel = GLContext.getFunctionAddress("glObjectPtrLabel")) != 0 & (glGetObjectPtrLabel = GLContext.getFunctionAddress("glGetObjectPtrLabel")) != 0 & (glFramebufferParameteri = GLContext.getFunctionAddress("glFramebufferParameteri")) != 0 & (glGetFramebufferParameteriv = GLContext.getFunctionAddress("glGetFramebufferParameteriv")) != 0 & (glGetInternalformati64v = GLContext.getFunctionAddress("glGetInternalformati64v")) != 0 & (glInvalidateTexSubImage = GLContext.getFunctionAddress("glInvalidateTexSubImage")) != 0 & (glInvalidateTexImage = GLContext.getFunctionAddress("glInvalidateTexImage")) != 0 & (glInvalidateBufferSubData = GLContext.getFunctionAddress("glInvalidateBufferSubData")) != 0 & (glInvalidateBufferData = GLContext.getFunctionAddress("glInvalidateBufferData")) != 0 & (glInvalidateFramebuffer = GLContext.getFunctionAddress("glInvalidateFramebuffer")) != 0 & (glInvalidateSubFramebuffer = GLContext.getFunctionAddress("glInvalidateSubFramebuffer")) != 0 & (glMultiDrawArraysIndirect = GLContext.getFunctionAddress("glMultiDrawArraysIndirect")) != 0 & (glMultiDrawElementsIndirect = GLContext.getFunctionAddress("glMultiDrawElementsIndirect")) != 0 & (glGetProgramInterfaceiv = GLContext.getFunctionAddress("glGetProgramInterfaceiv")) != 0 & (glGetProgramResourceIndex = GLContext.getFunctionAddress("glGetProgramResourceIndex")) != 0 & (glGetProgramResourceName = GLContext.getFunctionAddress("glGetProgramResourceName")) != 0 & (glGetProgramResourceiv = GLContext.getFunctionAddress("glGetProgramResourceiv")) != 0 & (glGetProgramResourceLocation = GLContext.getFunctionAddress("glGetProgramResourceLocation")) != 0 & (glGetProgramResourceLocationIndex = GLContext.getFunctionAddress("glGetProgramResourceLocationIndex")) != 0 & (glShaderStorageBlockBinding = GLContext.getFunctionAddress("glShaderStorageBlockBinding")) != 0 & (glTexBufferRange = GLContext.getFunctionAddress("glTexBufferRange")) != 0 & (glTexStorage2DMultisample = GLContext.getFunctionAddress("glTexStorage2DMultisample")) != 0 & (glTexStorage3DMultisample = GLContext.getFunctionAddress("glTexStorage3DMultisample")) != 0 & (glTextureView = GLContext.getFunctionAddress("glTextureView")) != 0 & (glBindVertexBuffer = GLContext.getFunctionAddress("glBindVertexBuffer")) != 0 & (glVertexAttribFormat = GLContext.getFunctionAddress("glVertexAttribFormat")) != 0 & (glVertexAttribIFormat = GLContext.getFunctionAddress("glVertexAttribIFormat")) != 0 & (glVertexAttribLFormat = GLContext.getFunctionAddress("glVertexAttribLFormat")) != 0 & (glVertexAttribBinding = GLContext.getFunctionAddress("glVertexAttribBinding")) != 0 & (glVertexBindingDivisor = GLContext.getFunctionAddress("glVertexBindingDivisor")) != 0; } private boolean GREMEDY_string_marker_initNativeFunctionAddresses() { return (glStringMarkerGREMEDY = GLContext.getFunctionAddress("glStringMarkerGREMEDY")) != 0; } private boolean INTEL_map_texture_initNativeFunctionAddresses() { return (glMapTexture2DINTEL = GLContext.getFunctionAddress("glMapTexture2DINTEL")) != 0 & (glUnmapTexture2DINTEL = GLContext.getFunctionAddress("glUnmapTexture2DINTEL")) != 0 & (glSyncTextureINTEL = GLContext.getFunctionAddress("glSyncTextureINTEL")) != 0; } private boolean KHR_debug_initNativeFunctionAddresses() { return (glDebugMessageControl = GLContext.getFunctionAddress("glDebugMessageControl")) != 0 & (glDebugMessageInsert = GLContext.getFunctionAddress("glDebugMessageInsert")) != 0 & (glDebugMessageCallback = GLContext.getFunctionAddress("glDebugMessageCallback")) != 0 & (glGetDebugMessageLog = GLContext.getFunctionAddress("glGetDebugMessageLog")) != 0 & (glPushDebugGroup = GLContext.getFunctionAddress("glPushDebugGroup")) != 0 & (glPopDebugGroup = GLContext.getFunctionAddress("glPopDebugGroup")) != 0 & (glObjectLabel = GLContext.getFunctionAddress("glObjectLabel")) != 0 & (glGetObjectLabel = GLContext.getFunctionAddress("glGetObjectLabel")) != 0 & (glObjectPtrLabel = GLContext.getFunctionAddress("glObjectPtrLabel")) != 0 & (glGetObjectPtrLabel = GLContext.getFunctionAddress("glGetObjectPtrLabel")) != 0; } private boolean NV_bindless_texture_initNativeFunctionAddresses() { return (glGetTextureHandleNV = GLContext.getFunctionAddress("glGetTextureHandleNV")) != 0 & (glGetTextureSamplerHandleNV = GLContext.getFunctionAddress("glGetTextureSamplerHandleNV")) != 0 & (glMakeTextureHandleResidentNV = GLContext.getFunctionAddress("glMakeTextureHandleResidentNV")) != 0 & (glMakeTextureHandleNonResidentNV = GLContext.getFunctionAddress("glMakeTextureHandleNonResidentNV")) != 0 & (glGetImageHandleNV = GLContext.getFunctionAddress("glGetImageHandleNV")) != 0 & (glMakeImageHandleResidentNV = GLContext.getFunctionAddress("glMakeImageHandleResidentNV")) != 0 & (glMakeImageHandleNonResidentNV = GLContext.getFunctionAddress("glMakeImageHandleNonResidentNV")) != 0 & (glUniformHandleui64NV = GLContext.getFunctionAddress("glUniformHandleui64NV")) != 0 & (glUniformHandleui64vNV = GLContext.getFunctionAddress("glUniformHandleui64vNV")) != 0 & (glProgramUniformHandleui64NV = GLContext.getFunctionAddress("glProgramUniformHandleui64NV")) != 0 & (glProgramUniformHandleui64vNV = GLContext.getFunctionAddress("glProgramUniformHandleui64vNV")) != 0 & (glIsTextureHandleResidentNV = GLContext.getFunctionAddress("glIsTextureHandleResidentNV")) != 0 & (glIsImageHandleResidentNV = GLContext.getFunctionAddress("glIsImageHandleResidentNV")) != 0; } private boolean NV_conditional_render_initNativeFunctionAddresses() { return (glBeginConditionalRenderNV = GLContext.getFunctionAddress("glBeginConditionalRenderNV")) != 0 & (glEndConditionalRenderNV = GLContext.getFunctionAddress("glEndConditionalRenderNV")) != 0; } private boolean NV_copy_image_initNativeFunctionAddresses() { return (glCopyImageSubDataNV = GLContext.getFunctionAddress("glCopyImageSubDataNV")) != 0; } private boolean NV_depth_buffer_float_initNativeFunctionAddresses() { return (glDepthRangedNV = GLContext.getFunctionAddress("glDepthRangedNV")) != 0 & (glClearDepthdNV = GLContext.getFunctionAddress("glClearDepthdNV")) != 0 & (glDepthBoundsdNV = GLContext.getFunctionAddress("glDepthBoundsdNV")) != 0; } private boolean NV_draw_texture_initNativeFunctionAddresses() { return (glDrawTextureNV = GLContext.getFunctionAddress("glDrawTextureNV")) != 0; } private boolean NV_evaluators_initNativeFunctionAddresses() { return (glGetMapControlPointsNV = GLContext.getFunctionAddress("glGetMapControlPointsNV")) != 0 & (glMapControlPointsNV = GLContext.getFunctionAddress("glMapControlPointsNV")) != 0 & (glMapParameterfvNV = GLContext.getFunctionAddress("glMapParameterfvNV")) != 0 & (glMapParameterivNV = GLContext.getFunctionAddress("glMapParameterivNV")) != 0 & (glGetMapParameterfvNV = GLContext.getFunctionAddress("glGetMapParameterfvNV")) != 0 & (glGetMapParameterivNV = GLContext.getFunctionAddress("glGetMapParameterivNV")) != 0 & (glGetMapAttribParameterfvNV = GLContext.getFunctionAddress("glGetMapAttribParameterfvNV")) != 0 & (glGetMapAttribParameterivNV = GLContext.getFunctionAddress("glGetMapAttribParameterivNV")) != 0 & (glEvalMapsNV = GLContext.getFunctionAddress("glEvalMapsNV")) != 0; } private boolean NV_explicit_multisample_initNativeFunctionAddresses() { return (glGetBooleanIndexedvEXT = GLContext.getFunctionAddress("glGetBooleanIndexedvEXT")) != 0 & (glGetIntegerIndexedvEXT = GLContext.getFunctionAddress("glGetIntegerIndexedvEXT")) != 0 & (glGetMultisamplefvNV = GLContext.getFunctionAddress("glGetMultisamplefvNV")) != 0 & (glSampleMaskIndexedNV = GLContext.getFunctionAddress("glSampleMaskIndexedNV")) != 0 & (glTexRenderbufferNV = GLContext.getFunctionAddress("glTexRenderbufferNV")) != 0; } private boolean NV_fence_initNativeFunctionAddresses() { return (glGenFencesNV = GLContext.getFunctionAddress("glGenFencesNV")) != 0 & (glDeleteFencesNV = GLContext.getFunctionAddress("glDeleteFencesNV")) != 0 & (glSetFenceNV = GLContext.getFunctionAddress("glSetFenceNV")) != 0 & (glTestFenceNV = GLContext.getFunctionAddress("glTestFenceNV")) != 0 & (glFinishFenceNV = GLContext.getFunctionAddress("glFinishFenceNV")) != 0 & (glIsFenceNV = GLContext.getFunctionAddress("glIsFenceNV")) != 0 & (glGetFenceivNV = GLContext.getFunctionAddress("glGetFenceivNV")) != 0; } private boolean NV_fragment_program_initNativeFunctionAddresses() { return (glProgramNamedParameter4fNV = GLContext.getFunctionAddress("glProgramNamedParameter4fNV")) != 0 & (glProgramNamedParameter4dNV = GLContext.getFunctionAddress("glProgramNamedParameter4dNV")) != 0 & (glGetProgramNamedParameterfvNV = GLContext.getFunctionAddress("glGetProgramNamedParameterfvNV")) != 0 & (glGetProgramNamedParameterdvNV = GLContext.getFunctionAddress("glGetProgramNamedParameterdvNV")) != 0; } private boolean NV_framebuffer_multisample_coverage_initNativeFunctionAddresses() { return (glRenderbufferStorageMultisampleCoverageNV = GLContext.getFunctionAddress("glRenderbufferStorageMultisampleCoverageNV")) != 0; } private boolean NV_geometry_program4_initNativeFunctionAddresses() { return (glProgramVertexLimitNV = GLContext.getFunctionAddress("glProgramVertexLimitNV")) != 0 & (glFramebufferTextureEXT = GLContext.getFunctionAddress("glFramebufferTextureEXT")) != 0 & (glFramebufferTextureLayerEXT = GLContext.getFunctionAddress("glFramebufferTextureLayerEXT")) != 0 & (glFramebufferTextureFaceEXT = GLContext.getFunctionAddress("glFramebufferTextureFaceEXT")) != 0; } private boolean NV_gpu_program4_initNativeFunctionAddresses() { return (glProgramLocalParameterI4iNV = GLContext.getFunctionAddress("glProgramLocalParameterI4iNV")) != 0 & (glProgramLocalParameterI4ivNV = GLContext.getFunctionAddress("glProgramLocalParameterI4ivNV")) != 0 & (glProgramLocalParametersI4ivNV = GLContext.getFunctionAddress("glProgramLocalParametersI4ivNV")) != 0 & (glProgramLocalParameterI4uiNV = GLContext.getFunctionAddress("glProgramLocalParameterI4uiNV")) != 0 & (glProgramLocalParameterI4uivNV = GLContext.getFunctionAddress("glProgramLocalParameterI4uivNV")) != 0 & (glProgramLocalParametersI4uivNV = GLContext.getFunctionAddress("glProgramLocalParametersI4uivNV")) != 0 & (glProgramEnvParameterI4iNV = GLContext.getFunctionAddress("glProgramEnvParameterI4iNV")) != 0 & (glProgramEnvParameterI4ivNV = GLContext.getFunctionAddress("glProgramEnvParameterI4ivNV")) != 0 & (glProgramEnvParametersI4ivNV = GLContext.getFunctionAddress("glProgramEnvParametersI4ivNV")) != 0 & (glProgramEnvParameterI4uiNV = GLContext.getFunctionAddress("glProgramEnvParameterI4uiNV")) != 0 & (glProgramEnvParameterI4uivNV = GLContext.getFunctionAddress("glProgramEnvParameterI4uivNV")) != 0 & (glProgramEnvParametersI4uivNV = GLContext.getFunctionAddress("glProgramEnvParametersI4uivNV")) != 0 & (glGetProgramLocalParameterIivNV = GLContext.getFunctionAddress("glGetProgramLocalParameterIivNV")) != 0 & (glGetProgramLocalParameterIuivNV = GLContext.getFunctionAddress("glGetProgramLocalParameterIuivNV")) != 0 & (glGetProgramEnvParameterIivNV = GLContext.getFunctionAddress("glGetProgramEnvParameterIivNV")) != 0 & (glGetProgramEnvParameterIuivNV = GLContext.getFunctionAddress("glGetProgramEnvParameterIuivNV")) != 0; } private boolean NV_gpu_shader5_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glUniform1i64NV = GLContext.getFunctionAddress("glUniform1i64NV")) != 0 & (glUniform2i64NV = GLContext.getFunctionAddress("glUniform2i64NV")) != 0 & (glUniform3i64NV = GLContext.getFunctionAddress("glUniform3i64NV")) != 0 & (glUniform4i64NV = GLContext.getFunctionAddress("glUniform4i64NV")) != 0 & (glUniform1i64vNV = GLContext.getFunctionAddress("glUniform1i64vNV")) != 0 & (glUniform2i64vNV = GLContext.getFunctionAddress("glUniform2i64vNV")) != 0 & (glUniform3i64vNV = GLContext.getFunctionAddress("glUniform3i64vNV")) != 0 & (glUniform4i64vNV = GLContext.getFunctionAddress("glUniform4i64vNV")) != 0 & (glUniform1ui64NV = GLContext.getFunctionAddress("glUniform1ui64NV")) != 0 & (glUniform2ui64NV = GLContext.getFunctionAddress("glUniform2ui64NV")) != 0 & (glUniform3ui64NV = GLContext.getFunctionAddress("glUniform3ui64NV")) != 0 & (glUniform4ui64NV = GLContext.getFunctionAddress("glUniform4ui64NV")) != 0 & (glUniform1ui64vNV = GLContext.getFunctionAddress("glUniform1ui64vNV")) != 0 & (glUniform2ui64vNV = GLContext.getFunctionAddress("glUniform2ui64vNV")) != 0 & (glUniform3ui64vNV = GLContext.getFunctionAddress("glUniform3ui64vNV")) != 0 & (glUniform4ui64vNV = GLContext.getFunctionAddress("glUniform4ui64vNV")) != 0 & (glGetUniformi64vNV = GLContext.getFunctionAddress("glGetUniformi64vNV")) != 0 & (glGetUniformui64vNV = GLContext.getFunctionAddress("glGetUniformui64vNV")) != 0 & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform1i64NV = GLContext.getFunctionAddress("glProgramUniform1i64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform2i64NV = GLContext.getFunctionAddress("glProgramUniform2i64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform3i64NV = GLContext.getFunctionAddress("glProgramUniform3i64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform4i64NV = GLContext.getFunctionAddress("glProgramUniform4i64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform1i64vNV = GLContext.getFunctionAddress("glProgramUniform1i64vNV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform2i64vNV = GLContext.getFunctionAddress("glProgramUniform2i64vNV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform3i64vNV = GLContext.getFunctionAddress("glProgramUniform3i64vNV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform4i64vNV = GLContext.getFunctionAddress("glProgramUniform4i64vNV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform1ui64NV = GLContext.getFunctionAddress("glProgramUniform1ui64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform2ui64NV = GLContext.getFunctionAddress("glProgramUniform2ui64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform3ui64NV = GLContext.getFunctionAddress("glProgramUniform3ui64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform4ui64NV = GLContext.getFunctionAddress("glProgramUniform4ui64NV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform1ui64vNV = GLContext.getFunctionAddress("glProgramUniform1ui64vNV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform2ui64vNV = GLContext.getFunctionAddress("glProgramUniform2ui64vNV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform3ui64vNV = GLContext.getFunctionAddress("glProgramUniform3ui64vNV")) != 0) & (!supported_extensions.contains("EXT_direct_state_access") || (glProgramUniform4ui64vNV = GLContext.getFunctionAddress("glProgramUniform4ui64vNV")) != 0); } private boolean NV_half_float_initNativeFunctionAddresses() { return (glVertex2hNV = GLContext.getFunctionAddress("glVertex2hNV")) != 0 & (glVertex3hNV = GLContext.getFunctionAddress("glVertex3hNV")) != 0 & (glVertex4hNV = GLContext.getFunctionAddress("glVertex4hNV")) != 0 & (glNormal3hNV = GLContext.getFunctionAddress("glNormal3hNV")) != 0 & (glColor3hNV = GLContext.getFunctionAddress("glColor3hNV")) != 0 & (glColor4hNV = GLContext.getFunctionAddress("glColor4hNV")) != 0 & (glTexCoord1hNV = GLContext.getFunctionAddress("glTexCoord1hNV")) != 0 & (glTexCoord2hNV = GLContext.getFunctionAddress("glTexCoord2hNV")) != 0 & (glTexCoord3hNV = GLContext.getFunctionAddress("glTexCoord3hNV")) != 0 & (glTexCoord4hNV = GLContext.getFunctionAddress("glTexCoord4hNV")) != 0 & (glMultiTexCoord1hNV = GLContext.getFunctionAddress("glMultiTexCoord1hNV")) != 0 & (glMultiTexCoord2hNV = GLContext.getFunctionAddress("glMultiTexCoord2hNV")) != 0 & (glMultiTexCoord3hNV = GLContext.getFunctionAddress("glMultiTexCoord3hNV")) != 0 & (glMultiTexCoord4hNV = GLContext.getFunctionAddress("glMultiTexCoord4hNV")) != 0 & (glFogCoordhNV = GLContext.getFunctionAddress("glFogCoordhNV")) != 0 & (glSecondaryColor3hNV = GLContext.getFunctionAddress("glSecondaryColor3hNV")) != 0 & ((glVertexWeighthNV = GLContext.getFunctionAddress("glVertexWeighthNV")) != 0 || true) & ((glVertexAttrib1hNV = GLContext.getFunctionAddress("glVertexAttrib1hNV")) != 0 || true) & ((glVertexAttrib2hNV = GLContext.getFunctionAddress("glVertexAttrib2hNV")) != 0 || true) & ((glVertexAttrib3hNV = GLContext.getFunctionAddress("glVertexAttrib3hNV")) != 0 || true) & ((glVertexAttrib4hNV = GLContext.getFunctionAddress("glVertexAttrib4hNV")) != 0 || true) & ((glVertexAttribs1hvNV = GLContext.getFunctionAddress("glVertexAttribs1hvNV")) != 0 || true) & ((glVertexAttribs2hvNV = GLContext.getFunctionAddress("glVertexAttribs2hvNV")) != 0 || true) & ((glVertexAttribs3hvNV = GLContext.getFunctionAddress("glVertexAttribs3hvNV")) != 0 || true) & ((glVertexAttribs4hvNV = GLContext.getFunctionAddress("glVertexAttribs4hvNV")) != 0 || true); } private boolean NV_occlusion_query_initNativeFunctionAddresses() { return (glGenOcclusionQueriesNV = GLContext.getFunctionAddress("glGenOcclusionQueriesNV")) != 0 & (glDeleteOcclusionQueriesNV = GLContext.getFunctionAddress("glDeleteOcclusionQueriesNV")) != 0 & (glIsOcclusionQueryNV = GLContext.getFunctionAddress("glIsOcclusionQueryNV")) != 0 & (glBeginOcclusionQueryNV = GLContext.getFunctionAddress("glBeginOcclusionQueryNV")) != 0 & (glEndOcclusionQueryNV = GLContext.getFunctionAddress("glEndOcclusionQueryNV")) != 0 & (glGetOcclusionQueryuivNV = GLContext.getFunctionAddress("glGetOcclusionQueryuivNV")) != 0 & (glGetOcclusionQueryivNV = GLContext.getFunctionAddress("glGetOcclusionQueryivNV")) != 0; } private boolean NV_parameter_buffer_object_initNativeFunctionAddresses() { return (glProgramBufferParametersfvNV = GLContext.getFunctionAddress("glProgramBufferParametersfvNV")) != 0 & (glProgramBufferParametersIivNV = GLContext.getFunctionAddress("glProgramBufferParametersIivNV")) != 0 & (glProgramBufferParametersIuivNV = GLContext.getFunctionAddress("glProgramBufferParametersIuivNV")) != 0; } private boolean NV_path_rendering_initNativeFunctionAddresses() { return (glPathCommandsNV = GLContext.getFunctionAddress("glPathCommandsNV")) != 0 & (glPathCoordsNV = GLContext.getFunctionAddress("glPathCoordsNV")) != 0 & (glPathSubCommandsNV = GLContext.getFunctionAddress("glPathSubCommandsNV")) != 0 & (glPathSubCoordsNV = GLContext.getFunctionAddress("glPathSubCoordsNV")) != 0 & (glPathStringNV = GLContext.getFunctionAddress("glPathStringNV")) != 0 & (glPathGlyphsNV = GLContext.getFunctionAddress("glPathGlyphsNV")) != 0 & (glPathGlyphRangeNV = GLContext.getFunctionAddress("glPathGlyphRangeNV")) != 0 & (glWeightPathsNV = GLContext.getFunctionAddress("glWeightPathsNV")) != 0 & (glCopyPathNV = GLContext.getFunctionAddress("glCopyPathNV")) != 0 & (glInterpolatePathsNV = GLContext.getFunctionAddress("glInterpolatePathsNV")) != 0 & (glTransformPathNV = GLContext.getFunctionAddress("glTransformPathNV")) != 0 & (glPathParameterivNV = GLContext.getFunctionAddress("glPathParameterivNV")) != 0 & (glPathParameteriNV = GLContext.getFunctionAddress("glPathParameteriNV")) != 0 & (glPathParameterfvNV = GLContext.getFunctionAddress("glPathParameterfvNV")) != 0 & (glPathParameterfNV = GLContext.getFunctionAddress("glPathParameterfNV")) != 0 & (glPathDashArrayNV = GLContext.getFunctionAddress("glPathDashArrayNV")) != 0 & (glGenPathsNV = GLContext.getFunctionAddress("glGenPathsNV")) != 0 & (glDeletePathsNV = GLContext.getFunctionAddress("glDeletePathsNV")) != 0 & (glIsPathNV = GLContext.getFunctionAddress("glIsPathNV")) != 0 & (glPathStencilFuncNV = GLContext.getFunctionAddress("glPathStencilFuncNV")) != 0 & (glPathStencilDepthOffsetNV = GLContext.getFunctionAddress("glPathStencilDepthOffsetNV")) != 0 & (glStencilFillPathNV = GLContext.getFunctionAddress("glStencilFillPathNV")) != 0 & (glStencilStrokePathNV = GLContext.getFunctionAddress("glStencilStrokePathNV")) != 0 & (glStencilFillPathInstancedNV = GLContext.getFunctionAddress("glStencilFillPathInstancedNV")) != 0 & (glStencilStrokePathInstancedNV = GLContext.getFunctionAddress("glStencilStrokePathInstancedNV")) != 0 & (glPathCoverDepthFuncNV = GLContext.getFunctionAddress("glPathCoverDepthFuncNV")) != 0 & (glPathColorGenNV = GLContext.getFunctionAddress("glPathColorGenNV")) != 0 & (glPathTexGenNV = GLContext.getFunctionAddress("glPathTexGenNV")) != 0 & (glPathFogGenNV = GLContext.getFunctionAddress("glPathFogGenNV")) != 0 & (glCoverFillPathNV = GLContext.getFunctionAddress("glCoverFillPathNV")) != 0 & (glCoverStrokePathNV = GLContext.getFunctionAddress("glCoverStrokePathNV")) != 0 & (glCoverFillPathInstancedNV = GLContext.getFunctionAddress("glCoverFillPathInstancedNV")) != 0 & (glCoverStrokePathInstancedNV = GLContext.getFunctionAddress("glCoverStrokePathInstancedNV")) != 0 & (glGetPathParameterivNV = GLContext.getFunctionAddress("glGetPathParameterivNV")) != 0 & (glGetPathParameterfvNV = GLContext.getFunctionAddress("glGetPathParameterfvNV")) != 0 & (glGetPathCommandsNV = GLContext.getFunctionAddress("glGetPathCommandsNV")) != 0 & (glGetPathCoordsNV = GLContext.getFunctionAddress("glGetPathCoordsNV")) != 0 & (glGetPathDashArrayNV = GLContext.getFunctionAddress("glGetPathDashArrayNV")) != 0 & (glGetPathMetricsNV = GLContext.getFunctionAddress("glGetPathMetricsNV")) != 0 & (glGetPathMetricRangeNV = GLContext.getFunctionAddress("glGetPathMetricRangeNV")) != 0 & (glGetPathSpacingNV = GLContext.getFunctionAddress("glGetPathSpacingNV")) != 0 & (glGetPathColorGenivNV = GLContext.getFunctionAddress("glGetPathColorGenivNV")) != 0 & (glGetPathColorGenfvNV = GLContext.getFunctionAddress("glGetPathColorGenfvNV")) != 0 & (glGetPathTexGenivNV = GLContext.getFunctionAddress("glGetPathTexGenivNV")) != 0 & (glGetPathTexGenfvNV = GLContext.getFunctionAddress("glGetPathTexGenfvNV")) != 0 & (glIsPointInFillPathNV = GLContext.getFunctionAddress("glIsPointInFillPathNV")) != 0 & (glIsPointInStrokePathNV = GLContext.getFunctionAddress("glIsPointInStrokePathNV")) != 0 & (glGetPathLengthNV = GLContext.getFunctionAddress("glGetPathLengthNV")) != 0 & (glPointAlongPathNV = GLContext.getFunctionAddress("glPointAlongPathNV")) != 0; } private boolean NV_pixel_data_range_initNativeFunctionAddresses() { return (glPixelDataRangeNV = GLContext.getFunctionAddress("glPixelDataRangeNV")) != 0 & (glFlushPixelDataRangeNV = GLContext.getFunctionAddress("glFlushPixelDataRangeNV")) != 0; } private boolean NV_point_sprite_initNativeFunctionAddresses() { return (glPointParameteriNV = GLContext.getFunctionAddress("glPointParameteriNV")) != 0 & (glPointParameterivNV = GLContext.getFunctionAddress("glPointParameterivNV")) != 0; } private boolean NV_present_video_initNativeFunctionAddresses() { return (glPresentFrameKeyedNV = GLContext.getFunctionAddress("glPresentFrameKeyedNV")) != 0 & (glPresentFrameDualFillNV = GLContext.getFunctionAddress("glPresentFrameDualFillNV")) != 0 & (glGetVideoivNV = GLContext.getFunctionAddress("glGetVideoivNV")) != 0 & (glGetVideouivNV = GLContext.getFunctionAddress("glGetVideouivNV")) != 0 & (glGetVideoi64vNV = GLContext.getFunctionAddress("glGetVideoi64vNV")) != 0 & (glGetVideoui64vNV = GLContext.getFunctionAddress("glGetVideoui64vNV")) != 0; } private boolean NV_primitive_restart_initNativeFunctionAddresses() { return (glPrimitiveRestartNV = GLContext.getFunctionAddress("glPrimitiveRestartNV")) != 0 & (glPrimitiveRestartIndexNV = GLContext.getFunctionAddress("glPrimitiveRestartIndexNV")) != 0; } private boolean NV_program_initNativeFunctionAddresses() { return (glLoadProgramNV = GLContext.getFunctionAddress("glLoadProgramNV")) != 0 & (glBindProgramNV = GLContext.getFunctionAddress("glBindProgramNV")) != 0 & (glDeleteProgramsNV = GLContext.getFunctionAddress("glDeleteProgramsNV")) != 0 & (glGenProgramsNV = GLContext.getFunctionAddress("glGenProgramsNV")) != 0 & (glGetProgramivNV = GLContext.getFunctionAddress("glGetProgramivNV")) != 0 & (glGetProgramStringNV = GLContext.getFunctionAddress("glGetProgramStringNV")) != 0 & (glIsProgramNV = GLContext.getFunctionAddress("glIsProgramNV")) != 0 & (glAreProgramsResidentNV = GLContext.getFunctionAddress("glAreProgramsResidentNV")) != 0 & (glRequestResidentProgramsNV = GLContext.getFunctionAddress("glRequestResidentProgramsNV")) != 0; } private boolean NV_register_combiners_initNativeFunctionAddresses() { return (glCombinerParameterfNV = GLContext.getFunctionAddress("glCombinerParameterfNV")) != 0 & (glCombinerParameterfvNV = GLContext.getFunctionAddress("glCombinerParameterfvNV")) != 0 & (glCombinerParameteriNV = GLContext.getFunctionAddress("glCombinerParameteriNV")) != 0 & (glCombinerParameterivNV = GLContext.getFunctionAddress("glCombinerParameterivNV")) != 0 & (glCombinerInputNV = GLContext.getFunctionAddress("glCombinerInputNV")) != 0 & (glCombinerOutputNV = GLContext.getFunctionAddress("glCombinerOutputNV")) != 0 & (glFinalCombinerInputNV = GLContext.getFunctionAddress("glFinalCombinerInputNV")) != 0 & (glGetCombinerInputParameterfvNV = GLContext.getFunctionAddress("glGetCombinerInputParameterfvNV")) != 0 & (glGetCombinerInputParameterivNV = GLContext.getFunctionAddress("glGetCombinerInputParameterivNV")) != 0 & (glGetCombinerOutputParameterfvNV = GLContext.getFunctionAddress("glGetCombinerOutputParameterfvNV")) != 0 & (glGetCombinerOutputParameterivNV = GLContext.getFunctionAddress("glGetCombinerOutputParameterivNV")) != 0 & (glGetFinalCombinerInputParameterfvNV = GLContext.getFunctionAddress("glGetFinalCombinerInputParameterfvNV")) != 0 & (glGetFinalCombinerInputParameterivNV = GLContext.getFunctionAddress("glGetFinalCombinerInputParameterivNV")) != 0; } private boolean NV_register_combiners2_initNativeFunctionAddresses() { return (glCombinerStageParameterfvNV = GLContext.getFunctionAddress("glCombinerStageParameterfvNV")) != 0 & (glGetCombinerStageParameterfvNV = GLContext.getFunctionAddress("glGetCombinerStageParameterfvNV")) != 0; } private boolean NV_shader_buffer_load_initNativeFunctionAddresses() { return (glMakeBufferResidentNV = GLContext.getFunctionAddress("glMakeBufferResidentNV")) != 0 & (glMakeBufferNonResidentNV = GLContext.getFunctionAddress("glMakeBufferNonResidentNV")) != 0 & (glIsBufferResidentNV = GLContext.getFunctionAddress("glIsBufferResidentNV")) != 0 & (glMakeNamedBufferResidentNV = GLContext.getFunctionAddress("glMakeNamedBufferResidentNV")) != 0 & (glMakeNamedBufferNonResidentNV = GLContext.getFunctionAddress("glMakeNamedBufferNonResidentNV")) != 0 & (glIsNamedBufferResidentNV = GLContext.getFunctionAddress("glIsNamedBufferResidentNV")) != 0 & (glGetBufferParameterui64vNV = GLContext.getFunctionAddress("glGetBufferParameterui64vNV")) != 0 & (glGetNamedBufferParameterui64vNV = GLContext.getFunctionAddress("glGetNamedBufferParameterui64vNV")) != 0 & (glGetIntegerui64vNV = GLContext.getFunctionAddress("glGetIntegerui64vNV")) != 0 & (glUniformui64NV = GLContext.getFunctionAddress("glUniformui64NV")) != 0 & (glUniformui64vNV = GLContext.getFunctionAddress("glUniformui64vNV")) != 0 & (glGetUniformui64vNV = GLContext.getFunctionAddress("glGetUniformui64vNV")) != 0 & (glProgramUniformui64NV = GLContext.getFunctionAddress("glProgramUniformui64NV")) != 0 & (glProgramUniformui64vNV = GLContext.getFunctionAddress("glProgramUniformui64vNV")) != 0; } private boolean NV_texture_barrier_initNativeFunctionAddresses() { return (glTextureBarrierNV = GLContext.getFunctionAddress("glTextureBarrierNV")) != 0; } private boolean NV_texture_multisample_initNativeFunctionAddresses() { return (glTexImage2DMultisampleCoverageNV = GLContext.getFunctionAddress("glTexImage2DMultisampleCoverageNV")) != 0 & (glTexImage3DMultisampleCoverageNV = GLContext.getFunctionAddress("glTexImage3DMultisampleCoverageNV")) != 0 & (glTextureImage2DMultisampleNV = GLContext.getFunctionAddress("glTextureImage2DMultisampleNV")) != 0 & (glTextureImage3DMultisampleNV = GLContext.getFunctionAddress("glTextureImage3DMultisampleNV")) != 0 & (glTextureImage2DMultisampleCoverageNV = GLContext.getFunctionAddress("glTextureImage2DMultisampleCoverageNV")) != 0 & (glTextureImage3DMultisampleCoverageNV = GLContext.getFunctionAddress("glTextureImage3DMultisampleCoverageNV")) != 0; } private boolean NV_transform_feedback_initNativeFunctionAddresses() { return (glBindBufferRangeNV = GLContext.getFunctionAddress("glBindBufferRangeNV")) != 0 & (glBindBufferOffsetNV = GLContext.getFunctionAddress("glBindBufferOffsetNV")) != 0 & (glBindBufferBaseNV = GLContext.getFunctionAddress("glBindBufferBaseNV")) != 0 & (glTransformFeedbackAttribsNV = GLContext.getFunctionAddress("glTransformFeedbackAttribsNV")) != 0 & (glTransformFeedbackVaryingsNV = GLContext.getFunctionAddress("glTransformFeedbackVaryingsNV")) != 0 & (glBeginTransformFeedbackNV = GLContext.getFunctionAddress("glBeginTransformFeedbackNV")) != 0 & (glEndTransformFeedbackNV = GLContext.getFunctionAddress("glEndTransformFeedbackNV")) != 0 & (glGetVaryingLocationNV = GLContext.getFunctionAddress("glGetVaryingLocationNV")) != 0 & (glGetActiveVaryingNV = GLContext.getFunctionAddress("glGetActiveVaryingNV")) != 0 & (glActiveVaryingNV = GLContext.getFunctionAddress("glActiveVaryingNV")) != 0 & (glGetTransformFeedbackVaryingNV = GLContext.getFunctionAddress("glGetTransformFeedbackVaryingNV")) != 0; } private boolean NV_transform_feedback2_initNativeFunctionAddresses() { return (glBindTransformFeedbackNV = GLContext.getFunctionAddress("glBindTransformFeedbackNV")) != 0 & (glDeleteTransformFeedbacksNV = GLContext.getFunctionAddress("glDeleteTransformFeedbacksNV")) != 0 & (glGenTransformFeedbacksNV = GLContext.getFunctionAddress("glGenTransformFeedbacksNV")) != 0 & (glIsTransformFeedbackNV = GLContext.getFunctionAddress("glIsTransformFeedbackNV")) != 0 & (glPauseTransformFeedbackNV = GLContext.getFunctionAddress("glPauseTransformFeedbackNV")) != 0 & (glResumeTransformFeedbackNV = GLContext.getFunctionAddress("glResumeTransformFeedbackNV")) != 0 & (glDrawTransformFeedbackNV = GLContext.getFunctionAddress("glDrawTransformFeedbackNV")) != 0; } private boolean NV_vertex_array_range_initNativeFunctionAddresses() { return (glVertexArrayRangeNV = GLContext.getFunctionAddress("glVertexArrayRangeNV")) != 0 & (glFlushVertexArrayRangeNV = GLContext.getFunctionAddress("glFlushVertexArrayRangeNV")) != 0 & (glAllocateMemoryNV = GLContext.getPlatformSpecificFunctionAddress("gl", new String[]{"Windows", "Linux"}, new String[]{"wgl", "glX"}, "glAllocateMemoryNV")) != 0 & (glFreeMemoryNV = GLContext.getPlatformSpecificFunctionAddress("gl", new String[]{"Windows", "Linux"}, new String[]{"wgl", "glX"}, "glFreeMemoryNV")) != 0; } private boolean NV_vertex_attrib_integer_64bit_initNativeFunctionAddresses(Set<String> supported_extensions) { return (glVertexAttribL1i64NV = GLContext.getFunctionAddress("glVertexAttribL1i64NV")) != 0 & (glVertexAttribL2i64NV = GLContext.getFunctionAddress("glVertexAttribL2i64NV")) != 0 & (glVertexAttribL3i64NV = GLContext.getFunctionAddress("glVertexAttribL3i64NV")) != 0 & (glVertexAttribL4i64NV = GLContext.getFunctionAddress("glVertexAttribL4i64NV")) != 0 & (glVertexAttribL1i64vNV = GLContext.getFunctionAddress("glVertexAttribL1i64vNV")) != 0 & (glVertexAttribL2i64vNV = GLContext.getFunctionAddress("glVertexAttribL2i64vNV")) != 0 & (glVertexAttribL3i64vNV = GLContext.getFunctionAddress("glVertexAttribL3i64vNV")) != 0 & (glVertexAttribL4i64vNV = GLContext.getFunctionAddress("glVertexAttribL4i64vNV")) != 0 & (glVertexAttribL1ui64NV = GLContext.getFunctionAddress("glVertexAttribL1ui64NV")) != 0 & (glVertexAttribL2ui64NV = GLContext.getFunctionAddress("glVertexAttribL2ui64NV")) != 0 & (glVertexAttribL3ui64NV = GLContext.getFunctionAddress("glVertexAttribL3ui64NV")) != 0 & (glVertexAttribL4ui64NV = GLContext.getFunctionAddress("glVertexAttribL4ui64NV")) != 0 & (glVertexAttribL1ui64vNV = GLContext.getFunctionAddress("glVertexAttribL1ui64vNV")) != 0 & (glVertexAttribL2ui64vNV = GLContext.getFunctionAddress("glVertexAttribL2ui64vNV")) != 0 & (glVertexAttribL3ui64vNV = GLContext.getFunctionAddress("glVertexAttribL3ui64vNV")) != 0 & (glVertexAttribL4ui64vNV = GLContext.getFunctionAddress("glVertexAttribL4ui64vNV")) != 0 & (glGetVertexAttribLi64vNV = GLContext.getFunctionAddress("glGetVertexAttribLi64vNV")) != 0 & (glGetVertexAttribLui64vNV = GLContext.getFunctionAddress("glGetVertexAttribLui64vNV")) != 0 & (!supported_extensions.contains("NV_vertex_buffer_unified_memory") || (glVertexAttribLFormatNV = GLContext.getFunctionAddress("glVertexAttribLFormatNV")) != 0); } private boolean NV_vertex_buffer_unified_memory_initNativeFunctionAddresses() { return (glBufferAddressRangeNV = GLContext.getFunctionAddress("glBufferAddressRangeNV")) != 0 & (glVertexFormatNV = GLContext.getFunctionAddress("glVertexFormatNV")) != 0 & (glNormalFormatNV = GLContext.getFunctionAddress("glNormalFormatNV")) != 0 & (glColorFormatNV = GLContext.getFunctionAddress("glColorFormatNV")) != 0 & (glIndexFormatNV = GLContext.getFunctionAddress("glIndexFormatNV")) != 0 & (glTexCoordFormatNV = GLContext.getFunctionAddress("glTexCoordFormatNV")) != 0 & (glEdgeFlagFormatNV = GLContext.getFunctionAddress("glEdgeFlagFormatNV")) != 0 & (glSecondaryColorFormatNV = GLContext.getFunctionAddress("glSecondaryColorFormatNV")) != 0 & (glFogCoordFormatNV = GLContext.getFunctionAddress("glFogCoordFormatNV")) != 0 & (glVertexAttribFormatNV = GLContext.getFunctionAddress("glVertexAttribFormatNV")) != 0 & (glVertexAttribIFormatNV = GLContext.getFunctionAddress("glVertexAttribIFormatNV")) != 0 & (glGetIntegerui64i_vNV = GLContext.getFunctionAddress("glGetIntegerui64i_vNV")) != 0; } private boolean NV_vertex_program_initNativeFunctionAddresses() { return (glExecuteProgramNV = GLContext.getFunctionAddress("glExecuteProgramNV")) != 0 & (glGetProgramParameterfvNV = GLContext.getFunctionAddress("glGetProgramParameterfvNV")) != 0 & (glGetProgramParameterdvNV = GLContext.getFunctionAddress("glGetProgramParameterdvNV")) != 0 & (glGetTrackMatrixivNV = GLContext.getFunctionAddress("glGetTrackMatrixivNV")) != 0 & (glGetVertexAttribfvNV = GLContext.getFunctionAddress("glGetVertexAttribfvNV")) != 0 & (glGetVertexAttribdvNV = GLContext.getFunctionAddress("glGetVertexAttribdvNV")) != 0 & (glGetVertexAttribivNV = GLContext.getFunctionAddress("glGetVertexAttribivNV")) != 0 & (glGetVertexAttribPointervNV = GLContext.getFunctionAddress("glGetVertexAttribPointervNV")) != 0 & (glProgramParameter4fNV = GLContext.getFunctionAddress("glProgramParameter4fNV")) != 0 & (glProgramParameter4dNV = GLContext.getFunctionAddress("glProgramParameter4dNV")) != 0 & (glProgramParameters4fvNV = GLContext.getFunctionAddress("glProgramParameters4fvNV")) != 0 & (glProgramParameters4dvNV = GLContext.getFunctionAddress("glProgramParameters4dvNV")) != 0 & (glTrackMatrixNV = GLContext.getFunctionAddress("glTrackMatrixNV")) != 0 & (glVertexAttribPointerNV = GLContext.getFunctionAddress("glVertexAttribPointerNV")) != 0 & (glVertexAttrib1sNV = GLContext.getFunctionAddress("glVertexAttrib1sNV")) != 0 & (glVertexAttrib1fNV = GLContext.getFunctionAddress("glVertexAttrib1fNV")) != 0 & (glVertexAttrib1dNV = GLContext.getFunctionAddress("glVertexAttrib1dNV")) != 0 & (glVertexAttrib2sNV = GLContext.getFunctionAddress("glVertexAttrib2sNV")) != 0 & (glVertexAttrib2fNV = GLContext.getFunctionAddress("glVertexAttrib2fNV")) != 0 & (glVertexAttrib2dNV = GLContext.getFunctionAddress("glVertexAttrib2dNV")) != 0 & (glVertexAttrib3sNV = GLContext.getFunctionAddress("glVertexAttrib3sNV")) != 0 & (glVertexAttrib3fNV = GLContext.getFunctionAddress("glVertexAttrib3fNV")) != 0 & (glVertexAttrib3dNV = GLContext.getFunctionAddress("glVertexAttrib3dNV")) != 0 & (glVertexAttrib4sNV = GLContext.getFunctionAddress("glVertexAttrib4sNV")) != 0 & (glVertexAttrib4fNV = GLContext.getFunctionAddress("glVertexAttrib4fNV")) != 0 & (glVertexAttrib4dNV = GLContext.getFunctionAddress("glVertexAttrib4dNV")) != 0 & (glVertexAttrib4ubNV = GLContext.getFunctionAddress("glVertexAttrib4ubNV")) != 0 & (glVertexAttribs1svNV = GLContext.getFunctionAddress("glVertexAttribs1svNV")) != 0 & (glVertexAttribs1fvNV = GLContext.getFunctionAddress("glVertexAttribs1fvNV")) != 0 & (glVertexAttribs1dvNV = GLContext.getFunctionAddress("glVertexAttribs1dvNV")) != 0 & (glVertexAttribs2svNV = GLContext.getFunctionAddress("glVertexAttribs2svNV")) != 0 & (glVertexAttribs2fvNV = GLContext.getFunctionAddress("glVertexAttribs2fvNV")) != 0 & (glVertexAttribs2dvNV = GLContext.getFunctionAddress("glVertexAttribs2dvNV")) != 0 & (glVertexAttribs3svNV = GLContext.getFunctionAddress("glVertexAttribs3svNV")) != 0 & (glVertexAttribs3fvNV = GLContext.getFunctionAddress("glVertexAttribs3fvNV")) != 0 & (glVertexAttribs3dvNV = GLContext.getFunctionAddress("glVertexAttribs3dvNV")) != 0 & (glVertexAttribs4svNV = GLContext.getFunctionAddress("glVertexAttribs4svNV")) != 0 & (glVertexAttribs4fvNV = GLContext.getFunctionAddress("glVertexAttribs4fvNV")) != 0 & (glVertexAttribs4dvNV = GLContext.getFunctionAddress("glVertexAttribs4dvNV")) != 0; } private boolean NV_video_capture_initNativeFunctionAddresses() { return (glBeginVideoCaptureNV = GLContext.getFunctionAddress("glBeginVideoCaptureNV")) != 0 & (glBindVideoCaptureStreamBufferNV = GLContext.getFunctionAddress("glBindVideoCaptureStreamBufferNV")) != 0 & (glBindVideoCaptureStreamTextureNV = GLContext.getFunctionAddress("glBindVideoCaptureStreamTextureNV")) != 0 & (glEndVideoCaptureNV = GLContext.getFunctionAddress("glEndVideoCaptureNV")) != 0 & (glGetVideoCaptureivNV = GLContext.getFunctionAddress("glGetVideoCaptureivNV")) != 0 & (glGetVideoCaptureStreamivNV = GLContext.getFunctionAddress("glGetVideoCaptureStreamivNV")) != 0 & (glGetVideoCaptureStreamfvNV = GLContext.getFunctionAddress("glGetVideoCaptureStreamfvNV")) != 0 & (glGetVideoCaptureStreamdvNV = GLContext.getFunctionAddress("glGetVideoCaptureStreamdvNV")) != 0 & (glVideoCaptureNV = GLContext.getFunctionAddress("glVideoCaptureNV")) != 0 & (glVideoCaptureStreamParameterivNV = GLContext.getFunctionAddress("glVideoCaptureStreamParameterivNV")) != 0 & (glVideoCaptureStreamParameterfvNV = GLContext.getFunctionAddress("glVideoCaptureStreamParameterfvNV")) != 0 & (glVideoCaptureStreamParameterdvNV = GLContext.getFunctionAddress("glVideoCaptureStreamParameterdvNV")) != 0; } private static void remove(Set supported_extensions, String extension) { LWJGLUtil.log(extension + " was reported as available but an entry point is missing"); supported_extensions.remove(extension); } private Set<String> initAllStubs(boolean forwardCompatible) throws LWJGLException { glGetError = GLContext.getFunctionAddress("glGetError"); glGetString = GLContext.getFunctionAddress("glGetString"); glGetIntegerv = GLContext.getFunctionAddress("glGetIntegerv"); glGetStringi = GLContext.getFunctionAddress("glGetStringi"); GLContext.setCapabilities(this); Set<String> supported_extensions = new HashSet<String>(256); int profileMask = GLContext.getSupportedExtensions(supported_extensions); if ( supported_extensions.contains("OpenGL31") && !(supported_extensions.contains("GL_ARB_compatibility") || (profileMask & GL32.GL_CONTEXT_COMPATIBILITY_PROFILE_BIT) != 0) ) forwardCompatible = true; if (!GL11_initNativeFunctionAddresses(forwardCompatible)) throw new LWJGLException("GL11 not supported"); if (supported_extensions.contains("GL_ARB_fragment_program")) supported_extensions.add("GL_ARB_program"); if (supported_extensions.contains("GL_ARB_pixel_buffer_object")) supported_extensions.add("GL_ARB_buffer_object"); if (supported_extensions.contains("GL_ARB_vertex_buffer_object")) supported_extensions.add("GL_ARB_buffer_object"); if (supported_extensions.contains("GL_ARB_vertex_program")) supported_extensions.add("GL_ARB_program"); if (supported_extensions.contains("GL_EXT_pixel_buffer_object")) supported_extensions.add("GL_ARB_buffer_object"); if (supported_extensions.contains("GL_NV_fragment_program")) supported_extensions.add("GL_NV_program"); if (supported_extensions.contains("GL_NV_vertex_program")) supported_extensions.add("GL_NV_program"); if ((supported_extensions.contains("GL_AMD_debug_output") || supported_extensions.contains("GL_AMDX_debug_output")) && !AMD_debug_output_initNativeFunctionAddresses()) { remove(supported_extensions, "GL_AMDX_debug_output"); remove(supported_extensions, "GL_AMD_debug_output"); } if (supported_extensions.contains("GL_AMD_draw_buffers_blend") && !AMD_draw_buffers_blend_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_draw_buffers_blend"); if (supported_extensions.contains("GL_AMD_multi_draw_indirect") && !AMD_multi_draw_indirect_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_multi_draw_indirect"); if (supported_extensions.contains("GL_AMD_name_gen_delete") && !AMD_name_gen_delete_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_name_gen_delete"); if (supported_extensions.contains("GL_AMD_performance_monitor") && !AMD_performance_monitor_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_performance_monitor"); if (supported_extensions.contains("GL_AMD_sample_positions") && !AMD_sample_positions_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_sample_positions"); if (supported_extensions.contains("GL_AMD_sparse_texture") && !AMD_sparse_texture_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_sparse_texture"); if (supported_extensions.contains("GL_AMD_stencil_operation_extended") && !AMD_stencil_operation_extended_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_stencil_operation_extended"); if (supported_extensions.contains("GL_AMD_vertex_shader_tessellator") && !AMD_vertex_shader_tessellator_initNativeFunctionAddresses()) remove(supported_extensions, "GL_AMD_vertex_shader_tessellator"); if (supported_extensions.contains("GL_APPLE_element_array") && !APPLE_element_array_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_element_array"); if (supported_extensions.contains("GL_APPLE_fence") && !APPLE_fence_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_fence"); if (supported_extensions.contains("GL_APPLE_flush_buffer_range") && !APPLE_flush_buffer_range_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_flush_buffer_range"); if (supported_extensions.contains("GL_APPLE_object_purgeable") && !APPLE_object_purgeable_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_object_purgeable"); if (supported_extensions.contains("GL_APPLE_texture_range") && !APPLE_texture_range_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_texture_range"); if (supported_extensions.contains("GL_APPLE_vertex_array_object") && !APPLE_vertex_array_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_vertex_array_object"); if (supported_extensions.contains("GL_APPLE_vertex_array_range") && !APPLE_vertex_array_range_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_vertex_array_range"); if (supported_extensions.contains("GL_APPLE_vertex_program_evaluators") && !APPLE_vertex_program_evaluators_initNativeFunctionAddresses()) remove(supported_extensions, "GL_APPLE_vertex_program_evaluators"); if (supported_extensions.contains("GL_ARB_ES2_compatibility") && !ARB_ES2_compatibility_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_ES2_compatibility"); if (supported_extensions.contains("GL_ARB_base_instance") && !ARB_base_instance_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_base_instance"); if (supported_extensions.contains("GL_ARB_blend_func_extended") && !ARB_blend_func_extended_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_blend_func_extended"); if (supported_extensions.contains("GL_ARB_buffer_object") && !ARB_buffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_buffer_object"); if (supported_extensions.contains("GL_ARB_cl_event") && !ARB_cl_event_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_cl_event"); if (supported_extensions.contains("GL_ARB_clear_buffer_object") && !ARB_clear_buffer_object_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_ARB_clear_buffer_object"); if (supported_extensions.contains("GL_ARB_color_buffer_float") && !ARB_color_buffer_float_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_color_buffer_float"); if (supported_extensions.contains("GL_ARB_compute_shader") && !ARB_compute_shader_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_compute_shader"); if (supported_extensions.contains("GL_ARB_copy_buffer") && !ARB_copy_buffer_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_copy_buffer"); if (supported_extensions.contains("GL_ARB_copy_image") && !ARB_copy_image_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_copy_image"); if (supported_extensions.contains("GL_ARB_debug_output") && !ARB_debug_output_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_debug_output"); if (supported_extensions.contains("GL_ARB_draw_buffers") && !ARB_draw_buffers_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_draw_buffers"); if (supported_extensions.contains("GL_ARB_draw_buffers_blend") && !ARB_draw_buffers_blend_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_draw_buffers_blend"); if (supported_extensions.contains("GL_ARB_draw_elements_base_vertex") && !ARB_draw_elements_base_vertex_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_draw_elements_base_vertex"); if (supported_extensions.contains("GL_ARB_draw_indirect") && !ARB_draw_indirect_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_draw_indirect"); if (supported_extensions.contains("GL_ARB_draw_instanced") && !ARB_draw_instanced_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_draw_instanced"); if (supported_extensions.contains("GL_ARB_framebuffer_no_attachments") && !ARB_framebuffer_no_attachments_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_ARB_framebuffer_no_attachments"); if (supported_extensions.contains("GL_ARB_framebuffer_object") && !ARB_framebuffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_framebuffer_object"); if (supported_extensions.contains("GL_ARB_geometry_shader4") && !ARB_geometry_shader4_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_geometry_shader4"); if (supported_extensions.contains("GL_ARB_get_program_binary") && !ARB_get_program_binary_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_get_program_binary"); if (supported_extensions.contains("GL_ARB_gpu_shader_fp64") && !ARB_gpu_shader_fp64_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_ARB_gpu_shader_fp64"); if (supported_extensions.contains("GL_ARB_imaging") && !ARB_imaging_initNativeFunctionAddresses(forwardCompatible)) remove(supported_extensions, "GL_ARB_imaging"); if (supported_extensions.contains("GL_ARB_instanced_arrays") && !ARB_instanced_arrays_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_instanced_arrays"); if (supported_extensions.contains("GL_ARB_internalformat_query") && !ARB_internalformat_query_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_internalformat_query"); if (supported_extensions.contains("GL_ARB_internalformat_query2") && !ARB_internalformat_query2_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_internalformat_query2"); if (supported_extensions.contains("GL_ARB_invalidate_subdata") && !ARB_invalidate_subdata_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_invalidate_subdata"); if (supported_extensions.contains("GL_ARB_map_buffer_range") && !ARB_map_buffer_range_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_map_buffer_range"); if (supported_extensions.contains("GL_ARB_matrix_palette") && !ARB_matrix_palette_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_matrix_palette"); if (supported_extensions.contains("GL_ARB_multi_draw_indirect") && !ARB_multi_draw_indirect_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_multi_draw_indirect"); if (supported_extensions.contains("GL_ARB_multisample") && !ARB_multisample_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_multisample"); if (supported_extensions.contains("GL_ARB_multitexture") && !ARB_multitexture_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_multitexture"); if (supported_extensions.contains("GL_ARB_occlusion_query") && !ARB_occlusion_query_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_occlusion_query"); if (supported_extensions.contains("GL_ARB_point_parameters") && !ARB_point_parameters_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_point_parameters"); if (supported_extensions.contains("GL_ARB_program") && !ARB_program_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_program"); if (supported_extensions.contains("GL_ARB_program_interface_query") && !ARB_program_interface_query_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_program_interface_query"); if (supported_extensions.contains("GL_ARB_provoking_vertex") && !ARB_provoking_vertex_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_provoking_vertex"); if (supported_extensions.contains("GL_ARB_robustness") && !ARB_robustness_initNativeFunctionAddresses(forwardCompatible,supported_extensions)) remove(supported_extensions, "GL_ARB_robustness"); if (supported_extensions.contains("GL_ARB_sample_shading") && !ARB_sample_shading_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_sample_shading"); if (supported_extensions.contains("GL_ARB_sampler_objects") && !ARB_sampler_objects_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_sampler_objects"); if (supported_extensions.contains("GL_ARB_separate_shader_objects") && !ARB_separate_shader_objects_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_separate_shader_objects"); if (supported_extensions.contains("GL_ARB_shader_atomic_counters") && !ARB_shader_atomic_counters_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_shader_atomic_counters"); if (supported_extensions.contains("GL_ARB_shader_image_load_store") && !ARB_shader_image_load_store_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_shader_image_load_store"); if (supported_extensions.contains("GL_ARB_shader_objects") && !ARB_shader_objects_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_shader_objects"); if (supported_extensions.contains("GL_ARB_shader_storage_buffer_object") && !ARB_shader_storage_buffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_shader_storage_buffer_object"); if (supported_extensions.contains("GL_ARB_shader_subroutine") && !ARB_shader_subroutine_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_shader_subroutine"); if (supported_extensions.contains("GL_ARB_shading_language_include") && !ARB_shading_language_include_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_shading_language_include"); if (supported_extensions.contains("GL_ARB_sync") && !ARB_sync_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_sync"); if (supported_extensions.contains("GL_ARB_tessellation_shader") && !ARB_tessellation_shader_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_tessellation_shader"); if (supported_extensions.contains("GL_ARB_texture_buffer_object") && !ARB_texture_buffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_texture_buffer_object"); if (supported_extensions.contains("GL_ARB_texture_buffer_range") && !ARB_texture_buffer_range_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_ARB_texture_buffer_range"); if (supported_extensions.contains("GL_ARB_texture_compression") && !ARB_texture_compression_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_texture_compression"); if (supported_extensions.contains("GL_ARB_texture_multisample") && !ARB_texture_multisample_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_texture_multisample"); if ((supported_extensions.contains("GL_ARB_texture_storage") || supported_extensions.contains("GL_EXT_texture_storage")) && !ARB_texture_storage_initNativeFunctionAddresses(supported_extensions)) { remove(supported_extensions, "GL_EXT_texture_storage"); remove(supported_extensions, "GL_ARB_texture_storage"); } if (supported_extensions.contains("GL_ARB_texture_storage_multisample") && !ARB_texture_storage_multisample_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_ARB_texture_storage_multisample"); if (supported_extensions.contains("GL_ARB_texture_view") && !ARB_texture_view_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_texture_view"); if (supported_extensions.contains("GL_ARB_timer_query") && !ARB_timer_query_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_timer_query"); if (supported_extensions.contains("GL_ARB_transform_feedback2") && !ARB_transform_feedback2_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_transform_feedback2"); if (supported_extensions.contains("GL_ARB_transform_feedback3") && !ARB_transform_feedback3_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_transform_feedback3"); if (supported_extensions.contains("GL_ARB_transform_feedback_instanced") && !ARB_transform_feedback_instanced_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_transform_feedback_instanced"); if (supported_extensions.contains("GL_ARB_transpose_matrix") && !ARB_transpose_matrix_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_transpose_matrix"); if (supported_extensions.contains("GL_ARB_uniform_buffer_object") && !ARB_uniform_buffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_uniform_buffer_object"); if (supported_extensions.contains("GL_ARB_vertex_array_object") && !ARB_vertex_array_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_vertex_array_object"); if (supported_extensions.contains("GL_ARB_vertex_attrib_64bit") && !ARB_vertex_attrib_64bit_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_ARB_vertex_attrib_64bit"); if (supported_extensions.contains("GL_ARB_vertex_attrib_binding") && !ARB_vertex_attrib_binding_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_vertex_attrib_binding"); if (supported_extensions.contains("GL_ARB_vertex_blend") && !ARB_vertex_blend_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_vertex_blend"); if (supported_extensions.contains("GL_ARB_vertex_program") && !ARB_vertex_program_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_vertex_program"); if (supported_extensions.contains("GL_ARB_vertex_shader") && !ARB_vertex_shader_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_vertex_shader"); if (supported_extensions.contains("GL_ARB_vertex_type_2_10_10_10_rev") && !ARB_vertex_type_2_10_10_10_rev_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_vertex_type_2_10_10_10_rev"); if (supported_extensions.contains("GL_ARB_viewport_array") && !ARB_viewport_array_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ARB_viewport_array"); if (supported_extensions.contains("GL_ARB_window_pos") && !ARB_window_pos_initNativeFunctionAddresses(forwardCompatible)) remove(supported_extensions, "GL_ARB_window_pos"); if (supported_extensions.contains("GL_ATI_draw_buffers") && !ATI_draw_buffers_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_draw_buffers"); if (supported_extensions.contains("GL_ATI_element_array") && !ATI_element_array_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_element_array"); if (supported_extensions.contains("GL_ATI_envmap_bumpmap") && !ATI_envmap_bumpmap_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_envmap_bumpmap"); if (supported_extensions.contains("GL_ATI_fragment_shader") && !ATI_fragment_shader_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_fragment_shader"); if (supported_extensions.contains("GL_ATI_map_object_buffer") && !ATI_map_object_buffer_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_map_object_buffer"); if (supported_extensions.contains("GL_ATI_pn_triangles") && !ATI_pn_triangles_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_pn_triangles"); if (supported_extensions.contains("GL_ATI_separate_stencil") && !ATI_separate_stencil_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_separate_stencil"); if (supported_extensions.contains("GL_ATI_vertex_array_object") && !ATI_vertex_array_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_vertex_array_object"); if (supported_extensions.contains("GL_ATI_vertex_attrib_array_object") && !ATI_vertex_attrib_array_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_vertex_attrib_array_object"); if (supported_extensions.contains("GL_ATI_vertex_streams") && !ATI_vertex_streams_initNativeFunctionAddresses()) remove(supported_extensions, "GL_ATI_vertex_streams"); if (supported_extensions.contains("GL_EXT_bindable_uniform") && !EXT_bindable_uniform_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_bindable_uniform"); if (supported_extensions.contains("GL_EXT_blend_color") && !EXT_blend_color_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_blend_color"); if (supported_extensions.contains("GL_EXT_blend_equation_separate") && !EXT_blend_equation_separate_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_blend_equation_separate"); if (supported_extensions.contains("GL_EXT_blend_func_separate") && !EXT_blend_func_separate_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_blend_func_separate"); if (supported_extensions.contains("GL_EXT_blend_minmax") && !EXT_blend_minmax_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_blend_minmax"); if (supported_extensions.contains("GL_EXT_compiled_vertex_array") && !EXT_compiled_vertex_array_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_compiled_vertex_array"); if (supported_extensions.contains("GL_EXT_depth_bounds_test") && !EXT_depth_bounds_test_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_depth_bounds_test"); supported_extensions.add("GL_EXT_direct_state_access"); if (supported_extensions.contains("GL_EXT_direct_state_access") && !EXT_direct_state_access_initNativeFunctionAddresses(forwardCompatible,supported_extensions)) remove(supported_extensions, "GL_EXT_direct_state_access"); if (supported_extensions.contains("GL_EXT_draw_buffers2") && !EXT_draw_buffers2_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_draw_buffers2"); if (supported_extensions.contains("GL_EXT_draw_instanced") && !EXT_draw_instanced_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_draw_instanced"); if (supported_extensions.contains("GL_EXT_draw_range_elements") && !EXT_draw_range_elements_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_draw_range_elements"); if (supported_extensions.contains("GL_EXT_fog_coord") && !EXT_fog_coord_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_fog_coord"); if (supported_extensions.contains("GL_EXT_framebuffer_blit") && !EXT_framebuffer_blit_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_framebuffer_blit"); if (supported_extensions.contains("GL_EXT_framebuffer_multisample") && !EXT_framebuffer_multisample_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_framebuffer_multisample"); if (supported_extensions.contains("GL_EXT_framebuffer_object") && !EXT_framebuffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_framebuffer_object"); if (supported_extensions.contains("GL_EXT_geometry_shader4") && !EXT_geometry_shader4_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_geometry_shader4"); if (supported_extensions.contains("GL_EXT_gpu_program_parameters") && !EXT_gpu_program_parameters_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_gpu_program_parameters"); if (supported_extensions.contains("GL_EXT_gpu_shader4") && !EXT_gpu_shader4_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_gpu_shader4"); if (supported_extensions.contains("GL_EXT_multi_draw_arrays") && !EXT_multi_draw_arrays_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_multi_draw_arrays"); if (supported_extensions.contains("GL_EXT_paletted_texture") && !EXT_paletted_texture_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_paletted_texture"); if (supported_extensions.contains("GL_EXT_point_parameters") && !EXT_point_parameters_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_point_parameters"); if (supported_extensions.contains("GL_EXT_provoking_vertex") && !EXT_provoking_vertex_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_provoking_vertex"); if (supported_extensions.contains("GL_EXT_secondary_color") && !EXT_secondary_color_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_secondary_color"); if (supported_extensions.contains("GL_EXT_separate_shader_objects") && !EXT_separate_shader_objects_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_separate_shader_objects"); if (supported_extensions.contains("GL_EXT_shader_image_load_store") && !EXT_shader_image_load_store_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_shader_image_load_store"); if (supported_extensions.contains("GL_EXT_stencil_clear_tag") && !EXT_stencil_clear_tag_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_stencil_clear_tag"); if (supported_extensions.contains("GL_EXT_stencil_two_side") && !EXT_stencil_two_side_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_stencil_two_side"); if (supported_extensions.contains("GL_EXT_texture_array") && !EXT_texture_array_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_texture_array"); if (supported_extensions.contains("GL_EXT_texture_buffer_object") && !EXT_texture_buffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_texture_buffer_object"); if (supported_extensions.contains("GL_EXT_texture_integer") && !EXT_texture_integer_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_texture_integer"); if (supported_extensions.contains("GL_EXT_timer_query") && !EXT_timer_query_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_timer_query"); if (supported_extensions.contains("GL_EXT_transform_feedback") && !EXT_transform_feedback_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_transform_feedback"); if (supported_extensions.contains("GL_EXT_vertex_attrib_64bit") && !EXT_vertex_attrib_64bit_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_EXT_vertex_attrib_64bit"); if (supported_extensions.contains("GL_EXT_vertex_shader") && !EXT_vertex_shader_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_vertex_shader"); if (supported_extensions.contains("GL_EXT_vertex_weighting") && !EXT_vertex_weighting_initNativeFunctionAddresses()) remove(supported_extensions, "GL_EXT_vertex_weighting"); if (supported_extensions.contains("OpenGL12") && !GL12_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL12"); if (supported_extensions.contains("OpenGL13") && !GL13_initNativeFunctionAddresses(forwardCompatible)) remove(supported_extensions, "OpenGL13"); if (supported_extensions.contains("OpenGL14") && !GL14_initNativeFunctionAddresses(forwardCompatible)) remove(supported_extensions, "OpenGL14"); if (supported_extensions.contains("OpenGL15") && !GL15_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL15"); if (supported_extensions.contains("OpenGL20") && !GL20_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL20"); if (supported_extensions.contains("OpenGL21") && !GL21_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL21"); if (supported_extensions.contains("OpenGL30") && !GL30_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL30"); if (supported_extensions.contains("OpenGL31") && !GL31_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL31"); if (supported_extensions.contains("OpenGL32") && !GL32_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL32"); if (supported_extensions.contains("OpenGL33") && !GL33_initNativeFunctionAddresses(forwardCompatible)) remove(supported_extensions, "OpenGL33"); if (supported_extensions.contains("OpenGL40") && !GL40_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL40"); if (supported_extensions.contains("OpenGL41") && !GL41_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL41"); if (supported_extensions.contains("OpenGL42") && !GL42_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL42"); if (supported_extensions.contains("OpenGL43") && !GL43_initNativeFunctionAddresses()) remove(supported_extensions, "OpenGL43"); if (supported_extensions.contains("GL_GREMEDY_string_marker") && !GREMEDY_string_marker_initNativeFunctionAddresses()) remove(supported_extensions, "GL_GREMEDY_string_marker"); if (supported_extensions.contains("GL_INTEL_map_texture") && !INTEL_map_texture_initNativeFunctionAddresses()) remove(supported_extensions, "GL_INTEL_map_texture"); if (supported_extensions.contains("GL_KHR_debug") && !KHR_debug_initNativeFunctionAddresses()) remove(supported_extensions, "GL_KHR_debug"); if (supported_extensions.contains("GL_NV_bindless_texture") && !NV_bindless_texture_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_bindless_texture"); if (supported_extensions.contains("GL_NV_conditional_render") && !NV_conditional_render_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_conditional_render"); if (supported_extensions.contains("GL_NV_copy_image") && !NV_copy_image_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_copy_image"); if (supported_extensions.contains("GL_NV_depth_buffer_float") && !NV_depth_buffer_float_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_depth_buffer_float"); if (supported_extensions.contains("GL_NV_draw_texture") && !NV_draw_texture_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_draw_texture"); if (supported_extensions.contains("GL_NV_evaluators") && !NV_evaluators_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_evaluators"); if (supported_extensions.contains("GL_NV_explicit_multisample") && !NV_explicit_multisample_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_explicit_multisample"); if (supported_extensions.contains("GL_NV_fence") && !NV_fence_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_fence"); if (supported_extensions.contains("GL_NV_fragment_program") && !NV_fragment_program_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_fragment_program"); if (supported_extensions.contains("GL_NV_framebuffer_multisample_coverage") && !NV_framebuffer_multisample_coverage_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_framebuffer_multisample_coverage"); if (supported_extensions.contains("GL_NV_geometry_program4") && !NV_geometry_program4_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_geometry_program4"); if (supported_extensions.contains("GL_NV_gpu_program4") && !NV_gpu_program4_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_gpu_program4"); if (supported_extensions.contains("GL_NV_gpu_shader5") && !NV_gpu_shader5_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_NV_gpu_shader5"); if (supported_extensions.contains("GL_NV_half_float") && !NV_half_float_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_half_float"); if (supported_extensions.contains("GL_NV_occlusion_query") && !NV_occlusion_query_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_occlusion_query"); if (supported_extensions.contains("GL_NV_parameter_buffer_object") && !NV_parameter_buffer_object_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_parameter_buffer_object"); if (supported_extensions.contains("GL_NV_path_rendering") && !NV_path_rendering_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_path_rendering"); if (supported_extensions.contains("GL_NV_pixel_data_range") && !NV_pixel_data_range_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_pixel_data_range"); if (supported_extensions.contains("GL_NV_point_sprite") && !NV_point_sprite_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_point_sprite"); if (supported_extensions.contains("GL_NV_present_video") && !NV_present_video_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_present_video"); supported_extensions.add("GL_NV_primitive_restart"); if (supported_extensions.contains("GL_NV_primitive_restart") && !NV_primitive_restart_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_primitive_restart"); if (supported_extensions.contains("GL_NV_program") && !NV_program_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_program"); if (supported_extensions.contains("GL_NV_register_combiners") && !NV_register_combiners_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_register_combiners"); if (supported_extensions.contains("GL_NV_register_combiners2") && !NV_register_combiners2_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_register_combiners2"); if (supported_extensions.contains("GL_NV_shader_buffer_load") && !NV_shader_buffer_load_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_shader_buffer_load"); if (supported_extensions.contains("GL_NV_texture_barrier") && !NV_texture_barrier_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_texture_barrier"); if (supported_extensions.contains("GL_NV_texture_multisample") && !NV_texture_multisample_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_texture_multisample"); if (supported_extensions.contains("GL_NV_transform_feedback") && !NV_transform_feedback_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_transform_feedback"); if (supported_extensions.contains("GL_NV_transform_feedback2") && !NV_transform_feedback2_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_transform_feedback2"); if (supported_extensions.contains("GL_NV_vertex_array_range") && !NV_vertex_array_range_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_vertex_array_range"); if (supported_extensions.contains("GL_NV_vertex_attrib_integer_64bit") && !NV_vertex_attrib_integer_64bit_initNativeFunctionAddresses(supported_extensions)) remove(supported_extensions, "GL_NV_vertex_attrib_integer_64bit"); if (supported_extensions.contains("GL_NV_vertex_buffer_unified_memory") && !NV_vertex_buffer_unified_memory_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_vertex_buffer_unified_memory"); if (supported_extensions.contains("GL_NV_vertex_program") && !NV_vertex_program_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_vertex_program"); if (supported_extensions.contains("GL_NV_video_capture") && !NV_video_capture_initNativeFunctionAddresses()) remove(supported_extensions, "GL_NV_video_capture"); return supported_extensions; } static void unloadAllStubs() { } ContextCapabilities(boolean forwardCompatible) throws LWJGLException { Set<String> supported_extensions = initAllStubs(forwardCompatible); this.GL_AMD_blend_minmax_factor = supported_extensions.contains("GL_AMD_blend_minmax_factor"); this.GL_AMD_conservative_depth = supported_extensions.contains("GL_AMD_conservative_depth"); this.GL_AMD_debug_output = supported_extensions.contains("GL_AMD_debug_output") || supported_extensions.contains("GL_AMDX_debug_output"); this.GL_AMD_depth_clamp_separate = supported_extensions.contains("GL_AMD_depth_clamp_separate"); this.GL_AMD_draw_buffers_blend = supported_extensions.contains("GL_AMD_draw_buffers_blend"); this.GL_AMD_multi_draw_indirect = supported_extensions.contains("GL_AMD_multi_draw_indirect"); this.GL_AMD_name_gen_delete = supported_extensions.contains("GL_AMD_name_gen_delete"); this.GL_AMD_performance_monitor = supported_extensions.contains("GL_AMD_performance_monitor"); this.GL_AMD_pinned_memory = supported_extensions.contains("GL_AMD_pinned_memory"); this.GL_AMD_query_buffer_object = supported_extensions.contains("GL_AMD_query_buffer_object"); this.GL_AMD_sample_positions = supported_extensions.contains("GL_AMD_sample_positions"); this.GL_AMD_seamless_cubemap_per_texture = supported_extensions.contains("GL_AMD_seamless_cubemap_per_texture"); this.GL_AMD_shader_stencil_export = supported_extensions.contains("GL_AMD_shader_stencil_export"); this.GL_AMD_shader_trinary_minmax = supported_extensions.contains("GL_AMD_shader_trinary_minmax"); this.GL_AMD_sparse_texture = supported_extensions.contains("GL_AMD_sparse_texture"); this.GL_AMD_stencil_operation_extended = supported_extensions.contains("GL_AMD_stencil_operation_extended"); this.GL_AMD_texture_texture4 = supported_extensions.contains("GL_AMD_texture_texture4"); this.GL_AMD_transform_feedback3_lines_triangles = supported_extensions.contains("GL_AMD_transform_feedback3_lines_triangles"); this.GL_AMD_vertex_shader_layer = supported_extensions.contains("GL_AMD_vertex_shader_layer"); this.GL_AMD_vertex_shader_tessellator = supported_extensions.contains("GL_AMD_vertex_shader_tessellator"); this.GL_AMD_vertex_shader_viewport_index = supported_extensions.contains("GL_AMD_vertex_shader_viewport_index"); this.GL_APPLE_aux_depth_stencil = supported_extensions.contains("GL_APPLE_aux_depth_stencil"); this.GL_APPLE_client_storage = supported_extensions.contains("GL_APPLE_client_storage"); this.GL_APPLE_element_array = supported_extensions.contains("GL_APPLE_element_array"); this.GL_APPLE_fence = supported_extensions.contains("GL_APPLE_fence"); this.GL_APPLE_float_pixels = supported_extensions.contains("GL_APPLE_float_pixels"); this.GL_APPLE_flush_buffer_range = supported_extensions.contains("GL_APPLE_flush_buffer_range"); this.GL_APPLE_object_purgeable = supported_extensions.contains("GL_APPLE_object_purgeable"); this.GL_APPLE_packed_pixels = supported_extensions.contains("GL_APPLE_packed_pixels"); this.GL_APPLE_rgb_422 = supported_extensions.contains("GL_APPLE_rgb_422"); this.GL_APPLE_row_bytes = supported_extensions.contains("GL_APPLE_row_bytes"); this.GL_APPLE_texture_range = supported_extensions.contains("GL_APPLE_texture_range"); this.GL_APPLE_vertex_array_object = supported_extensions.contains("GL_APPLE_vertex_array_object"); this.GL_APPLE_vertex_array_range = supported_extensions.contains("GL_APPLE_vertex_array_range"); this.GL_APPLE_vertex_program_evaluators = supported_extensions.contains("GL_APPLE_vertex_program_evaluators"); this.GL_APPLE_ycbcr_422 = supported_extensions.contains("GL_APPLE_ycbcr_422"); this.GL_ARB_ES2_compatibility = supported_extensions.contains("GL_ARB_ES2_compatibility"); this.GL_ARB_ES3_compatibility = supported_extensions.contains("GL_ARB_ES3_compatibility"); this.GL_ARB_arrays_of_arrays = supported_extensions.contains("GL_ARB_arrays_of_arrays"); this.GL_ARB_base_instance = supported_extensions.contains("GL_ARB_base_instance"); this.GL_ARB_blend_func_extended = supported_extensions.contains("GL_ARB_blend_func_extended"); this.GL_ARB_cl_event = supported_extensions.contains("GL_ARB_cl_event"); this.GL_ARB_clear_buffer_object = supported_extensions.contains("GL_ARB_clear_buffer_object"); this.GL_ARB_color_buffer_float = supported_extensions.contains("GL_ARB_color_buffer_float"); this.GL_ARB_compatibility = supported_extensions.contains("GL_ARB_compatibility"); this.GL_ARB_compressed_texture_pixel_storage = supported_extensions.contains("GL_ARB_compressed_texture_pixel_storage"); this.GL_ARB_compute_shader = supported_extensions.contains("GL_ARB_compute_shader"); this.GL_ARB_conservative_depth = supported_extensions.contains("GL_ARB_conservative_depth"); this.GL_ARB_copy_buffer = supported_extensions.contains("GL_ARB_copy_buffer"); this.GL_ARB_copy_image = supported_extensions.contains("GL_ARB_copy_image"); this.GL_ARB_debug_output = supported_extensions.contains("GL_ARB_debug_output"); this.GL_ARB_depth_buffer_float = supported_extensions.contains("GL_ARB_depth_buffer_float"); this.GL_ARB_depth_clamp = supported_extensions.contains("GL_ARB_depth_clamp"); this.GL_ARB_depth_texture = supported_extensions.contains("GL_ARB_depth_texture"); this.GL_ARB_draw_buffers = supported_extensions.contains("GL_ARB_draw_buffers"); this.GL_ARB_draw_buffers_blend = supported_extensions.contains("GL_ARB_draw_buffers_blend"); this.GL_ARB_draw_elements_base_vertex = supported_extensions.contains("GL_ARB_draw_elements_base_vertex"); this.GL_ARB_draw_indirect = supported_extensions.contains("GL_ARB_draw_indirect"); this.GL_ARB_draw_instanced = supported_extensions.contains("GL_ARB_draw_instanced"); this.GL_ARB_explicit_attrib_location = supported_extensions.contains("GL_ARB_explicit_attrib_location"); this.GL_ARB_explicit_uniform_location = supported_extensions.contains("GL_ARB_explicit_uniform_location"); this.GL_ARB_fragment_coord_conventions = supported_extensions.contains("GL_ARB_fragment_coord_conventions"); this.GL_ARB_fragment_layer_viewport = supported_extensions.contains("GL_ARB_fragment_layer_viewport"); this.GL_ARB_fragment_program = supported_extensions.contains("GL_ARB_fragment_program") && supported_extensions.contains("GL_ARB_program"); this.GL_ARB_fragment_program_shadow = supported_extensions.contains("GL_ARB_fragment_program_shadow"); this.GL_ARB_fragment_shader = supported_extensions.contains("GL_ARB_fragment_shader"); this.GL_ARB_framebuffer_no_attachments = supported_extensions.contains("GL_ARB_framebuffer_no_attachments"); this.GL_ARB_framebuffer_object = supported_extensions.contains("GL_ARB_framebuffer_object"); this.GL_ARB_framebuffer_sRGB = supported_extensions.contains("GL_ARB_framebuffer_sRGB"); this.GL_ARB_geometry_shader4 = supported_extensions.contains("GL_ARB_geometry_shader4"); this.GL_ARB_get_program_binary = supported_extensions.contains("GL_ARB_get_program_binary"); this.GL_ARB_gpu_shader5 = supported_extensions.contains("GL_ARB_gpu_shader5"); this.GL_ARB_gpu_shader_fp64 = supported_extensions.contains("GL_ARB_gpu_shader_fp64"); this.GL_ARB_half_float_pixel = supported_extensions.contains("GL_ARB_half_float_pixel"); this.GL_ARB_half_float_vertex = supported_extensions.contains("GL_ARB_half_float_vertex"); this.GL_ARB_imaging = supported_extensions.contains("GL_ARB_imaging"); this.GL_ARB_instanced_arrays = supported_extensions.contains("GL_ARB_instanced_arrays"); this.GL_ARB_internalformat_query = supported_extensions.contains("GL_ARB_internalformat_query"); this.GL_ARB_internalformat_query2 = supported_extensions.contains("GL_ARB_internalformat_query2"); this.GL_ARB_invalidate_subdata = supported_extensions.contains("GL_ARB_invalidate_subdata"); this.GL_ARB_map_buffer_alignment = supported_extensions.contains("GL_ARB_map_buffer_alignment"); this.GL_ARB_map_buffer_range = supported_extensions.contains("GL_ARB_map_buffer_range"); this.GL_ARB_matrix_palette = supported_extensions.contains("GL_ARB_matrix_palette"); this.GL_ARB_multi_draw_indirect = supported_extensions.contains("GL_ARB_multi_draw_indirect"); this.GL_ARB_multisample = supported_extensions.contains("GL_ARB_multisample"); this.GL_ARB_multitexture = supported_extensions.contains("GL_ARB_multitexture"); this.GL_ARB_occlusion_query = supported_extensions.contains("GL_ARB_occlusion_query"); this.GL_ARB_occlusion_query2 = supported_extensions.contains("GL_ARB_occlusion_query2"); this.GL_ARB_pixel_buffer_object = supported_extensions.contains("GL_ARB_pixel_buffer_object") && supported_extensions.contains("GL_ARB_buffer_object"); this.GL_ARB_point_parameters = supported_extensions.contains("GL_ARB_point_parameters"); this.GL_ARB_point_sprite = supported_extensions.contains("GL_ARB_point_sprite"); this.GL_ARB_program_interface_query = supported_extensions.contains("GL_ARB_program_interface_query"); this.GL_ARB_provoking_vertex = supported_extensions.contains("GL_ARB_provoking_vertex"); this.GL_ARB_robust_buffer_access_behavior = supported_extensions.contains("GL_ARB_robust_buffer_access_behavior"); this.GL_ARB_robustness = supported_extensions.contains("GL_ARB_robustness"); this.GL_ARB_robustness_isolation = supported_extensions.contains("GL_ARB_robustness_isolation"); this.GL_ARB_sample_shading = supported_extensions.contains("GL_ARB_sample_shading"); this.GL_ARB_sampler_objects = supported_extensions.contains("GL_ARB_sampler_objects"); this.GL_ARB_seamless_cube_map = supported_extensions.contains("GL_ARB_seamless_cube_map"); this.GL_ARB_separate_shader_objects = supported_extensions.contains("GL_ARB_separate_shader_objects"); this.GL_ARB_shader_atomic_counters = supported_extensions.contains("GL_ARB_shader_atomic_counters"); this.GL_ARB_shader_bit_encoding = supported_extensions.contains("GL_ARB_shader_bit_encoding"); this.GL_ARB_shader_image_load_store = supported_extensions.contains("GL_ARB_shader_image_load_store"); this.GL_ARB_shader_image_size = supported_extensions.contains("GL_ARB_shader_image_size"); this.GL_ARB_shader_objects = supported_extensions.contains("GL_ARB_shader_objects"); this.GL_ARB_shader_precision = supported_extensions.contains("GL_ARB_shader_precision"); this.GL_ARB_shader_stencil_export = supported_extensions.contains("GL_ARB_shader_stencil_export"); this.GL_ARB_shader_storage_buffer_object = supported_extensions.contains("GL_ARB_shader_storage_buffer_object"); this.GL_ARB_shader_subroutine = supported_extensions.contains("GL_ARB_shader_subroutine"); this.GL_ARB_shader_texture_lod = supported_extensions.contains("GL_ARB_shader_texture_lod"); this.GL_ARB_shading_language_100 = supported_extensions.contains("GL_ARB_shading_language_100"); this.GL_ARB_shading_language_420pack = supported_extensions.contains("GL_ARB_shading_language_420pack"); this.GL_ARB_shading_language_include = supported_extensions.contains("GL_ARB_shading_language_include"); this.GL_ARB_shading_language_packing = supported_extensions.contains("GL_ARB_shading_language_packing"); this.GL_ARB_shadow = supported_extensions.contains("GL_ARB_shadow"); this.GL_ARB_shadow_ambient = supported_extensions.contains("GL_ARB_shadow_ambient"); this.GL_ARB_stencil_texturing = supported_extensions.contains("GL_ARB_stencil_texturing"); this.GL_ARB_sync = supported_extensions.contains("GL_ARB_sync"); this.GL_ARB_tessellation_shader = supported_extensions.contains("GL_ARB_tessellation_shader"); this.GL_ARB_texture_border_clamp = supported_extensions.contains("GL_ARB_texture_border_clamp"); this.GL_ARB_texture_buffer_object = supported_extensions.contains("GL_ARB_texture_buffer_object"); this.GL_ARB_texture_buffer_object_rgb32 = supported_extensions.contains("GL_ARB_texture_buffer_object_rgb32") || supported_extensions.contains("GL_EXT_texture_buffer_object_rgb32"); this.GL_ARB_texture_buffer_range = supported_extensions.contains("GL_ARB_texture_buffer_range"); this.GL_ARB_texture_compression = supported_extensions.contains("GL_ARB_texture_compression"); this.GL_ARB_texture_compression_bptc = supported_extensions.contains("GL_ARB_texture_compression_bptc") || supported_extensions.contains("GL_EXT_texture_compression_bptc"); this.GL_ARB_texture_compression_rgtc = supported_extensions.contains("GL_ARB_texture_compression_rgtc"); this.GL_ARB_texture_cube_map = supported_extensions.contains("GL_ARB_texture_cube_map"); this.GL_ARB_texture_cube_map_array = supported_extensions.contains("GL_ARB_texture_cube_map_array"); this.GL_ARB_texture_env_add = supported_extensions.contains("GL_ARB_texture_env_add"); this.GL_ARB_texture_env_combine = supported_extensions.contains("GL_ARB_texture_env_combine"); this.GL_ARB_texture_env_crossbar = supported_extensions.contains("GL_ARB_texture_env_crossbar"); this.GL_ARB_texture_env_dot3 = supported_extensions.contains("GL_ARB_texture_env_dot3"); this.GL_ARB_texture_float = supported_extensions.contains("GL_ARB_texture_float"); this.GL_ARB_texture_gather = supported_extensions.contains("GL_ARB_texture_gather"); this.GL_ARB_texture_mirrored_repeat = supported_extensions.contains("GL_ARB_texture_mirrored_repeat"); this.GL_ARB_texture_multisample = supported_extensions.contains("GL_ARB_texture_multisample"); this.GL_ARB_texture_non_power_of_two = supported_extensions.contains("GL_ARB_texture_non_power_of_two"); this.GL_ARB_texture_query_levels = supported_extensions.contains("GL_ARB_texture_query_levels"); this.GL_ARB_texture_query_lod = supported_extensions.contains("GL_ARB_texture_query_lod"); this.GL_ARB_texture_rectangle = supported_extensions.contains("GL_ARB_texture_rectangle"); this.GL_ARB_texture_rg = supported_extensions.contains("GL_ARB_texture_rg"); this.GL_ARB_texture_rgb10_a2ui = supported_extensions.contains("GL_ARB_texture_rgb10_a2ui"); this.GL_ARB_texture_storage = supported_extensions.contains("GL_ARB_texture_storage") || supported_extensions.contains("GL_EXT_texture_storage"); this.GL_ARB_texture_storage_multisample = supported_extensions.contains("GL_ARB_texture_storage_multisample"); this.GL_ARB_texture_swizzle = supported_extensions.contains("GL_ARB_texture_swizzle"); this.GL_ARB_texture_view = supported_extensions.contains("GL_ARB_texture_view"); this.GL_ARB_timer_query = supported_extensions.contains("GL_ARB_timer_query"); this.GL_ARB_transform_feedback2 = supported_extensions.contains("GL_ARB_transform_feedback2"); this.GL_ARB_transform_feedback3 = supported_extensions.contains("GL_ARB_transform_feedback3"); this.GL_ARB_transform_feedback_instanced = supported_extensions.contains("GL_ARB_transform_feedback_instanced"); this.GL_ARB_transpose_matrix = supported_extensions.contains("GL_ARB_transpose_matrix"); this.GL_ARB_uniform_buffer_object = supported_extensions.contains("GL_ARB_uniform_buffer_object"); this.GL_ARB_vertex_array_bgra = supported_extensions.contains("GL_ARB_vertex_array_bgra"); this.GL_ARB_vertex_array_object = supported_extensions.contains("GL_ARB_vertex_array_object"); this.GL_ARB_vertex_attrib_64bit = supported_extensions.contains("GL_ARB_vertex_attrib_64bit"); this.GL_ARB_vertex_attrib_binding = supported_extensions.contains("GL_ARB_vertex_attrib_binding"); this.GL_ARB_vertex_blend = supported_extensions.contains("GL_ARB_vertex_blend"); this.GL_ARB_vertex_buffer_object = supported_extensions.contains("GL_ARB_vertex_buffer_object") && supported_extensions.contains("GL_ARB_buffer_object"); this.GL_ARB_vertex_program = supported_extensions.contains("GL_ARB_vertex_program") && supported_extensions.contains("GL_ARB_program"); this.GL_ARB_vertex_shader = supported_extensions.contains("GL_ARB_vertex_shader"); this.GL_ARB_vertex_type_2_10_10_10_rev = supported_extensions.contains("GL_ARB_vertex_type_2_10_10_10_rev"); this.GL_ARB_viewport_array = supported_extensions.contains("GL_ARB_viewport_array"); this.GL_ARB_window_pos = supported_extensions.contains("GL_ARB_window_pos"); this.GL_ATI_draw_buffers = supported_extensions.contains("GL_ATI_draw_buffers"); this.GL_ATI_element_array = supported_extensions.contains("GL_ATI_element_array"); this.GL_ATI_envmap_bumpmap = supported_extensions.contains("GL_ATI_envmap_bumpmap"); this.GL_ATI_fragment_shader = supported_extensions.contains("GL_ATI_fragment_shader"); this.GL_ATI_map_object_buffer = supported_extensions.contains("GL_ATI_map_object_buffer"); this.GL_ATI_meminfo = supported_extensions.contains("GL_ATI_meminfo"); this.GL_ATI_pn_triangles = supported_extensions.contains("GL_ATI_pn_triangles"); this.GL_ATI_separate_stencil = supported_extensions.contains("GL_ATI_separate_stencil"); this.GL_ATI_shader_texture_lod = supported_extensions.contains("GL_ATI_shader_texture_lod"); this.GL_ATI_text_fragment_shader = supported_extensions.contains("GL_ATI_text_fragment_shader"); this.GL_ATI_texture_compression_3dc = supported_extensions.contains("GL_ATI_texture_compression_3dc"); this.GL_ATI_texture_env_combine3 = supported_extensions.contains("GL_ATI_texture_env_combine3"); this.GL_ATI_texture_float = supported_extensions.contains("GL_ATI_texture_float"); this.GL_ATI_texture_mirror_once = supported_extensions.contains("GL_ATI_texture_mirror_once"); this.GL_ATI_vertex_array_object = supported_extensions.contains("GL_ATI_vertex_array_object"); this.GL_ATI_vertex_attrib_array_object = supported_extensions.contains("GL_ATI_vertex_attrib_array_object"); this.GL_ATI_vertex_streams = supported_extensions.contains("GL_ATI_vertex_streams"); this.GL_EXT_abgr = supported_extensions.contains("GL_EXT_abgr"); this.GL_EXT_bgra = supported_extensions.contains("GL_EXT_bgra"); this.GL_EXT_bindable_uniform = supported_extensions.contains("GL_EXT_bindable_uniform"); this.GL_EXT_blend_color = supported_extensions.contains("GL_EXT_blend_color"); this.GL_EXT_blend_equation_separate = supported_extensions.contains("GL_EXT_blend_equation_separate"); this.GL_EXT_blend_func_separate = supported_extensions.contains("GL_EXT_blend_func_separate"); this.GL_EXT_blend_minmax = supported_extensions.contains("GL_EXT_blend_minmax"); this.GL_EXT_blend_subtract = supported_extensions.contains("GL_EXT_blend_subtract"); this.GL_EXT_Cg_shader = supported_extensions.contains("GL_EXT_Cg_shader"); this.GL_EXT_compiled_vertex_array = supported_extensions.contains("GL_EXT_compiled_vertex_array"); this.GL_EXT_depth_bounds_test = supported_extensions.contains("GL_EXT_depth_bounds_test"); this.GL_EXT_direct_state_access = supported_extensions.contains("GL_EXT_direct_state_access"); this.GL_EXT_draw_buffers2 = supported_extensions.contains("GL_EXT_draw_buffers2"); this.GL_EXT_draw_instanced = supported_extensions.contains("GL_EXT_draw_instanced"); this.GL_EXT_draw_range_elements = supported_extensions.contains("GL_EXT_draw_range_elements"); this.GL_EXT_fog_coord = supported_extensions.contains("GL_EXT_fog_coord"); this.GL_EXT_framebuffer_blit = supported_extensions.contains("GL_EXT_framebuffer_blit"); this.GL_EXT_framebuffer_multisample = supported_extensions.contains("GL_EXT_framebuffer_multisample"); this.GL_EXT_framebuffer_multisample_blit_scaled = supported_extensions.contains("GL_EXT_framebuffer_multisample_blit_scaled"); this.GL_EXT_framebuffer_object = supported_extensions.contains("GL_EXT_framebuffer_object"); this.GL_EXT_framebuffer_sRGB = supported_extensions.contains("GL_EXT_framebuffer_sRGB"); this.GL_EXT_geometry_shader4 = supported_extensions.contains("GL_EXT_geometry_shader4"); this.GL_EXT_gpu_program_parameters = supported_extensions.contains("GL_EXT_gpu_program_parameters"); this.GL_EXT_gpu_shader4 = supported_extensions.contains("GL_EXT_gpu_shader4"); this.GL_EXT_multi_draw_arrays = supported_extensions.contains("GL_EXT_multi_draw_arrays"); this.GL_EXT_packed_depth_stencil = supported_extensions.contains("GL_EXT_packed_depth_stencil"); this.GL_EXT_packed_float = supported_extensions.contains("GL_EXT_packed_float"); this.GL_EXT_packed_pixels = supported_extensions.contains("GL_EXT_packed_pixels"); this.GL_EXT_paletted_texture = supported_extensions.contains("GL_EXT_paletted_texture"); this.GL_EXT_pixel_buffer_object = supported_extensions.contains("GL_EXT_pixel_buffer_object") && supported_extensions.contains("GL_ARB_buffer_object"); this.GL_EXT_point_parameters = supported_extensions.contains("GL_EXT_point_parameters"); this.GL_EXT_provoking_vertex = supported_extensions.contains("GL_EXT_provoking_vertex"); this.GL_EXT_rescale_normal = supported_extensions.contains("GL_EXT_rescale_normal"); this.GL_EXT_secondary_color = supported_extensions.contains("GL_EXT_secondary_color"); this.GL_EXT_separate_shader_objects = supported_extensions.contains("GL_EXT_separate_shader_objects"); this.GL_EXT_separate_specular_color = supported_extensions.contains("GL_EXT_separate_specular_color"); this.GL_EXT_shader_image_load_store = supported_extensions.contains("GL_EXT_shader_image_load_store"); this.GL_EXT_shadow_funcs = supported_extensions.contains("GL_EXT_shadow_funcs"); this.GL_EXT_shared_texture_palette = supported_extensions.contains("GL_EXT_shared_texture_palette"); this.GL_EXT_stencil_clear_tag = supported_extensions.contains("GL_EXT_stencil_clear_tag"); this.GL_EXT_stencil_two_side = supported_extensions.contains("GL_EXT_stencil_two_side"); this.GL_EXT_stencil_wrap = supported_extensions.contains("GL_EXT_stencil_wrap"); this.GL_EXT_texture_3d = supported_extensions.contains("GL_EXT_texture_3d"); this.GL_EXT_texture_array = supported_extensions.contains("GL_EXT_texture_array"); this.GL_EXT_texture_buffer_object = supported_extensions.contains("GL_EXT_texture_buffer_object"); this.GL_EXT_texture_compression_latc = supported_extensions.contains("GL_EXT_texture_compression_latc"); this.GL_EXT_texture_compression_rgtc = supported_extensions.contains("GL_EXT_texture_compression_rgtc"); this.GL_EXT_texture_compression_s3tc = supported_extensions.contains("GL_EXT_texture_compression_s3tc"); this.GL_EXT_texture_env_combine = supported_extensions.contains("GL_EXT_texture_env_combine"); this.GL_EXT_texture_env_dot3 = supported_extensions.contains("GL_EXT_texture_env_dot3"); this.GL_EXT_texture_filter_anisotropic = supported_extensions.contains("GL_EXT_texture_filter_anisotropic"); this.GL_EXT_texture_integer = supported_extensions.contains("GL_EXT_texture_integer"); this.GL_EXT_texture_lod_bias = supported_extensions.contains("GL_EXT_texture_lod_bias"); this.GL_EXT_texture_mirror_clamp = supported_extensions.contains("GL_EXT_texture_mirror_clamp"); this.GL_EXT_texture_rectangle = supported_extensions.contains("GL_EXT_texture_rectangle"); this.GL_EXT_texture_sRGB = supported_extensions.contains("GL_EXT_texture_sRGB"); this.GL_EXT_texture_sRGB_decode = supported_extensions.contains("GL_EXT_texture_sRGB_decode"); this.GL_EXT_texture_shared_exponent = supported_extensions.contains("GL_EXT_texture_shared_exponent"); this.GL_EXT_texture_snorm = supported_extensions.contains("GL_EXT_texture_snorm"); this.GL_EXT_texture_swizzle = supported_extensions.contains("GL_EXT_texture_swizzle"); this.GL_EXT_timer_query = supported_extensions.contains("GL_EXT_timer_query"); this.GL_EXT_transform_feedback = supported_extensions.contains("GL_EXT_transform_feedback"); this.GL_EXT_vertex_array_bgra = supported_extensions.contains("GL_EXT_vertex_array_bgra"); this.GL_EXT_vertex_attrib_64bit = supported_extensions.contains("GL_EXT_vertex_attrib_64bit"); this.GL_EXT_vertex_shader = supported_extensions.contains("GL_EXT_vertex_shader"); this.GL_EXT_vertex_weighting = supported_extensions.contains("GL_EXT_vertex_weighting"); this.OpenGL11 = supported_extensions.contains("OpenGL11"); this.OpenGL12 = supported_extensions.contains("OpenGL12"); this.OpenGL13 = supported_extensions.contains("OpenGL13"); this.OpenGL14 = supported_extensions.contains("OpenGL14"); this.OpenGL15 = supported_extensions.contains("OpenGL15"); this.OpenGL20 = supported_extensions.contains("OpenGL20"); this.OpenGL21 = supported_extensions.contains("OpenGL21"); this.OpenGL30 = supported_extensions.contains("OpenGL30"); this.OpenGL31 = supported_extensions.contains("OpenGL31"); this.OpenGL32 = supported_extensions.contains("OpenGL32"); this.OpenGL33 = supported_extensions.contains("OpenGL33"); this.OpenGL40 = supported_extensions.contains("OpenGL40"); this.OpenGL41 = supported_extensions.contains("OpenGL41"); this.OpenGL42 = supported_extensions.contains("OpenGL42"); this.OpenGL43 = supported_extensions.contains("OpenGL43"); this.GL_GREMEDY_string_marker = supported_extensions.contains("GL_GREMEDY_string_marker"); this.GL_HP_occlusion_test = supported_extensions.contains("GL_HP_occlusion_test"); this.GL_IBM_rasterpos_clip = supported_extensions.contains("GL_IBM_rasterpos_clip"); this.GL_INTEL_map_texture = supported_extensions.contains("GL_INTEL_map_texture"); this.GL_KHR_debug = supported_extensions.contains("GL_KHR_debug"); this.GL_KHR_texture_compression_astc_ldr = supported_extensions.contains("GL_KHR_texture_compression_astc_ldr"); this.GL_NVX_gpu_memory_info = supported_extensions.contains("GL_NVX_gpu_memory_info"); this.GL_NV_bindless_texture = supported_extensions.contains("GL_NV_bindless_texture"); this.GL_NV_blend_square = supported_extensions.contains("GL_NV_blend_square"); this.GL_NV_compute_program5 = supported_extensions.contains("GL_NV_compute_program5"); this.GL_NV_conditional_render = supported_extensions.contains("GL_NV_conditional_render"); this.GL_NV_copy_depth_to_color = supported_extensions.contains("GL_NV_copy_depth_to_color"); this.GL_NV_copy_image = supported_extensions.contains("GL_NV_copy_image"); this.GL_NV_deep_texture3D = supported_extensions.contains("GL_NV_deep_texture3D"); this.GL_NV_depth_buffer_float = supported_extensions.contains("GL_NV_depth_buffer_float"); this.GL_NV_depth_clamp = supported_extensions.contains("GL_NV_depth_clamp"); this.GL_NV_draw_texture = supported_extensions.contains("GL_NV_draw_texture"); this.GL_NV_evaluators = supported_extensions.contains("GL_NV_evaluators"); this.GL_NV_explicit_multisample = supported_extensions.contains("GL_NV_explicit_multisample"); this.GL_NV_fence = supported_extensions.contains("GL_NV_fence"); this.GL_NV_float_buffer = supported_extensions.contains("GL_NV_float_buffer"); this.GL_NV_fog_distance = supported_extensions.contains("GL_NV_fog_distance"); this.GL_NV_fragment_program = supported_extensions.contains("GL_NV_fragment_program") && supported_extensions.contains("GL_NV_program"); this.GL_NV_fragment_program2 = supported_extensions.contains("GL_NV_fragment_program2"); this.GL_NV_fragment_program4 = supported_extensions.contains("GL_NV_fragment_program4"); this.GL_NV_fragment_program_option = supported_extensions.contains("GL_NV_fragment_program_option"); this.GL_NV_framebuffer_multisample_coverage = supported_extensions.contains("GL_NV_framebuffer_multisample_coverage"); this.GL_NV_geometry_program4 = supported_extensions.contains("GL_NV_geometry_program4"); this.GL_NV_geometry_shader4 = supported_extensions.contains("GL_NV_geometry_shader4"); this.GL_NV_gpu_program4 = supported_extensions.contains("GL_NV_gpu_program4"); this.GL_NV_gpu_program5 = supported_extensions.contains("GL_NV_gpu_program5"); this.GL_NV_gpu_shader5 = supported_extensions.contains("GL_NV_gpu_shader5"); this.GL_NV_half_float = supported_extensions.contains("GL_NV_half_float"); this.GL_NV_light_max_exponent = supported_extensions.contains("GL_NV_light_max_exponent"); this.GL_NV_multisample_coverage = supported_extensions.contains("GL_NV_multisample_coverage"); this.GL_NV_multisample_filter_hint = supported_extensions.contains("GL_NV_multisample_filter_hint"); this.GL_NV_occlusion_query = supported_extensions.contains("GL_NV_occlusion_query"); this.GL_NV_packed_depth_stencil = supported_extensions.contains("GL_NV_packed_depth_stencil"); this.GL_NV_parameter_buffer_object = supported_extensions.contains("GL_NV_parameter_buffer_object"); this.GL_NV_parameter_buffer_object2 = supported_extensions.contains("GL_NV_parameter_buffer_object2"); this.GL_NV_path_rendering = supported_extensions.contains("GL_NV_path_rendering"); this.GL_NV_pixel_data_range = supported_extensions.contains("GL_NV_pixel_data_range"); this.GL_NV_point_sprite = supported_extensions.contains("GL_NV_point_sprite"); this.GL_NV_present_video = supported_extensions.contains("GL_NV_present_video"); this.GL_NV_primitive_restart = supported_extensions.contains("GL_NV_primitive_restart"); this.GL_NV_register_combiners = supported_extensions.contains("GL_NV_register_combiners"); this.GL_NV_register_combiners2 = supported_extensions.contains("GL_NV_register_combiners2"); this.GL_NV_shader_atomic_counters = supported_extensions.contains("GL_NV_shader_atomic_counters"); this.GL_NV_shader_atomic_float = supported_extensions.contains("GL_NV_shader_atomic_float"); this.GL_NV_shader_buffer_load = supported_extensions.contains("GL_NV_shader_buffer_load"); this.GL_NV_shader_buffer_store = supported_extensions.contains("GL_NV_shader_buffer_store"); this.GL_NV_shader_storage_buffer_object = supported_extensions.contains("GL_NV_shader_storage_buffer_object"); this.GL_NV_tessellation_program5 = supported_extensions.contains("GL_NV_tessellation_program5"); this.GL_NV_texgen_reflection = supported_extensions.contains("GL_NV_texgen_reflection"); this.GL_NV_texture_barrier = supported_extensions.contains("GL_NV_texture_barrier"); this.GL_NV_texture_compression_vtc = supported_extensions.contains("GL_NV_texture_compression_vtc"); this.GL_NV_texture_env_combine4 = supported_extensions.contains("GL_NV_texture_env_combine4"); this.GL_NV_texture_expand_normal = supported_extensions.contains("GL_NV_texture_expand_normal"); this.GL_NV_texture_multisample = supported_extensions.contains("GL_NV_texture_multisample"); this.GL_NV_texture_rectangle = supported_extensions.contains("GL_NV_texture_rectangle"); this.GL_NV_texture_shader = supported_extensions.contains("GL_NV_texture_shader"); this.GL_NV_texture_shader2 = supported_extensions.contains("GL_NV_texture_shader2"); this.GL_NV_texture_shader3 = supported_extensions.contains("GL_NV_texture_shader3"); this.GL_NV_transform_feedback = supported_extensions.contains("GL_NV_transform_feedback"); this.GL_NV_transform_feedback2 = supported_extensions.contains("GL_NV_transform_feedback2"); this.GL_NV_vertex_array_range = supported_extensions.contains("GL_NV_vertex_array_range"); this.GL_NV_vertex_array_range2 = supported_extensions.contains("GL_NV_vertex_array_range2"); this.GL_NV_vertex_attrib_integer_64bit = supported_extensions.contains("GL_NV_vertex_attrib_integer_64bit"); this.GL_NV_vertex_buffer_unified_memory = supported_extensions.contains("GL_NV_vertex_buffer_unified_memory"); this.GL_NV_vertex_program = supported_extensions.contains("GL_NV_vertex_program") && supported_extensions.contains("GL_NV_program"); this.GL_NV_vertex_program1_1 = supported_extensions.contains("GL_NV_vertex_program1_1"); this.GL_NV_vertex_program2 = supported_extensions.contains("GL_NV_vertex_program2"); this.GL_NV_vertex_program2_option = supported_extensions.contains("GL_NV_vertex_program2_option"); this.GL_NV_vertex_program3 = supported_extensions.contains("GL_NV_vertex_program3"); this.GL_NV_vertex_program4 = supported_extensions.contains("GL_NV_vertex_program4"); this.GL_NV_video_capture = supported_extensions.contains("GL_NV_video_capture"); this.GL_SGIS_generate_mipmap = supported_extensions.contains("GL_SGIS_generate_mipmap"); this.GL_SGIS_texture_lod = supported_extensions.contains("GL_SGIS_texture_lod"); this.GL_SUN_slice_accum = supported_extensions.contains("GL_SUN_slice_accum"); tracker.init(); } }