diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt index 3ee51377..c0107089 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt @@ -155,7 +155,7 @@ fun arb() { void, "glDebugMessageCallbackARB(callback.stub(arena), userParam);", arena("arena"), - Type("GLDebugProc", null)("callback"), + Type("overrungl.opengl.GLDebugProc", null)("callback"), address("userParam", "const void *") ) } diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index aee94b50..ecc470e6 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -188,41 +188,28 @@ class OpenGLFile( |package overrungl.opengl${ext.packageName}; |import overrungl.*; - |import overrungl.opengl.*; + |import overrun.marshal.*; |import java.lang.foreign.*; - |import static java.lang.foreign.FunctionDescriptor.*; - |import static java.lang.foreign.ValueLayout.*; - |import static overrungl.opengl.GLLoader.*; |/** | * {@code $extName} | */ - |public final class GL${ext.extName}$name { + |public interface GL${ext.extName}$name { """.trimMargin() ) // constants constants.forEach { (name, value) -> - appendLine(" public static final int $name = $value;") + appendLine(" int $name = $value;") } if (functions.isNotEmpty()) { - // loader - appendLine(" public static void load(GLExtCaps ext, GLLoadFunc load) {") - appendLine(" if (!ext.$extName) return;") - functions.forEach { f -> - append(" ext.${f.name} = load.invoke(\"${f.name}\", ${if (f.returnType == void) "ofVoid" else "of"}(") - if (f.returnType != void) - append(f.returnType.layout) - f.params.forEachIndexed { index, it -> - if (index != 0 || f.returnType != void) append(", ") - append(it.type.layout) - } - appendLine("));") - } - appendLine(" }") appendLine() // functions - fun appendFuncHeader(f: Function) { - append(" public static ") + fun appendFuncHeader(f: Function, overload: Boolean) { + append(" ") + if (overload) { + appendLine("@overrun.marshal.gen.Skip") + append(" default ") + } if (f.nativeType != null) append("@NativeType(\"${f.nativeType}\") ") append("${f.returnType} ${f.name}(") @@ -232,33 +219,20 @@ class OpenGLFile( append("@NativeType(\"${it.nativeType}\") ") append("${it.type} ${it.name}") } - appendLine(") {") + append(")") } functions.forEach { f -> - appendFuncHeader(f) - appendLine(" final var ext = getExtCapabilities();") - appendLine(" try {") - if (f.returnType != void) - appendLine(" return (${f.returnType})") - append(" check(ext.${f.name}).invokeExact(") - f.params.forEachIndexed { index, it -> - if (index != 0) append(", ") - append(it.name) - } - appendLine( - """); - | } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - | } - """.trimMargin() - ) + appendFuncHeader(f, false) + append(';') appendLine() // overloads if (f.overloads.isNotEmpty()) { f.overloads.forEach { overload -> - appendFuncHeader(overload) + appendFuncHeader(overload, true) + appendLine(" {") appendLine(overload.content!!.prependIndent(" ")) - appendLine(" }\n") + appendLine(" }") } } } @@ -2529,7 +2503,39 @@ fun win() { ) } -fun glExtCaps() { +fun glExtension() { + Files.writeString(Path("ext/GLExtension.java"), buildString { + appendLine(""" + ${fileHeader.prependIndent("|")} + |package overrungl.opengl.ext; + |import overrungl.opengl.ext.arb.*; + |import overrungl.opengl.ext.khr.*; + |import overrungl.opengl.ext.oes.*; + |import overrungl.opengl.ext.amd.*; + |import overrungl.opengl.ext.apple.*; + |import overrungl.opengl.ext.ati.*; + |import overrungl.opengl.ext.ext.*; + |import overrungl.opengl.ext.ibm.*; + |import overrungl.opengl.ext.intel.*; + |import overrungl.opengl.ext.mesa.*; + |import overrungl.opengl.ext.nv.*; + |import overrungl.opengl.ext.sgi.*; + |import overrungl.opengl.ext.sun.*; + | + |/** + | * The OpenGL extension functions. + | * + | * @since 0.1.0 + | */ + |public interface GLExtension extends + """.trimMargin()) + generatedExtClasses.joinTo(this, ",\n") { " GL${it.ext.extName}${it.name}" } + appendLine(" {") + appendLine("}") + }) +} + +fun glFlags() { val caps = arrayOf( "GL_ARB_ES2_compatibility", "GL_ARB_ES3_1_compatibility", @@ -3151,86 +3157,65 @@ fun glExtCaps() { "GL_WIN_phong_shading", "GL_WIN_specular_fog" ) - Files.writeString(Path("GLExtCaps.java"), buildString { - append( - """ + Files.writeString( + Path("GLFlags.java"), + """ ${fileHeader.prependIndent("|")} |package overrungl.opengl; | - |import overrungl.opengl.ext.*; - |import overrungl.opengl.ext.arb.*; - |import overrungl.opengl.ext.khr.*; - |import overrungl.opengl.ext.oes.*; - |import overrungl.opengl.ext.amd.*; - |import overrungl.opengl.ext.apple.*; - |import overrungl.opengl.ext.ati.*; - |import overrungl.opengl.ext.ext.*; - |import overrungl.opengl.ext.ibm.*; - |import overrungl.opengl.ext.intel.*; - |import overrungl.opengl.ext.mesa.*; - |import overrungl.opengl.ext.nv.*; - |import overrungl.opengl.ext.sgi.*; - |import overrungl.opengl.ext.sun.*; - |import overrun.marshal.Unmarshal; - | - |import java.lang.foreign.SegmentAllocator; - |import java.lang.invoke.MethodHandle; - |import java.util.ArrayList; - | - |import static java.lang.foreign.ValueLayout.*; - |import static overrungl.opengl.GLExtFinder.*; - | |/** - | * The OpenGL extension capabilities. + | * The OpenGL flags. | * | * @since 0.1.0 | */ - |public final class GLExtCaps { + |public final class GLFlags { + | final GLLoadFunc load; + | final boolean foundExtension; + | /** The OpenGL core flags. */ + | public final boolean GL10, GL11, GL12, GL13, GL14, GL15, + | GL20, GL21, + | GL30, GL31, GL32, GL33, + | GL40, GL41, GL42, GL43, GL44, GL45, GL46; | /** The OpenGL extension flags. */ - | public boolean ${caps.joinToString()}; - | - | /** GLCapabilities */ - | public final GLCapabilities caps; + | public final boolean ${caps.joinToString()}; | | /** - | * Construct incomplete OpenGL extension capabilities. + | * Construct OpenGL flags. | * - | * @param caps The parent capabilities. + | * @param load the function where to find OpenGL functions. | */ - | public GLExtCaps(GLCapabilities caps) { - | this.caps = caps; + | GLFlags(GLLoadFunc load) { + | this.load = load; + | var core = GLFinder.findCoreGL(load); + | int major = core.x(); + | int minor = core.y(); + | this.GL10 = (major == 1 && minor >= 0) || major > 1; + | this.GL11 = (major == 1 && minor >= 1) || major > 1; + | this.GL12 = (major == 1 && minor >= 2) || major > 1; + | this.GL13 = (major == 1 && minor >= 3) || major > 1; + | this.GL14 = (major == 1 && minor >= 4) || major > 1; + | this.GL15 = (major == 1 && minor >= 5) || major > 1; + | this.GL20 = (major == 2 && minor >= 0) || major > 2; + | this.GL21 = (major == 2 && minor >= 1) || major > 2; + | this.GL30 = (major == 3 && minor >= 0) || major > 3; + | this.GL31 = (major == 3 && minor >= 1) || major > 3; + | this.GL32 = (major == 3 && minor >= 2) || major > 3; + | this.GL33 = (major == 3 && minor >= 3) || major > 3; + | this.GL40 = (major == 4 && minor >= 0) || major > 4; + | this.GL41 = (major == 4 && minor >= 1) || major > 4; + | this.GL42 = (major == 4 && minor >= 2) || major > 4; + | this.GL43 = (major == 4 && minor >= 3) || major > 4; + | this.GL44 = (major == 4 && minor >= 4) || major > 4; + | this.GL45 = (major == 4 && minor >= 5) || major > 4; + | this.GL46 = (major == 4 && minor >= 6) || major > 4; + | var list = new java.util.ArrayList(700); + | this.foundExtension = GLFinder.getExtensions(load, major, list); + | ${caps.joinToString("\n| ") { "this.$it = this.foundExtension && list.contains(\"$it\");" }} | } + |} | - | /** Method handles. */ - | public MethodHandle - """.trimMargin() - ) - generatedExtFunctions.forEachIndexed { index, function -> - if (index.rem(16) == 0) { - if (index == 0) append("\n ") - else append(",\n ") - } else append(", ") - append(function.name) - } - appendLine(";\n\n void load(GLLoadFunc load) {") - generatedExtClasses.forEach { - if (it.hasFunction) appendLine(" GL${it.ext.extName}${it.name}.load(this, load);") - } - appendLine(" }\n") - appendLine( - """ - | boolean findExtensionsGL(GLLoadFunc load, int version) { - | var list = new ArrayList(700); - | if (!getExtensions(load, version, list)) return false; - | - | ${caps.joinToString(separator = "\n| ") { "this.$it = list.contains(\"$it\");" }} - | - | return true; - | } """.trimMargin() - ) - appendLine("}") - }) + ) } /** @@ -3261,5 +3246,6 @@ fun main() { sgi() sun() win() - glExtCaps() + glExtension() + glFlags() } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLCapabilities.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLCapabilities.java deleted file mode 100644 index f0c77d3d..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLCapabilities.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2024 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -import overrun.marshal.Unmarshal; - -import java.lang.foreign.FunctionDescriptor; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.ValueLayout; -import java.lang.invoke.MethodHandle; -import java.util.regex.Pattern; - -/** - * The OpenGL capabilities. - * - * @author squid233 - * @since 0.1.0 - */ -@Deprecated(since = "0.1.0") -public final class GLCapabilities { - private static final Pattern VERSION_PATTERN = Pattern.compile("^(\\d+)\\.(\\d+).*$"); - /** - * The OpenGL context version flags. - */ - public boolean - Ver10, Ver11, Ver12, Ver13, Ver14, Ver15, - Ver20, Ver21, - Ver30, Ver31, Ver32, Ver33, - Ver40, Ver41, Ver42, Ver43, Ver44, Ver45, Ver46; - private int rawGLVersion; - private final boolean forwardCompatible; - private GLExtCaps ext; - - /** - * Constructs incomplete OpenGL capabilities. - * - * @param forwardCompatible If {@code true}, only loads core profile functions. - */ - public GLCapabilities(boolean forwardCompatible) { - this.forwardCompatible = forwardCompatible; - } - - /** - * Load OpenGL by the given load function. - * - * @param load the load function. - * @return the OpenGL version returned from the graphics driver, or {@code 0} if no OpenGL context found. - */ - public int load(GLLoadFunc load) { - final MethodHandle glGetString = load.invoke("glGetString", FunctionDescriptor.of(Unmarshal.STR_LAYOUT, ValueLayout.JAVA_INT)); - if (glGetString == null) return 0; - - int version = findCoreGL(glGetString); - - ext = new GLExtCaps(this); - if (!ext.findExtensionsGL(load, version)) return 0; - ext.load(load); - - rawGLVersion = version; - - return version; - } - - private int findCoreGL(MethodHandle glGetString) { - final String[] prefixes = { - "OpenGL ES-CM ", - "OpenGL ES-CL ", - "OpenGL ES ", - "OpenGL SC " - }; - String version; - try { - version = ((MemorySegment) glGetString.invokeExact(GL10C.VERSION)).getString(0L); - } catch (Throwable e) { - throw new RuntimeException(e); - } - if (version == null) return 0; - for (var prefix : prefixes) { - int len = prefix.length(); - if (version.startsWith(prefix)) { - version = version.substring(len); - break; - } - } - var matcher = VERSION_PATTERN.matcher(version); - int major, minor; - if (matcher.find()) { - major = Integer.parseInt(matcher.group(1)); - minor = Integer.parseInt(matcher.group(2)); - } else { - major = 0; - minor = 0; - } - Ver10 = (major == 1 && minor >= 0) || major > 1; - Ver11 = (major == 1 && minor >= 1) || major > 1; - Ver12 = (major == 1 && minor >= 2) || major > 1; - Ver13 = (major == 1 && minor >= 3) || major > 1; - Ver14 = (major == 1 && minor >= 4) || major > 1; - Ver15 = (major == 1 && minor >= 5) || major > 1; - Ver20 = (major == 2 && minor >= 0) || major > 2; - Ver21 = (major == 2 && minor >= 1) || major > 2; - Ver30 = (major == 3 && minor >= 0) || major > 3; - Ver31 = (major == 3 && minor >= 1) || major > 3; - Ver32 = (major == 3 && minor >= 2) || major > 3; - Ver33 = (major == 3 && minor >= 3) || major > 3; - Ver40 = (major == 4 && minor >= 0) || major > 4; - Ver41 = (major == 4 && minor >= 1) || major > 4; - Ver42 = (major == 4 && minor >= 2) || major > 4; - Ver43 = (major == 4 && minor >= 3) || major > 4; - Ver44 = (major == 4 && minor >= 4) || major > 4; - Ver45 = (major == 4 && minor >= 5) || major > 4; - Ver46 = (major == 4 && minor >= 6) || major > 4; - return GLLoader.makeVersion(major, minor); - } - - /** - * {@return the raw OpenGL version value} - */ - public int rawGLVersion() { - return rawGLVersion; - } - - /** - * Forward compatible flag. - * - * @return {@code false} for deprecated and removed function. - */ - public boolean forwardCompatible() { - return forwardCompatible; - } - - /** - * {@return the OpenGL extension capabilities} - */ - public GLExtCaps ext() { - return ext; - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java deleted file mode 100644 index 7581db71..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ /dev/null @@ -1,1069 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-present Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -// This file is auto-generated. DO NOT EDIT! -package overrungl.opengl; - -import overrungl.opengl.ext.*; -import overrungl.opengl.ext.arb.*; -import overrungl.opengl.ext.khr.*; -import overrungl.opengl.ext.oes.*; -import overrungl.opengl.ext.amd.*; -import overrungl.opengl.ext.apple.*; -import overrungl.opengl.ext.ati.*; -import overrungl.opengl.ext.ext.*; -import overrungl.opengl.ext.ibm.*; -import overrungl.opengl.ext.intel.*; -import overrungl.opengl.ext.mesa.*; -import overrungl.opengl.ext.nv.*; -import overrungl.opengl.ext.sgi.*; -import overrungl.opengl.ext.sun.*; -import overrun.marshal.Unmarshal; - -import java.lang.foreign.SegmentAllocator; -import java.lang.invoke.MethodHandle; -import java.util.ArrayList; - -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLExtFinder.*; - -/** - * The OpenGL extension capabilities. - * - * @since 0.1.0 - */ -public final class GLExtCaps { - /** The OpenGL extension flags. */ - public boolean GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, GL_KHR_texture_compression_astc_sliced_3d, GL_OES_byte_coordinates, GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_draw_buffers, GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_blit_layers, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, GL_NV_transform_feedback2, GL_NV_uniform_buffer_std430_layout, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; - - /** GLCapabilities */ - public final GLCapabilities caps; - - /** - * Construct incomplete OpenGL extension capabilities. - * - * @param caps The parent capabilities. - */ - public GLExtCaps(GLCapabilities caps) { - this.caps = caps; - } - - /** Method handles. */ - public MethodHandle - glPrimitiveBoundingBoxARB, glGetTextureHandleARB, glGetTextureSamplerHandleARB, glMakeTextureHandleResidentARB, glMakeTextureHandleNonResidentARB, glGetImageHandleARB, glMakeImageHandleResidentARB, glMakeImageHandleNonResidentARB, glUniformHandleui64ARB, glUniformHandleui64vARB, glProgramUniformHandleui64ARB, glProgramUniformHandleui64vARB, glIsTextureHandleResidentARB, glIsImageHandleResidentARB, glVertexAttribL1ui64ARB, glVertexAttribL1ui64vARB, - glGetVertexAttribLui64vARB, glCreateSyncFromCLeventARB, glClampColorARB, glDispatchComputeGroupSizeARB, glDebugMessageControlARB, glDebugMessageInsertARB, glDebugMessageCallbackARB, glGetDebugMessageLogARB, glDrawBuffersARB, glBlendEquationiARB, glBlendEquationSeparateiARB, glBlendFunciARB, glBlendFuncSeparateiARB, glDrawArraysInstancedARB, glDrawElementsInstancedARB, glProgramStringARB, - glBindProgramARB, glDeleteProgramsARB, glGenProgramsARB, glProgramEnvParameter4dARB, glProgramEnvParameter4dvARB, glProgramEnvParameter4fARB, glProgramEnvParameter4fvARB, glProgramLocalParameter4dARB, glProgramLocalParameter4dvARB, glProgramLocalParameter4fARB, glProgramLocalParameter4fvARB, glGetProgramEnvParameterdvARB, glGetProgramEnvParameterfvARB, glGetProgramLocalParameterdvARB, glGetProgramLocalParameterfvARB, glGetProgramivARB, - glGetProgramStringARB, glIsProgramARB, glProgramParameteriARB, glFramebufferTextureARB, glFramebufferTextureLayerARB, glFramebufferTextureFaceARB, glSpecializeShaderARB, glUniform1i64ARB, glUniform2i64ARB, glUniform3i64ARB, glUniform4i64ARB, glUniform1i64vARB, glUniform2i64vARB, glUniform3i64vARB, glUniform4i64vARB, glUniform1ui64ARB, - glUniform2ui64ARB, glUniform3ui64ARB, glUniform4ui64ARB, glUniform1ui64vARB, glUniform2ui64vARB, glUniform3ui64vARB, glUniform4ui64vARB, glGetUniformi64vARB, glGetUniformui64vARB, glGetnUniformi64vARB, glGetnUniformui64vARB, glProgramUniform1i64ARB, glProgramUniform2i64ARB, glProgramUniform3i64ARB, glProgramUniform4i64ARB, glProgramUniform1i64vARB, - glProgramUniform2i64vARB, glProgramUniform3i64vARB, glProgramUniform4i64vARB, glProgramUniform1ui64ARB, glProgramUniform2ui64ARB, glProgramUniform3ui64ARB, glProgramUniform4ui64ARB, glProgramUniform1ui64vARB, glProgramUniform2ui64vARB, glProgramUniform3ui64vARB, glProgramUniform4ui64vARB, glColorTable, glColorTableParameterfv, glColorTableParameteriv, glCopyColorTable, glGetColorTable, - glGetColorTableParameterfv, glGetColorTableParameteriv, glColorSubTable, glCopyColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glConvolutionParameterf, glConvolutionParameterfv, glConvolutionParameteri, glConvolutionParameteriv, glCopyConvolutionFilter1D, glCopyConvolutionFilter2D, glGetConvolutionFilter, glGetConvolutionParameterfv, glGetConvolutionParameteriv, glGetSeparableFilter, - glSeparableFilter2D, glGetHistogram, glGetHistogramParameterfv, glGetHistogramParameteriv, glGetMinmax, glGetMinmaxParameterfv, glGetMinmaxParameteriv, glHistogram, glMinmax, glResetHistogram, glResetMinmax, glMultiDrawArraysIndirectCountARB, glMultiDrawElementsIndirectCountARB, glVertexAttribDivisorARB, glCurrentPaletteMatrixARB, glMatrixIndexubvARB, - glMatrixIndexusvARB, glMatrixIndexuivARB, glMatrixIndexPointerARB, glSampleCoverageARB, glActiveTextureARB, glClientActiveTextureARB, glMultiTexCoord1dARB, glMultiTexCoord1dvARB, glMultiTexCoord1fARB, glMultiTexCoord1fvARB, glMultiTexCoord1iARB, glMultiTexCoord1ivARB, glMultiTexCoord1sARB, glMultiTexCoord1svARB, glMultiTexCoord2dARB, glMultiTexCoord2dvARB, - glMultiTexCoord2fARB, glMultiTexCoord2fvARB, glMultiTexCoord2iARB, glMultiTexCoord2ivARB, glMultiTexCoord2sARB, glMultiTexCoord2svARB, glMultiTexCoord3dARB, glMultiTexCoord3dvARB, glMultiTexCoord3fARB, glMultiTexCoord3fvARB, glMultiTexCoord3iARB, glMultiTexCoord3ivARB, glMultiTexCoord3sARB, glMultiTexCoord3svARB, glMultiTexCoord4dARB, glMultiTexCoord4dvARB, - glMultiTexCoord4fARB, glMultiTexCoord4fvARB, glMultiTexCoord4iARB, glMultiTexCoord4ivARB, glMultiTexCoord4sARB, glMultiTexCoord4svARB, glGenQueriesARB, glDeleteQueriesARB, glIsQueryARB, glBeginQueryARB, glEndQueryARB, glGetQueryivARB, glGetQueryObjectivARB, glGetQueryObjectuivARB, glMaxShaderCompilerThreadsARB, glPointParameterfARB, - glPointParameterfvARB, glGetGraphicsResetStatusARB, glGetnCompressedTexImageARB, glGetnTexImageARB, glGetnUniformdvARB, glGetnUniformfvARB, glGetnUniformivARB, glGetnUniformuivARB, glReadnPixelsARB, glEvaluateDepthValuesARB, glFramebufferSampleLocationsfvARB, glNamedFramebufferSampleLocationsfvARB, glMinSampleShadingARB, glDeleteObjectARB, glGetHandleARB, glDetachObjectARB, - glCreateShaderObjectARB, glShaderSourceARB, glCompileShaderARB, glCreateProgramObjectARB, glAttachObjectARB, glLinkProgramARB, glUseProgramObjectARB, glValidateProgramARB, glUniform1fARB, glUniform2fARB, glUniform3fARB, glUniform4fARB, glUniform1iARB, glUniform2iARB, glUniform3iARB, glUniform4iARB, - glUniform1fvARB, glUniform2fvARB, glUniform3fvARB, glUniform4fvARB, glUniform1ivARB, glUniform2ivARB, glUniform3ivARB, glUniform4ivARB, glUniformMatrix2fvARB, glUniformMatrix3fvARB, glUniformMatrix4fvARB, glGetObjectParameterfvARB, glGetObjectParameterivARB, glGetInfoLogARB, glGetAttachedObjectsARB, glGetUniformLocationARB, - glGetActiveUniformARB, glGetUniformfvARB, glGetUniformivARB, glGetShaderSourceARB, glNamedStringARB, glDeleteNamedStringARB, glCompileShaderIncludeARB, glIsNamedStringARB, glGetNamedStringARB, glGetNamedStringivARB, glBufferPageCommitmentARB, glNamedBufferPageCommitmentEXT, glNamedBufferPageCommitmentARB, glTexPageCommitmentARB, glTexBufferARB, glCompressedTexImage3DARB, - glCompressedTexImage2DARB, glCompressedTexImage1DARB, glCompressedTexSubImage3DARB, glCompressedTexSubImage2DARB, glCompressedTexSubImage1DARB, glGetCompressedTexImageARB, glLoadTransposeMatrixfARB, glLoadTransposeMatrixdARB, glMultTransposeMatrixfARB, glMultTransposeMatrixdARB, glWeightbvARB, glWeightsvARB, glWeightivARB, glWeightfvARB, glWeightdvARB, glWeightubvARB, - glWeightusvARB, glWeightuivARB, glWeightPointerARB, glVertexBlendARB, glBindBufferARB, glDeleteBuffersARB, glGenBuffersARB, glIsBufferARB, glBufferDataARB, glBufferSubDataARB, glGetBufferSubDataARB, glMapBufferARB, glUnmapBufferARB, glGetBufferParameterivARB, glGetBufferPointervARB, glVertexAttrib1dARB, - glVertexAttrib1dvARB, glVertexAttrib1fARB, glVertexAttrib1fvARB, glVertexAttrib1sARB, glVertexAttrib1svARB, glVertexAttrib2dARB, glVertexAttrib2dvARB, glVertexAttrib2fARB, glVertexAttrib2fvARB, glVertexAttrib2sARB, glVertexAttrib2svARB, glVertexAttrib3dARB, glVertexAttrib3dvARB, glVertexAttrib3fARB, glVertexAttrib3fvARB, glVertexAttrib3sARB, - glVertexAttrib3svARB, glVertexAttrib4NbvARB, glVertexAttrib4NivARB, glVertexAttrib4NsvARB, glVertexAttrib4NubARB, glVertexAttrib4NubvARB, glVertexAttrib4NuivARB, glVertexAttrib4NusvARB, glVertexAttrib4bvARB, glVertexAttrib4dARB, glVertexAttrib4dvARB, glVertexAttrib4fARB, glVertexAttrib4fvARB, glVertexAttrib4ivARB, glVertexAttrib4sARB, glVertexAttrib4svARB, - glVertexAttrib4ubvARB, glVertexAttrib4uivARB, glVertexAttrib4usvARB, glVertexAttribPointerARB, glEnableVertexAttribArrayARB, glDisableVertexAttribArrayARB, glGetVertexAttribdvARB, glGetVertexAttribfvARB, glGetVertexAttribivARB, glGetVertexAttribPointervARB, glBindAttribLocationARB, glGetActiveAttribARB, glGetAttribLocationARB, glDepthRangeArraydvNV, glDepthRangeIndexeddNV, glWindowPos2dARB, - glWindowPos2dvARB, glWindowPos2fARB, glWindowPos2fvARB, glWindowPos2iARB, glWindowPos2ivARB, glWindowPos2sARB, glWindowPos2svARB, glWindowPos3dARB, glWindowPos3dvARB, glWindowPos3fARB, glWindowPos3fvARB, glWindowPos3iARB, glWindowPos3ivARB, glWindowPos3sARB, glWindowPos3svARB, glBlendBarrierKHR, - glMaxShaderCompilerThreadsKHR, glMultiTexCoord1bOES, glMultiTexCoord1bvOES, glMultiTexCoord2bOES, glMultiTexCoord2bvOES, glMultiTexCoord3bOES, glMultiTexCoord3bvOES, glMultiTexCoord4bOES, glMultiTexCoord4bvOES, glTexCoord1bOES, glTexCoord1bvOES, glTexCoord2bOES, glTexCoord2bvOES, glTexCoord3bOES, glTexCoord3bvOES, glTexCoord4bOES, - glTexCoord4bvOES, glVertex2bOES, glVertex2bvOES, glVertex3bOES, glVertex3bvOES, glVertex4bOES, glVertex4bvOES, glAlphaFuncxOES, glClearColorxOES, glClearDepthxOES, glClipPlanexOES, glColor4xOES, glDepthRangexOES, glFogxOES, glFogxvOES, glFrustumxOES, - glGetClipPlanexOES, glGetFixedvOES, glGetTexEnvxvOES, glGetTexParameterxvOES, glLightModelxOES, glLightModelxvOES, glLightxOES, glLightxvOES, glLineWidthxOES, glLoadMatrixxOES, glMaterialxOES, glMaterialxvOES, glMultMatrixxOES, glMultiTexCoord4xOES, glNormal3xOES, glOrthoxOES, - glPointParameterxvOES, glPointSizexOES, glPolygonOffsetxOES, glRotatexOES, glScalexOES, glTexEnvxOES, glTexEnvxvOES, glTexParameterxOES, glTexParameterxvOES, glTranslatexOES, glAccumxOES, glBitmapxOES, glBlendColorxOES, glClearAccumxOES, glColor3xOES, glColor3xvOES, - glColor4xvOES, glConvolutionParameterxOES, glConvolutionParameterxvOES, glEvalCoord1xOES, glEvalCoord1xvOES, glEvalCoord2xOES, glEvalCoord2xvOES, glFeedbackBufferxOES, glGetConvolutionParameterxvOES, glGetHistogramParameterxvOES, glGetLightxOES, glGetMapxvOES, glGetMaterialxOES, glGetPixelMapxv, glGetTexGenxvOES, glGetTexLevelParameterxvOES, - glIndexxOES, glIndexxvOES, glLoadTransposeMatrixxOES, glMap1xOES, glMap2xOES, glMapGrid1xOES, glMapGrid2xOES, glMultTransposeMatrixxOES, glMultiTexCoord1xOES, glMultiTexCoord1xvOES, glMultiTexCoord2xOES, glMultiTexCoord2xvOES, glMultiTexCoord3xOES, glMultiTexCoord3xvOES, glMultiTexCoord4xvOES, glNormal3xvOES, - glPassThroughxOES, glPixelMapx, glPixelStorex, glPixelTransferxOES, glPixelZoomxOES, glPrioritizeTexturesxOES, glRasterPos2xOES, glRasterPos2xvOES, glRasterPos3xOES, glRasterPos3xvOES, glRasterPos4xOES, glRasterPos4xvOES, glRectxOES, glRectxvOES, glTexCoord1xOES, glTexCoord1xvOES, - glTexCoord2xOES, glTexCoord2xvOES, glTexCoord3xOES, glTexCoord3xvOES, glTexCoord4xOES, glTexCoord4xvOES, glTexGenxOES, glTexGenxvOES, glVertex2xOES, glVertex2xvOES, glVertex3xOES, glVertex3xvOES, glVertex4xOES, glVertex4xvOES, glQueryMatrixxOES, glClearDepthfOES, - glClipPlanefOES, glDepthRangefOES, glFrustumfOES, glGetClipPlanefOES, glOrthofOES, glTbufferMask3DFX, glDebugMessageEnableAMD, glDebugMessageInsertAMD, glDebugMessageCallbackAMD, glGetDebugMessageLogAMD, glBlendFuncIndexedAMD, glBlendFuncSeparateIndexedAMD, glBlendEquationIndexedAMD, glBlendEquationSeparateIndexedAMD, glRenderbufferStorageMultisampleAdvancedAMD, glNamedRenderbufferStorageMultisampleAdvancedAMD, - glFramebufferSamplePositionsfvAMD, glNamedFramebufferSamplePositionsfvAMD, glGetFramebufferParameterfvAMD, glGetNamedFramebufferParameterfvAMD, glUniform1i64NV, glUniform2i64NV, glUniform3i64NV, glUniform4i64NV, glUniform1i64vNV, glUniform2i64vNV, glUniform3i64vNV, glUniform4i64vNV, glUniform1ui64NV, glUniform2ui64NV, glUniform3ui64NV, glUniform4ui64NV, - glUniform1ui64vNV, glUniform2ui64vNV, glUniform3ui64vNV, glUniform4ui64vNV, glGetUniformi64vNV, glGetUniformui64vNV, glProgramUniform1i64NV, glProgramUniform2i64NV, glProgramUniform3i64NV, glProgramUniform4i64NV, glProgramUniform1i64vNV, glProgramUniform2i64vNV, glProgramUniform3i64vNV, glProgramUniform4i64vNV, glProgramUniform1ui64NV, glProgramUniform2ui64NV, - glProgramUniform3ui64NV, glProgramUniform4ui64NV, glProgramUniform1ui64vNV, glProgramUniform2ui64vNV, glProgramUniform3ui64vNV, glProgramUniform4ui64vNV, glVertexAttribParameteriAMD, glMultiDrawArraysIndirectAMD, glMultiDrawElementsIndirectAMD, glGenNamesAMD, glDeleteNamesAMD, glIsNameAMD, glQueryObjectParameteruiAMD, glGetPerfMonitorGroupsAMD, glGetPerfMonitorCountersAMD, glGetPerfMonitorGroupStringAMD, - glGetPerfMonitorCounterStringAMD, glGetPerfMonitorCounterInfoAMD, glGenPerfMonitorsAMD, glDeletePerfMonitorsAMD, glSelectPerfMonitorCountersAMD, glBeginPerfMonitorAMD, glEndPerfMonitorAMD, glGetPerfMonitorCounterDataAMD, glSetMultisamplefvAMD, glTexStorageSparseAMD, glTextureStorageSparseAMD, glStencilOpValueAMD, glTessellationFactorAMD, glTessellationModeAMD, glElementPointerAPPLE, glDrawElementArrayAPPLE, - glDrawRangeElementArrayAPPLE, glMultiDrawElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE, glGenFencesAPPLE, glDeleteFencesAPPLE, glSetFenceAPPLE, glIsFenceAPPLE, glTestFenceAPPLE, glFinishFenceAPPLE, glTestObjectAPPLE, glFinishObjectAPPLE, glBufferParameteriAPPLE, glFlushMappedBufferRangeAPPLE, glObjectPurgeableAPPLE, glObjectUnpurgeableAPPLE, glGetObjectParameterivAPPLE, - glTextureRangeAPPLE, glGetTexParameterPointervAPPLE, glBindVertexArrayAPPLE, glDeleteVertexArraysAPPLE, glGenVertexArraysAPPLE, glIsVertexArrayAPPLE, glVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE, glVertexArrayParameteriAPPLE, glEnableVertexAttribAPPLE, glDisableVertexAttribAPPLE, glIsVertexAttribEnabledAPPLE, glMapVertexAttrib1dAPPLE, glMapVertexAttrib1fAPPLE, glMapVertexAttrib2dAPPLE, glMapVertexAttrib2fAPPLE, - glDrawBuffersATI, glElementPointerATI, glDrawElementArrayATI, glDrawRangeElementArrayATI, glTexBumpParameterivATI, glTexBumpParameterfvATI, glGetTexBumpParameterivATI, glGetTexBumpParameterfvATI, glGenFragmentShadersATI, glBindFragmentShaderATI, glDeleteFragmentShaderATI, glBeginFragmentShaderATI, glEndFragmentShaderATI, glPassTexCoordATI, glSampleMapATI, glColorFragmentOp1ATI, - glColorFragmentOp2ATI, glColorFragmentOp3ATI, glAlphaFragmentOp1ATI, glAlphaFragmentOp2ATI, glAlphaFragmentOp3ATI, glSetFragmentShaderConstantATI, glMapObjectBufferATI, glUnmapObjectBufferATI, glPNTrianglesiATI, glPNTrianglesfATI, glStencilOpSeparateATI, glStencilFuncSeparateATI, glNewObjectBufferATI, glIsObjectBufferATI, glUpdateObjectBufferATI, glGetObjectBufferfvATI, - glGetObjectBufferivATI, glFreeObjectBufferATI, glArrayObjectATI, glGetArrayObjectfvATI, glGetArrayObjectivATI, glVariantArrayObjectATI, glGetVariantArrayObjectfvATI, glGetVariantArrayObjectivATI, glVertexAttribArrayObjectATI, glGetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectivATI, glVertexStream1sATI, glVertexStream1svATI, glVertexStream1iATI, glVertexStream1ivATI, glVertexStream1fATI, - glVertexStream1fvATI, glVertexStream1dATI, glVertexStream1dvATI, glVertexStream2sATI, glVertexStream2svATI, glVertexStream2iATI, glVertexStream2ivATI, glVertexStream2fATI, glVertexStream2fvATI, glVertexStream2dATI, glVertexStream2dvATI, glVertexStream3sATI, glVertexStream3svATI, glVertexStream3iATI, glVertexStream3ivATI, glVertexStream3fATI, - glVertexStream3fvATI, glVertexStream3dATI, glVertexStream3dvATI, glVertexStream4sATI, glVertexStream4svATI, glVertexStream4iATI, glVertexStream4ivATI, glVertexStream4fATI, glVertexStream4fvATI, glVertexStream4dATI, glVertexStream4dvATI, glNormalStream3bATI, glNormalStream3bvATI, glNormalStream3sATI, glNormalStream3svATI, glNormalStream3iATI, - glNormalStream3ivATI, glNormalStream3fATI, glNormalStream3fvATI, glNormalStream3dATI, glNormalStream3dvATI, glClientActiveVertexStreamATI, glVertexBlendEnviATI, glVertexBlendEnvfATI, glEGLImageTargetTexStorageEXT, glEGLImageTargetTextureStorageEXT, glUniformBufferEXT, glGetUniformBufferSizeEXT, glGetUniformOffsetEXT, glBlendColorEXT, glBlendEquationSeparateEXT, glBlendFuncSeparateEXT, - glBlendEquationEXT, glColorSubTableEXT, glCopyColorSubTableEXT, glLockArraysEXT, glUnlockArraysEXT, glConvolutionFilter1DEXT, glConvolutionFilter2DEXT, glConvolutionParameterfEXT, glConvolutionParameterfvEXT, glConvolutionParameteriEXT, glConvolutionParameterivEXT, glCopyConvolutionFilter1DEXT, glCopyConvolutionFilter2DEXT, glGetConvolutionFilterEXT, glGetConvolutionParameterfvEXT, glGetConvolutionParameterivEXT, - glGetSeparableFilterEXT, glSeparableFilter2DEXT, glTangent3bEXT, glTangent3bvEXT, glTangent3dEXT, glTangent3dvEXT, glTangent3fEXT, glTangent3fvEXT, glTangent3iEXT, glTangent3ivEXT, glTangent3sEXT, glTangent3svEXT, glBinormal3bEXT, glBinormal3bvEXT, glBinormal3dEXT, glBinormal3dvEXT, - glBinormal3fEXT, glBinormal3fvEXT, glBinormal3iEXT, glBinormal3ivEXT, glBinormal3sEXT, glBinormal3svEXT, glTangentPointerEXT, glBinormalPointerEXT, glCopyTexImage1DEXT, glCopyTexImage2DEXT, glCopyTexSubImage1DEXT, glCopyTexSubImage2DEXT, glCopyTexSubImage3DEXT, glCullParameterdvEXT, glCullParameterfvEXT, glLabelObjectEXT, - glGetObjectLabelEXT, glInsertEventMarkerEXT, glPushGroupMarkerEXT, glPopGroupMarkerEXT, glDepthBoundsEXT, glMatrixLoadfEXT, glMatrixLoaddEXT, glMatrixMultfEXT, glMatrixMultdEXT, glMatrixLoadIdentityEXT, glMatrixRotatefEXT, glMatrixRotatedEXT, glMatrixScalefEXT, glMatrixScaledEXT, glMatrixTranslatefEXT, glMatrixTranslatedEXT, - glMatrixFrustumEXT, glMatrixOrthoEXT, glMatrixPopEXT, glMatrixPushEXT, glClientAttribDefaultEXT, glPushClientAttribDefaultEXT, glTextureParameterfEXT, glTextureParameterfvEXT, glTextureParameteriEXT, glTextureParameterivEXT, glTextureImage1DEXT, glTextureImage2DEXT, glTextureSubImage1DEXT, glTextureSubImage2DEXT, glCopyTextureImage1DEXT, glCopyTextureImage2DEXT, - glCopyTextureSubImage1DEXT, glCopyTextureSubImage2DEXT, glGetTextureImageEXT, glGetTextureParameterfvEXT, glGetTextureParameterivEXT, glGetTextureLevelParameterfvEXT, glGetTextureLevelParameterivEXT, glTextureImage3DEXT, glTextureSubImage3DEXT, glCopyTextureSubImage3DEXT, glBindMultiTextureEXT, glMultiTexCoordPointerEXT, glMultiTexEnvfEXT, glMultiTexEnvfvEXT, glMultiTexEnviEXT, glMultiTexEnvivEXT, - glMultiTexGendEXT, glMultiTexGendvEXT, glMultiTexGenfEXT, glMultiTexGenfvEXT, glMultiTexGeniEXT, glMultiTexGenivEXT, glGetMultiTexEnvfvEXT, glGetMultiTexEnvivEXT, glGetMultiTexGendvEXT, glGetMultiTexGenfvEXT, glGetMultiTexGenivEXT, glMultiTexParameteriEXT, glMultiTexParameterivEXT, glMultiTexParameterfEXT, glMultiTexParameterfvEXT, glMultiTexImage1DEXT, - glMultiTexImage2DEXT, glMultiTexSubImage1DEXT, glMultiTexSubImage2DEXT, glCopyMultiTexImage1DEXT, glCopyMultiTexImage2DEXT, glCopyMultiTexSubImage1DEXT, glCopyMultiTexSubImage2DEXT, glGetMultiTexImageEXT, glGetMultiTexParameterfvEXT, glGetMultiTexParameterivEXT, glGetMultiTexLevelParameterfvEXT, glGetMultiTexLevelParameterivEXT, glMultiTexImage3DEXT, glMultiTexSubImage3DEXT, glCopyMultiTexSubImage3DEXT, glEnableClientStateIndexedEXT, - glDisableClientStateIndexedEXT, glGetFloatIndexedvEXT, glGetDoubleIndexedvEXT, glGetPointerIndexedvEXT, glEnableIndexedEXT, glDisableIndexedEXT, glIsEnabledIndexedEXT, glGetIntegerIndexedvEXT, glGetBooleanIndexedvEXT, glCompressedTextureImage3DEXT, glCompressedTextureImage2DEXT, glCompressedTextureImage1DEXT, glCompressedTextureSubImage3DEXT, glCompressedTextureSubImage2DEXT, glCompressedTextureSubImage1DEXT, glGetCompressedTextureImageEXT, - glCompressedMultiTexImage3DEXT, glCompressedMultiTexImage2DEXT, glCompressedMultiTexImage1DEXT, glCompressedMultiTexSubImage3DEXT, glCompressedMultiTexSubImage2DEXT, glCompressedMultiTexSubImage1DEXT, glGetCompressedMultiTexImageEXT, glMatrixLoadTransposefEXT, glMatrixLoadTransposedEXT, glMatrixMultTransposefEXT, glMatrixMultTransposedEXT, glNamedBufferDataEXT, glNamedBufferSubDataEXT, glMapNamedBufferEXT, glUnmapNamedBufferEXT, glGetNamedBufferParameterivEXT, - glGetNamedBufferPointervEXT, glGetNamedBufferSubDataEXT, glProgramUniform1fEXT, glProgramUniform2fEXT, glProgramUniform3fEXT, glProgramUniform4fEXT, glProgramUniform1iEXT, glProgramUniform2iEXT, glProgramUniform3iEXT, glProgramUniform4iEXT, glProgramUniform1fvEXT, glProgramUniform2fvEXT, glProgramUniform3fvEXT, glProgramUniform4fvEXT, glProgramUniform1ivEXT, glProgramUniform2ivEXT, - glProgramUniform3ivEXT, glProgramUniform4ivEXT, glProgramUniformMatrix2fvEXT, glProgramUniformMatrix3fvEXT, glProgramUniformMatrix4fvEXT, glProgramUniformMatrix2x3fvEXT, glProgramUniformMatrix3x2fvEXT, glProgramUniformMatrix2x4fvEXT, glProgramUniformMatrix4x2fvEXT, glProgramUniformMatrix3x4fvEXT, glProgramUniformMatrix4x3fvEXT, glTextureBufferEXT, glMultiTexBufferEXT, glTextureParameterIivEXT, glTextureParameterIuivEXT, glGetTextureParameterIivEXT, - glGetTextureParameterIuivEXT, glMultiTexParameterIivEXT, glMultiTexParameterIuivEXT, glGetMultiTexParameterIivEXT, glGetMultiTexParameterIuivEXT, glProgramUniform1uiEXT, glProgramUniform2uiEXT, glProgramUniform3uiEXT, glProgramUniform4uiEXT, glProgramUniform1uivEXT, glProgramUniform2uivEXT, glProgramUniform3uivEXT, glProgramUniform4uivEXT, glNamedProgramLocalParameters4fvEXT, glNamedProgramLocalParameterI4iEXT, glNamedProgramLocalParameterI4ivEXT, - glNamedProgramLocalParametersI4ivEXT, glNamedProgramLocalParameterI4uiEXT, glNamedProgramLocalParameterI4uivEXT, glNamedProgramLocalParametersI4uivEXT, glGetNamedProgramLocalParameterIivEXT, glGetNamedProgramLocalParameterIuivEXT, glEnableClientStateiEXT, glDisableClientStateiEXT, glGetFloati_vEXT, glGetDoublei_vEXT, glGetPointeri_vEXT, glNamedProgramStringEXT, glNamedProgramLocalParameter4dEXT, glNamedProgramLocalParameter4dvEXT, glNamedProgramLocalParameter4fEXT, glNamedProgramLocalParameter4fvEXT, - glGetNamedProgramLocalParameterdvEXT, glGetNamedProgramLocalParameterfvEXT, glGetNamedProgramivEXT, glGetNamedProgramStringEXT, glNamedRenderbufferStorageEXT, glGetNamedRenderbufferParameterivEXT, glNamedRenderbufferStorageMultisampleEXT, glNamedRenderbufferStorageMultisampleCoverageEXT, glCheckNamedFramebufferStatusEXT, glNamedFramebufferTexture1DEXT, glNamedFramebufferTexture2DEXT, glNamedFramebufferTexture3DEXT, glNamedFramebufferRenderbufferEXT, glGetNamedFramebufferAttachmentParameterivEXT, glGenerateTextureMipmapEXT, glGenerateMultiTexMipmapEXT, - glFramebufferDrawBufferEXT, glFramebufferDrawBuffersEXT, glFramebufferReadBufferEXT, glGetFramebufferParameterivEXT, glNamedCopyBufferSubDataEXT, glNamedFramebufferTextureEXT, glNamedFramebufferTextureLayerEXT, glNamedFramebufferTextureFaceEXT, glTextureRenderbufferEXT, glMultiTexRenderbufferEXT, glVertexArrayVertexOffsetEXT, glVertexArrayColorOffsetEXT, glVertexArrayEdgeFlagOffsetEXT, glVertexArrayIndexOffsetEXT, glVertexArrayNormalOffsetEXT, glVertexArrayTexCoordOffsetEXT, - glVertexArrayMultiTexCoordOffsetEXT, glVertexArrayFogCoordOffsetEXT, glVertexArraySecondaryColorOffsetEXT, glVertexArrayVertexAttribOffsetEXT, glVertexArrayVertexAttribIOffsetEXT, glEnableVertexArrayEXT, glDisableVertexArrayEXT, glEnableVertexArrayAttribEXT, glDisableVertexArrayAttribEXT, glGetVertexArrayIntegervEXT, glGetVertexArrayPointervEXT, glGetVertexArrayIntegeri_vEXT, glGetVertexArrayPointeri_vEXT, glMapNamedBufferRangeEXT, glFlushMappedNamedBufferRangeEXT, glNamedBufferStorageEXT, - glClearNamedBufferDataEXT, glClearNamedBufferSubDataEXT, glNamedFramebufferParameteriEXT, glGetNamedFramebufferParameterivEXT, glProgramUniform1dEXT, glProgramUniform2dEXT, glProgramUniform3dEXT, glProgramUniform4dEXT, glProgramUniform1dvEXT, glProgramUniform2dvEXT, glProgramUniform3dvEXT, glProgramUniform4dvEXT, glProgramUniformMatrix2dvEXT, glProgramUniformMatrix3dvEXT, glProgramUniformMatrix4dvEXT, glProgramUniformMatrix2x3dvEXT, - glProgramUniformMatrix2x4dvEXT, glProgramUniformMatrix3x2dvEXT, glProgramUniformMatrix3x4dvEXT, glProgramUniformMatrix4x2dvEXT, glProgramUniformMatrix4x3dvEXT, glTextureBufferRangeEXT, glTextureStorage1DEXT, glTextureStorage2DEXT, glTextureStorage3DEXT, glTextureStorage2DMultisampleEXT, glTextureStorage3DMultisampleEXT, glVertexArrayBindVertexBufferEXT, glVertexArrayVertexAttribFormatEXT, glVertexArrayVertexAttribIFormatEXT, glVertexArrayVertexAttribLFormatEXT, glVertexArrayVertexAttribBindingEXT, - glVertexArrayVertexBindingDivisorEXT, glVertexArrayVertexAttribLOffsetEXT, glTexturePageCommitmentEXT, glVertexArrayVertexAttribDivisorEXT, glColorMaskIndexedEXT, glDrawArraysInstancedEXT, glDrawElementsInstancedEXT, glDrawRangeElementsEXT, glBufferStorageExternalEXT, glNamedBufferStorageExternalEXT, glFogCoordfEXT, glFogCoordfvEXT, glFogCoorddEXT, glFogCoorddvEXT, glFogCoordPointerEXT, glBlitFramebufferEXT, - glBlitFramebufferLayersEXT, glBlitFramebufferLayerEXT, glRenderbufferStorageMultisampleEXT, glIsRenderbufferEXT, glBindRenderbufferEXT, glDeleteRenderbuffersEXT, glGenRenderbuffersEXT, glRenderbufferStorageEXT, glGetRenderbufferParameterivEXT, glIsFramebufferEXT, glBindFramebufferEXT, glDeleteFramebuffersEXT, glGenFramebuffersEXT, glCheckFramebufferStatusEXT, glFramebufferTexture1DEXT, glFramebufferTexture2DEXT, - glFramebufferTexture3DEXT, glFramebufferRenderbufferEXT, glGetFramebufferAttachmentParameterivEXT, glGenerateMipmapEXT, glProgramParameteriEXT, glProgramEnvParameters4fvEXT, glProgramLocalParameters4fvEXT, glGetUniformuivEXT, glBindFragDataLocationEXT, glGetFragDataLocationEXT, glUniform1uiEXT, glUniform2uiEXT, glUniform3uiEXT, glUniform4uiEXT, glUniform1uivEXT, glUniform2uivEXT, - glUniform3uivEXT, glUniform4uivEXT, glVertexAttribI1iEXT, glVertexAttribI2iEXT, glVertexAttribI3iEXT, glVertexAttribI4iEXT, glVertexAttribI1uiEXT, glVertexAttribI2uiEXT, glVertexAttribI3uiEXT, glVertexAttribI4uiEXT, glVertexAttribI1ivEXT, glVertexAttribI2ivEXT, glVertexAttribI3ivEXT, glVertexAttribI4ivEXT, glVertexAttribI1uivEXT, glVertexAttribI2uivEXT, - glVertexAttribI3uivEXT, glVertexAttribI4uivEXT, glVertexAttribI4bvEXT, glVertexAttribI4svEXT, glVertexAttribI4ubvEXT, glVertexAttribI4usvEXT, glVertexAttribIPointerEXT, glGetVertexAttribIivEXT, glGetVertexAttribIuivEXT, glGetHistogramEXT, glGetHistogramParameterfvEXT, glGetHistogramParameterivEXT, glGetMinmaxEXT, glGetMinmaxParameterfvEXT, glGetMinmaxParameterivEXT, glHistogramEXT, - glMinmaxEXT, glResetHistogramEXT, glResetMinmaxEXT, glIndexFuncEXT, glIndexMaterialEXT, glApplyTextureEXT, glTextureLightEXT, glTextureMaterialEXT, glGetUnsignedBytevEXT, glGetUnsignedBytei_vEXT, glDeleteMemoryObjectsEXT, glIsMemoryObjectEXT, glCreateMemoryObjectsEXT, glMemoryObjectParameterivEXT, glGetMemoryObjectParameterivEXT, glTexStorageMem2DEXT, - glTexStorageMem2DMultisampleEXT, glTexStorageMem3DEXT, glTexStorageMem3DMultisampleEXT, glBufferStorageMemEXT, glTextureStorageMem2DEXT, glTextureStorageMem2DMultisampleEXT, glTextureStorageMem3DEXT, glTextureStorageMem3DMultisampleEXT, glNamedBufferStorageMemEXT, glTexStorageMem1DEXT, glTextureStorageMem1DEXT, glImportMemoryFdEXT, glImportMemoryWin32HandleEXT, glImportMemoryWin32NameEXT, glMultiDrawArraysEXT, glMultiDrawElementsEXT, - glSampleMaskEXT, glSamplePatternEXT, glColorTableEXT, glGetColorTableEXT, glGetColorTableParameterivEXT, glGetColorTableParameterfvEXT, glPixelTransformParameteriEXT, glPixelTransformParameterfEXT, glPixelTransformParameterivEXT, glPixelTransformParameterfvEXT, glGetPixelTransformParameterivEXT, glGetPixelTransformParameterfvEXT, glPointParameterfEXT, glPointParameterfvEXT, glPolygonOffsetEXT, glPolygonOffsetClampEXT, - glProvokingVertexEXT, glRasterSamplesEXT, glSecondaryColor3bEXT, glSecondaryColor3bvEXT, glSecondaryColor3dEXT, glSecondaryColor3dvEXT, glSecondaryColor3fEXT, glSecondaryColor3fvEXT, glSecondaryColor3iEXT, glSecondaryColor3ivEXT, glSecondaryColor3sEXT, glSecondaryColor3svEXT, glSecondaryColor3ubEXT, glSecondaryColor3ubvEXT, glSecondaryColor3uiEXT, glSecondaryColor3uivEXT, - glSecondaryColor3usEXT, glSecondaryColor3usvEXT, glSecondaryColorPointerEXT, glGenSemaphoresEXT, glDeleteSemaphoresEXT, glIsSemaphoreEXT, glSemaphoreParameterui64vEXT, glGetSemaphoreParameterui64vEXT, glWaitSemaphoreEXT, glSignalSemaphoreEXT, glImportSemaphoreFdEXT, glImportSemaphoreWin32HandleEXT, glImportSemaphoreWin32NameEXT, glUseShaderProgramEXT, glActiveProgramEXT, glCreateShaderProgramEXT, - glFramebufferFetchBarrierEXT, glBindImageTextureEXT, glMemoryBarrierEXT, glStencilClearTagEXT, glActiveStencilFaceEXT, glTexSubImage1DEXT, glTexSubImage2DEXT, glTexImage3DEXT, glTexSubImage3DEXT, glFramebufferTextureLayerEXT, glTexBufferEXT, glTexParameterIivEXT, glTexParameterIuivEXT, glGetTexParameterIivEXT, glGetTexParameterIuivEXT, glClearColorIiEXT, - glClearColorIuiEXT, glAreTexturesResidentEXT, glBindTextureEXT, glDeleteTexturesEXT, glGenTexturesEXT, glIsTextureEXT, glPrioritizeTexturesEXT, glTextureNormalEXT, glTexStorage1DEXT, glTexStorage2DEXT, glTexStorage3DEXT, glGetQueryObjecti64vEXT, glGetQueryObjectui64vEXT, glBeginTransformFeedbackEXT, glEndTransformFeedbackEXT, glBindBufferRangeEXT, - glBindBufferOffsetEXT, glBindBufferBaseEXT, glTransformFeedbackVaryingsEXT, glGetTransformFeedbackVaryingEXT, glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glEdgeFlagPointerEXT, glGetPointervEXT, glIndexPointerEXT, glNormalPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glVertexAttribL1dEXT, glVertexAttribL2dEXT, glVertexAttribL3dEXT, - glVertexAttribL4dEXT, glVertexAttribL1dvEXT, glVertexAttribL2dvEXT, glVertexAttribL3dvEXT, glVertexAttribL4dvEXT, glVertexAttribLPointerEXT, glGetVertexAttribLdvEXT, glBeginVertexShaderEXT, glEndVertexShaderEXT, glBindVertexShaderEXT, glGenVertexShadersEXT, glDeleteVertexShaderEXT, glShaderOp1EXT, glShaderOp2EXT, glShaderOp3EXT, glSwizzleEXT, - glWriteMaskEXT, glInsertComponentEXT, glExtractComponentEXT, glGenSymbolsEXT, glSetInvariantEXT, glSetLocalConstantEXT, glVariantbvEXT, glVariantsvEXT, glVariantivEXT, glVariantfvEXT, glVariantdvEXT, glVariantubvEXT, glVariantusvEXT, glVariantuivEXT, glVariantPointerEXT, glEnableVariantClientStateEXT, - glDisableVariantClientStateEXT, glBindLightParameterEXT, glBindMaterialParameterEXT, glBindTexGenParameterEXT, glBindTextureUnitParameterEXT, glBindParameterEXT, glIsVariantEnabledEXT, glGetVariantBooleanvEXT, glGetVariantIntegervEXT, glGetVariantFloatvEXT, glGetVariantPointervEXT, glGetInvariantBooleanvEXT, glGetInvariantIntegervEXT, glGetInvariantFloatvEXT, glGetLocalConstantBooleanvEXT, glGetLocalConstantIntegervEXT, - glGetLocalConstantFloatvEXT, glVertexWeightfEXT, glVertexWeightfvEXT, glVertexWeightPointerEXT, glAcquireKeyedMutexWin32EXT, glReleaseKeyedMutexWin32EXT, glWindowRectanglesEXT, glImportSyncEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, - glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, - glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, - glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, - glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, - glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, - glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, - glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, - glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, - glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, - glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, - glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, - glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, - glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, - glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, - glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, - glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, - glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, - glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, - glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, - glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, - glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, - glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, - glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, - glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, - glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, - glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, - glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, - glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, - glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, - glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, - glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, - glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, - glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, - glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, - glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, - glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, - glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, - glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, - glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, - glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, - glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, - glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; - - void load(GLLoadFunc load) { - GLARBES32Compatibility.load(this, load); - GLARBBindlessTexture.load(this, load); - GLARBCLEvent.load(this, load); - GLARBColorBufferFloat.load(this, load); - GLARBComputeVariableGroupSize.load(this, load); - GLARBDebugOutput.load(this, load); - GLARBDrawBuffers.load(this, load); - GLARBDrawBuffersBlend.load(this, load); - GLARBDrawInstanced.load(this, load); - GLARBFragmentProgram.load(this, load); - GLARBGeometryShader4.load(this, load); - GLARBGLSpirv.load(this, load); - GLARBGpuShaderInt64.load(this, load); - GLARBImaging.load(this, load); - GLARBIndirectParameters.load(this, load); - GLARBInstancedArrays.load(this, load); - GLARBMatrixPalette.load(this, load); - GLARBMultisample.load(this, load); - GLARBMultitexture.load(this, load); - GLARBOcclusionQuery.load(this, load); - GLARBParallelShaderCompile.load(this, load); - GLARBPointParameters.load(this, load); - GLARBRobustness.load(this, load); - GLARBSampleLocations.load(this, load); - GLARBSampleShading.load(this, load); - GLARBShaderObjects.load(this, load); - GLARBShadingLanguageInclude.load(this, load); - GLARBSparseBuffer.load(this, load); - GLARBSparseTexture.load(this, load); - GLARBTextureBufferObject.load(this, load); - GLARBTextureCompression.load(this, load); - GLARBTransposeMatrix.load(this, load); - GLARBVertexBlend.load(this, load); - GLARBVertexBufferObject.load(this, load); - GLARBVertexProgram.load(this, load); - GLARBVertexShader.load(this, load); - GLARBViewportArray.load(this, load); - GLARBWindowPos.load(this, load); - GLKHRBlendEquationAdvanced.load(this, load); - GLKHRParallelShaderCompile.load(this, load); - GLOESByteCoordinates.load(this, load); - GLOESFixedPoint.load(this, load); - GLOESQueryMatrix.load(this, load); - GLOESSinglePrecision.load(this, load); - GL3DFXTbuffer.load(this, load); - GLAMDDebugOutput.load(this, load); - GLAMDDrawBuffersBlend.load(this, load); - GLAMDFramebufferMultisampleAdvanced.load(this, load); - GLAMDFramebufferSamplePositions.load(this, load); - GLAMDGpuShaderInt64.load(this, load); - GLAMDInterleavedElements.load(this, load); - GLAMDMultiDrawIndirect.load(this, load); - GLAMDNameGenDelete.load(this, load); - GLAMDOcclusionQueryEvent.load(this, load); - GLAMDPerformanceMonitor.load(this, load); - GLAMDSamplePositions.load(this, load); - GLAMDSparseTexture.load(this, load); - GLAMDStencilOperationExtended.load(this, load); - GLAMDVertexShaderTessellator.load(this, load); - GLAPPLEElementArray.load(this, load); - GLAPPLEFence.load(this, load); - GLAPPLEFlushBufferRange.load(this, load); - GLAPPLEObjectPurgeable.load(this, load); - GLAPPLETextureRange.load(this, load); - GLAPPLEVertexArrayObject.load(this, load); - GLAPPLEVertexArrayRange.load(this, load); - GLAPPLEVertexProgramEvaluators.load(this, load); - GLATIDrawBuffers.load(this, load); - GLATIElementArray.load(this, load); - GLATIEnvmapBumpmap.load(this, load); - GLATIFragmentShader.load(this, load); - GLATIMapObjectBuffer.load(this, load); - GLATIPnTriangles.load(this, load); - GLATISeparateStencil.load(this, load); - GLATIVertexArrayObject.load(this, load); - GLATIVertexAttribArrayObject.load(this, load); - GLATIVertexStreams.load(this, load); - GLEXTEGLImageStorage.load(this, load); - GLEXTBindableUniform.load(this, load); - GLEXTBlendColor.load(this, load); - GLEXTBlendEquationSeparate.load(this, load); - GLEXTBlendFuncSeparate.load(this, load); - GLEXTBlendMinmax.load(this, load); - GLEXTColorSubtable.load(this, load); - GLEXTCompiledVertexArray.load(this, load); - GLEXTConvolution.load(this, load); - GLEXTCoordinateFrame.load(this, load); - GLEXTCopyTexture.load(this, load); - GLEXTCullVertex.load(this, load); - GLEXTDebugLabel.load(this, load); - GLEXTDebugMarker.load(this, load); - GLEXTDepthBoundsTest.load(this, load); - GLEXTDirectStateAccess.load(this, load); - GLEXTDrawBuffers2.load(this, load); - GLEXTDrawInstanced.load(this, load); - GLEXTDrawRangedElements.load(this, load); - GLEXTExternalBuffer.load(this, load); - GLEXTFogCoord.load(this, load); - GLEXTFramebufferBlit.load(this, load); - GLEXTFramebufferBlitLayers.load(this, load); - GLEXTFramebufferMultisample.load(this, load); - GLEXTFramebufferObject.load(this, load); - GLEXTGeometryShader4.load(this, load); - GLEXTGpuProgramParameters.load(this, load); - GLEXTGpuShader4.load(this, load); - GLEXTHistogram.load(this, load); - GLEXTIndexFunc.load(this, load); - GLEXTIndexMaterial.load(this, load); - GLEXTLightTexture.load(this, load); - GLEXTMemoryObject.load(this, load); - GLEXTMemoryObjectFd.load(this, load); - GLEXTMemoryObjectWin32.load(this, load); - GLEXTMultiDrawArrays.load(this, load); - GLEXTMultisample.load(this, load); - GLEXTPalettedTexture.load(this, load); - GLEXTPixelTransform.load(this, load); - GLEXTPointParameters.load(this, load); - GLEXTPolygonOffset.load(this, load); - GLEXTPolygonOffsetClamp.load(this, load); - GLEXTProvokingVertex.load(this, load); - GLEXTRasterMultisample.load(this, load); - GLEXTSecondaryColor.load(this, load); - GLEXTSemaphore.load(this, load); - GLEXTSemaphoreFd.load(this, load); - GLEXTSemaphoreWin32.load(this, load); - GLEXTSeparateShaderObjects.load(this, load); - GLEXTShaderFramebufferFetchNonCoherent.load(this, load); - GLEXTShaderImageLoadStore.load(this, load); - GLEXTStencilClearTag.load(this, load); - GLEXTStencilTwoSide.load(this, load); - GLEXTSubtexture.load(this, load); - GLEXTTexture3D.load(this, load); - GLEXTTextureArray.load(this, load); - GLEXTTextureBufferObject.load(this, load); - GLEXTTextureInteger.load(this, load); - GLEXTTextureObject.load(this, load); - GLEXTTexturePerturbNormal.load(this, load); - GLEXTTextureStorage.load(this, load); - GLEXTTimerQuery.load(this, load); - GLEXTTransformFeedback.load(this, load); - GLEXTVertexArray.load(this, load); - GLEXTVertexAttrib64bit.load(this, load); - GLEXTVertexShader.load(this, load); - GLEXTVertexWeighting.load(this, load); - GLEXTWin32KeyedMutex.load(this, load); - GLEXTWindowRectangles.load(this, load); - GLEXTX11SyncObject.load(this, load); - GLGREMEDYFrameTerminator.load(this, load); - GLGREMEDYStringMarker.load(this, load); - GLHPImageTransform.load(this, load); - GLIBMMultimodeDrawArrays.load(this, load); - GLIBMStaticData.load(this, load); - GLIBMVertexArrayLists.load(this, load); - GLINGRBlendFuncSeparate.load(this, load); - GLINTELFramebufferCMAA.load(this, load); - GLINTELMapTexture.load(this, load); - GLINTELParallelArrays.load(this, load); - GLINTELPerformanceQuery.load(this, load); - GLMESAFramebufferFlipY.load(this, load); - GLMESAResizeBuffers.load(this, load); - GLMESAWindowPos.load(this, load); - GLNVXConditionalRender.load(this, load); - GLNVXGpuMulticast2.load(this, load); - GLNVXLinkedGpuMulticast.load(this, load); - GLNVXProgressFence.load(this, load); - GLNVAlphaToCoverageDitherControl.load(this, load); - GLNVBindlessMultiDrawIndirect.load(this, load); - GLNVBindlessMultiDrawIndirectCount.load(this, load); - GLNVBindlessTexture.load(this, load); - GLNVBlendEquationAdvanced.load(this, load); - GLNVClipSpaceWScaling.load(this, load); - GLNVCommandList.load(this, load); - GLNVConditionalRender.load(this, load); - GLNVConservativeRaster.load(this, load); - GLNVConservativeRasterDilate.load(this, load); - GLNVConservativeRasterPreSnapTriangles.load(this, load); - GLNVCopyImage.load(this, load); - GLNVDepthBufferFloat.load(this, load); - GLNVDrawTexture.load(this, load); - GLNVDrawVulkanImage.load(this, load); - GLNVEvaluators.load(this, load); - GLNVExplicitMultisample.load(this, load); - GLNVFence.load(this, load); - GLNVFragmentCoverageToColor.load(this, load); - GLNVFragmentProgram.load(this, load); - GLNVFramebufferMixedSamples.load(this, load); - GLNVFramebufferMultisampleCoverage.load(this, load); - GLNVGeometryProgram4.load(this, load); - GLNVGpuMulticast.load(this, load); - GLNVGpuProgram4.load(this, load); - GLNVGpuProgram5.load(this, load); - GLNVHalfFloat.load(this, load); - GLNVInternalformatSampleQuery.load(this, load); - GLNVMemoryAttachment.load(this, load); - GLNVMemoryObjectSparse.load(this, load); - GLNVMeshShader.load(this, load); - GLNVOcculusionQuery.load(this, load); - GLNVParameterBufferObject.load(this, load); - GLNVPathRendering.load(this, load); - GLNVPixelDataRange.load(this, load); - GLNVPointSprite.load(this, load); - GLNVPresentVideo.load(this, load); - GLNVPrimitiveRestart.load(this, load); - GLNVQueryResource.load(this, load); - GLNVQueryResourceTag.load(this, load); - GLNVRegisterCombiners.load(this, load); - GLNVRegisterCombiners2.load(this, load); - GLNVSampleLocations.load(this, load); - GLNVScissorExclusive.load(this, load); - GLNVShaderBufferLoad.load(this, load); - GLNVShadingRateImage.load(this, load); - GLNVTextureBarrier.load(this, load); - GLNVTextureMultisample.load(this, load); - GLNVTimelineSemaphore.load(this, load); - GLNVTransformFeedback.load(this, load); - GLNVTransformFeedback2.load(this, load); - GLNVVDPAUInterop.load(this, load); - GLNVVDPAUInterop2.load(this, load); - GLNVVertexArrayRange.load(this, load); - GLNVVertexAttribInteger64bit.load(this, load); - GLNVVertexBufferUnifiedMemory.load(this, load); - GLNVVertexProgram.load(this, load); - GLNVVideoCapture.load(this, load); - GLNVViewportSwizzle.load(this, load); - GLOVRMultiview.load(this, load); - GLPGIMiscHints.load(this, load); - GLSGISDetailTexture.load(this, load); - GLSGISFogFunction.load(this, load); - GLSGISMultisample.load(this, load); - GLSGISPixelTexture.load(this, load); - GLSGISPointParameters.load(this, load); - GLSGISSharpenTexture.load(this, load); - GLSGISTexture4D.load(this, load); - GLSGISTextureColorMask.load(this, load); - GLSGISTextureFilter4.load(this, load); - GLSGIXAsync.load(this, load); - GLSGIXFlushRaster.load(this, load); - GLSGIXFragmentLighting.load(this, load); - GLSGIXFramezoom.load(this, load); - GLSGIXIglooInterface.load(this, load); - GLSGIXInstruments.load(this, load); - GLSGIXListPriority.load(this, load); - GLSGIXPixelTexture.load(this, load); - GLSGIXPolynomialFFD.load(this, load); - GLSGIXReferencePlane.load(this, load); - GLSGIXSprite.load(this, load); - GLSGIXTagSampleBuffer.load(this, load); - GLSGIColorTable.load(this, load); - GLSUNXConstantData.load(this, load); - GLSUNGlobalAlpha.load(this, load); - GLSUNMeshArray.load(this, load); - GLSUNTriangleList.load(this, load); - GLSUNVertex.load(this, load); - } - - boolean findExtensionsGL(GLLoadFunc load, int version) { - var list = new ArrayList(700); - if (!getExtensions(load, version, list)) return false; - - this.GL_ARB_ES2_compatibility = list.contains("GL_ARB_ES2_compatibility"); - this.GL_ARB_ES3_1_compatibility = list.contains("GL_ARB_ES3_1_compatibility"); - this.GL_ARB_ES3_2_compatibility = list.contains("GL_ARB_ES3_2_compatibility"); - this.GL_ARB_ES3_compatibility = list.contains("GL_ARB_ES3_compatibility"); - this.GL_ARB_arrays_of_arrays = list.contains("GL_ARB_arrays_of_arrays"); - this.GL_ARB_base_instance = list.contains("GL_ARB_base_instance"); - this.GL_ARB_bindless_texture = list.contains("GL_ARB_bindless_texture"); - this.GL_ARB_blend_func_extended = list.contains("GL_ARB_blend_func_extended"); - this.GL_ARB_buffer_storage = list.contains("GL_ARB_buffer_storage"); - this.GL_ARB_cl_event = list.contains("GL_ARB_cl_event"); - this.GL_ARB_clear_buffer_object = list.contains("GL_ARB_clear_buffer_object"); - this.GL_ARB_clear_texture = list.contains("GL_ARB_clear_texture"); - this.GL_ARB_clip_control = list.contains("GL_ARB_clip_control"); - this.GL_ARB_color_buffer_float = list.contains("GL_ARB_color_buffer_float"); - this.GL_ARB_compatibility = list.contains("GL_ARB_compatibility"); - this.GL_ARB_compressed_texture_pixel_storage = list.contains("GL_ARB_compressed_texture_pixel_storage"); - this.GL_ARB_compute_shader = list.contains("GL_ARB_compute_shader"); - this.GL_ARB_compute_variable_group_size = list.contains("GL_ARB_compute_variable_group_size"); - this.GL_ARB_conditional_render_inverted = list.contains("GL_ARB_conditional_render_inverted"); - this.GL_ARB_conservative_depth = list.contains("GL_ARB_conservative_depth"); - this.GL_ARB_copy_buffer = list.contains("GL_ARB_copy_buffer"); - this.GL_ARB_copy_image = list.contains("GL_ARB_copy_image"); - this.GL_ARB_cull_distance = list.contains("GL_ARB_cull_distance"); - this.GL_ARB_debug_output = list.contains("GL_ARB_debug_output"); - this.GL_ARB_depth_buffer_float = list.contains("GL_ARB_depth_buffer_float"); - this.GL_ARB_depth_clamp = list.contains("GL_ARB_depth_clamp"); - this.GL_ARB_depth_texture = list.contains("GL_ARB_depth_texture"); - this.GL_ARB_derivative_control = list.contains("GL_ARB_derivative_control"); - this.GL_ARB_direct_state_access = list.contains("GL_ARB_direct_state_access"); - this.GL_ARB_draw_buffers = list.contains("GL_ARB_draw_buffers"); - this.GL_ARB_draw_buffers_blend = list.contains("GL_ARB_draw_buffers_blend"); - this.GL_ARB_draw_elements_base_vertex = list.contains("GL_ARB_draw_elements_base_vertex"); - this.GL_ARB_draw_indirect = list.contains("GL_ARB_draw_indirect"); - this.GL_ARB_draw_instanced = list.contains("GL_ARB_draw_instanced"); - this.GL_ARB_enhanced_layouts = list.contains("GL_ARB_enhanced_layouts"); - this.GL_ARB_explicit_attrib_location = list.contains("GL_ARB_explicit_attrib_location"); - this.GL_ARB_explicit_uniform_location = list.contains("GL_ARB_explicit_uniform_location"); - this.GL_ARB_fragment_coord_conventions = list.contains("GL_ARB_fragment_coord_conventions"); - this.GL_ARB_fragment_layer_viewport = list.contains("GL_ARB_fragment_layer_viewport"); - this.GL_ARB_fragment_program = list.contains("GL_ARB_fragment_program"); - this.GL_ARB_fragment_program_shadow = list.contains("GL_ARB_fragment_program_shadow"); - this.GL_ARB_fragment_shader = list.contains("GL_ARB_fragment_shader"); - this.GL_ARB_fragment_shader_interlock = list.contains("GL_ARB_fragment_shader_interlock"); - this.GL_ARB_framebuffer_no_attachments = list.contains("GL_ARB_framebuffer_no_attachments"); - this.GL_ARB_framebuffer_object = list.contains("GL_ARB_framebuffer_object"); - this.GL_ARB_framebuffer_sRGB = list.contains("GL_ARB_framebuffer_sRGB"); - this.GL_ARB_geometry_shader4 = list.contains("GL_ARB_geometry_shader4"); - this.GL_ARB_get_program_binary = list.contains("GL_ARB_get_program_binary"); - this.GL_ARB_get_texture_sub_image = list.contains("GL_ARB_get_texture_sub_image"); - this.GL_ARB_gl_spirv = list.contains("GL_ARB_gl_spirv"); - this.GL_ARB_gpu_shader5 = list.contains("GL_ARB_gpu_shader5"); - this.GL_ARB_gpu_shader_fp64 = list.contains("GL_ARB_gpu_shader_fp64"); - this.GL_ARB_gpu_shader_int64 = list.contains("GL_ARB_gpu_shader_int64"); - this.GL_ARB_half_float_pixel = list.contains("GL_ARB_half_float_pixel"); - this.GL_ARB_half_float_vertex = list.contains("GL_ARB_half_float_vertex"); - this.GL_ARB_imaging = list.contains("GL_ARB_imaging"); - this.GL_ARB_indirect_parameters = list.contains("GL_ARB_indirect_parameters"); - this.GL_ARB_instanced_arrays = list.contains("GL_ARB_instanced_arrays"); - this.GL_ARB_internalformat_query = list.contains("GL_ARB_internalformat_query"); - this.GL_ARB_internalformat_query2 = list.contains("GL_ARB_internalformat_query2"); - this.GL_ARB_invalidate_subdata = list.contains("GL_ARB_invalidate_subdata"); - this.GL_ARB_map_buffer_alignment = list.contains("GL_ARB_map_buffer_alignment"); - this.GL_ARB_map_buffer_range = list.contains("GL_ARB_map_buffer_range"); - this.GL_ARB_matrix_palette = list.contains("GL_ARB_matrix_palette"); - this.GL_ARB_multi_bind = list.contains("GL_ARB_multi_bind"); - this.GL_ARB_multi_draw_indirect = list.contains("GL_ARB_multi_draw_indirect"); - this.GL_ARB_multisample = list.contains("GL_ARB_multisample"); - this.GL_ARB_multitexture = list.contains("GL_ARB_multitexture"); - this.GL_ARB_occlusion_query = list.contains("GL_ARB_occlusion_query"); - this.GL_ARB_occlusion_query2 = list.contains("GL_ARB_occlusion_query2"); - this.GL_ARB_parallel_shader_compile = list.contains("GL_ARB_parallel_shader_compile"); - this.GL_ARB_pipeline_statistics_query = list.contains("GL_ARB_pipeline_statistics_query"); - this.GL_ARB_pixel_buffer_object = list.contains("GL_ARB_pixel_buffer_object"); - this.GL_ARB_point_parameters = list.contains("GL_ARB_point_parameters"); - this.GL_ARB_point_sprite = list.contains("GL_ARB_point_sprite"); - this.GL_ARB_polygon_offset_clamp = list.contains("GL_ARB_polygon_offset_clamp"); - this.GL_ARB_post_depth_coverage = list.contains("GL_ARB_post_depth_coverage"); - this.GL_ARB_program_interface_query = list.contains("GL_ARB_program_interface_query"); - this.GL_ARB_provoking_vertex = list.contains("GL_ARB_provoking_vertex"); - this.GL_ARB_query_buffer_object = list.contains("GL_ARB_query_buffer_object"); - this.GL_ARB_robust_buffer_access_behavior = list.contains("GL_ARB_robust_buffer_access_behavior"); - this.GL_ARB_robustness = list.contains("GL_ARB_robustness"); - this.GL_ARB_robustness_isolation = list.contains("GL_ARB_robustness_isolation"); - this.GL_ARB_sample_locations = list.contains("GL_ARB_sample_locations"); - this.GL_ARB_sample_shading = list.contains("GL_ARB_sample_shading"); - this.GL_ARB_sampler_objects = list.contains("GL_ARB_sampler_objects"); - this.GL_ARB_seamless_cube_map = list.contains("GL_ARB_seamless_cube_map"); - this.GL_ARB_seamless_cubemap_per_texture = list.contains("GL_ARB_seamless_cubemap_per_texture"); - this.GL_ARB_separate_shader_objects = list.contains("GL_ARB_separate_shader_objects"); - this.GL_ARB_shader_atomic_counter_ops = list.contains("GL_ARB_shader_atomic_counter_ops"); - this.GL_ARB_shader_atomic_counters = list.contains("GL_ARB_shader_atomic_counters"); - this.GL_ARB_shader_ballot = list.contains("GL_ARB_shader_ballot"); - this.GL_ARB_shader_bit_encoding = list.contains("GL_ARB_shader_bit_encoding"); - this.GL_ARB_shader_clock = list.contains("GL_ARB_shader_clock"); - this.GL_ARB_shader_draw_parameters = list.contains("GL_ARB_shader_draw_parameters"); - this.GL_ARB_shader_group_vote = list.contains("GL_ARB_shader_group_vote"); - this.GL_ARB_shader_image_load_store = list.contains("GL_ARB_shader_image_load_store"); - this.GL_ARB_shader_image_size = list.contains("GL_ARB_shader_image_size"); - this.GL_ARB_shader_objects = list.contains("GL_ARB_shader_objects"); - this.GL_ARB_shader_precision = list.contains("GL_ARB_shader_precision"); - this.GL_ARB_shader_stencil_export = list.contains("GL_ARB_shader_stencil_export"); - this.GL_ARB_shader_storage_buffer_object = list.contains("GL_ARB_shader_storage_buffer_object"); - this.GL_ARB_shader_subroutine = list.contains("GL_ARB_shader_subroutine"); - this.GL_ARB_shader_texture_image_samples = list.contains("GL_ARB_shader_texture_image_samples"); - this.GL_ARB_shader_texture_lod = list.contains("GL_ARB_shader_texture_lod"); - this.GL_ARB_shader_viewport_layer_array = list.contains("GL_ARB_shader_viewport_layer_array"); - this.GL_ARB_shading_language_100 = list.contains("GL_ARB_shading_language_100"); - this.GL_ARB_shading_language_420pack = list.contains("GL_ARB_shading_language_420pack"); - this.GL_ARB_shading_language_include = list.contains("GL_ARB_shading_language_include"); - this.GL_ARB_shading_language_packing = list.contains("GL_ARB_shading_language_packing"); - this.GL_ARB_shadow = list.contains("GL_ARB_shadow"); - this.GL_ARB_shadow_ambient = list.contains("GL_ARB_shadow_ambient"); - this.GL_ARB_sparse_buffer = list.contains("GL_ARB_sparse_buffer"); - this.GL_ARB_sparse_texture = list.contains("GL_ARB_sparse_texture"); - this.GL_ARB_sparse_texture2 = list.contains("GL_ARB_sparse_texture2"); - this.GL_ARB_sparse_texture_clamp = list.contains("GL_ARB_sparse_texture_clamp"); - this.GL_ARB_spirv_extensions = list.contains("GL_ARB_spirv_extensions"); - this.GL_ARB_stencil_texturing = list.contains("GL_ARB_stencil_texturing"); - this.GL_ARB_sync = list.contains("GL_ARB_sync"); - this.GL_ARB_tessellation_shader = list.contains("GL_ARB_tessellation_shader"); - this.GL_ARB_texture_barrier = list.contains("GL_ARB_texture_barrier"); - this.GL_ARB_texture_border_clamp = list.contains("GL_ARB_texture_border_clamp"); - this.GL_ARB_texture_buffer_object = list.contains("GL_ARB_texture_buffer_object"); - this.GL_ARB_texture_buffer_object_rgb32 = list.contains("GL_ARB_texture_buffer_object_rgb32"); - this.GL_ARB_texture_buffer_range = list.contains("GL_ARB_texture_buffer_range"); - this.GL_ARB_texture_compression = list.contains("GL_ARB_texture_compression"); - this.GL_ARB_texture_compression_bptc = list.contains("GL_ARB_texture_compression_bptc"); - this.GL_ARB_texture_compression_rgtc = list.contains("GL_ARB_texture_compression_rgtc"); - this.GL_ARB_texture_cube_map = list.contains("GL_ARB_texture_cube_map"); - this.GL_ARB_texture_cube_map_array = list.contains("GL_ARB_texture_cube_map_array"); - this.GL_ARB_texture_env_add = list.contains("GL_ARB_texture_env_add"); - this.GL_ARB_texture_env_combine = list.contains("GL_ARB_texture_env_combine"); - this.GL_ARB_texture_env_crossbar = list.contains("GL_ARB_texture_env_crossbar"); - this.GL_ARB_texture_env_dot3 = list.contains("GL_ARB_texture_env_dot3"); - this.GL_ARB_texture_filter_anisotropic = list.contains("GL_ARB_texture_filter_anisotropic"); - this.GL_ARB_texture_filter_minmax = list.contains("GL_ARB_texture_filter_minmax"); - this.GL_ARB_texture_float = list.contains("GL_ARB_texture_float"); - this.GL_ARB_texture_gather = list.contains("GL_ARB_texture_gather"); - this.GL_ARB_texture_mirror_clamp_to_edge = list.contains("GL_ARB_texture_mirror_clamp_to_edge"); - this.GL_ARB_texture_mirrored_repeat = list.contains("GL_ARB_texture_mirrored_repeat"); - this.GL_ARB_texture_multisample = list.contains("GL_ARB_texture_multisample"); - this.GL_ARB_texture_non_power_of_two = list.contains("GL_ARB_texture_non_power_of_two"); - this.GL_ARB_texture_query_levels = list.contains("GL_ARB_texture_query_levels"); - this.GL_ARB_texture_query_lod = list.contains("GL_ARB_texture_query_lod"); - this.GL_ARB_texture_rectangle = list.contains("GL_ARB_texture_rectangle"); - this.GL_ARB_texture_rg = list.contains("GL_ARB_texture_rg"); - this.GL_ARB_texture_rgb10_a2ui = list.contains("GL_ARB_texture_rgb10_a2ui"); - this.GL_ARB_texture_stencil8 = list.contains("GL_ARB_texture_stencil8"); - this.GL_ARB_texture_storage = list.contains("GL_ARB_texture_storage"); - this.GL_ARB_texture_storage_multisample = list.contains("GL_ARB_texture_storage_multisample"); - this.GL_ARB_texture_swizzle = list.contains("GL_ARB_texture_swizzle"); - this.GL_ARB_texture_view = list.contains("GL_ARB_texture_view"); - this.GL_ARB_timer_query = list.contains("GL_ARB_timer_query"); - this.GL_ARB_transform_feedback2 = list.contains("GL_ARB_transform_feedback2"); - this.GL_ARB_transform_feedback3 = list.contains("GL_ARB_transform_feedback3"); - this.GL_ARB_transform_feedback_instanced = list.contains("GL_ARB_transform_feedback_instanced"); - this.GL_ARB_transform_feedback_overflow_query = list.contains("GL_ARB_transform_feedback_overflow_query"); - this.GL_ARB_transpose_matrix = list.contains("GL_ARB_transpose_matrix"); - this.GL_ARB_uniform_buffer_object = list.contains("GL_ARB_uniform_buffer_object"); - this.GL_ARB_vertex_array_bgra = list.contains("GL_ARB_vertex_array_bgra"); - this.GL_ARB_vertex_array_object = list.contains("GL_ARB_vertex_array_object"); - this.GL_ARB_vertex_attrib_64bit = list.contains("GL_ARB_vertex_attrib_64bit"); - this.GL_ARB_vertex_attrib_binding = list.contains("GL_ARB_vertex_attrib_binding"); - this.GL_ARB_vertex_blend = list.contains("GL_ARB_vertex_blend"); - this.GL_ARB_vertex_buffer_object = list.contains("GL_ARB_vertex_buffer_object"); - this.GL_ARB_vertex_program = list.contains("GL_ARB_vertex_program"); - this.GL_ARB_vertex_shader = list.contains("GL_ARB_vertex_shader"); - this.GL_ARB_vertex_type_10f_11f_11f_rev = list.contains("GL_ARB_vertex_type_10f_11f_11f_rev"); - this.GL_ARB_vertex_type_2_10_10_10_rev = list.contains("GL_ARB_vertex_type_2_10_10_10_rev"); - this.GL_ARB_viewport_array = list.contains("GL_ARB_viewport_array"); - this.GL_ARB_window_pos = list.contains("GL_ARB_window_pos"); - this.GL_KHR_blend_equation_advanced = list.contains("GL_KHR_blend_equation_advanced"); - this.GL_KHR_blend_equation_advanced_coherent = list.contains("GL_KHR_blend_equation_advanced_coherent"); - this.GL_KHR_context_flush_control = list.contains("GL_KHR_context_flush_control"); - this.GL_KHR_debug = list.contains("GL_KHR_debug"); - this.GL_KHR_no_error = list.contains("GL_KHR_no_error"); - this.GL_KHR_parallel_shader_compile = list.contains("GL_KHR_parallel_shader_compile"); - this.GL_KHR_robust_buffer_access_behavior = list.contains("GL_KHR_robust_buffer_access_behavior"); - this.GL_KHR_robustness = list.contains("GL_KHR_robustness"); - this.GL_KHR_shader_subgroup = list.contains("GL_KHR_shader_subgroup"); - this.GL_KHR_texture_compression_astc_hdr = list.contains("GL_KHR_texture_compression_astc_hdr"); - this.GL_KHR_texture_compression_astc_ldr = list.contains("GL_KHR_texture_compression_astc_ldr"); - this.GL_KHR_texture_compression_astc_sliced_3d = list.contains("GL_KHR_texture_compression_astc_sliced_3d"); - this.GL_OES_byte_coordinates = list.contains("GL_OES_byte_coordinates"); - this.GL_OES_compressed_paletted_texture = list.contains("GL_OES_compressed_paletted_texture"); - this.GL_OES_fixed_point = list.contains("GL_OES_fixed_point"); - this.GL_OES_query_matrix = list.contains("GL_OES_query_matrix"); - this.GL_OES_read_format = list.contains("GL_OES_read_format"); - this.GL_OES_single_precision = list.contains("GL_OES_single_precision"); - this.GL_3DFX_multisample = list.contains("GL_3DFX_multisample"); - this.GL_3DFX_tbuffer = list.contains("GL_3DFX_tbuffer"); - this.GL_3DFX_texture_compression_FXT1 = list.contains("GL_3DFX_texture_compression_FXT1"); - this.GL_AMD_blend_minmax_factor = list.contains("GL_AMD_blend_minmax_factor"); - this.GL_AMD_conservative_depth = list.contains("GL_AMD_conservative_depth"); - this.GL_AMD_debug_output = list.contains("GL_AMD_debug_output"); - this.GL_AMD_depth_clamp_separate = list.contains("GL_AMD_depth_clamp_separate"); - this.GL_AMD_draw_buffers_blend = list.contains("GL_AMD_draw_buffers_blend"); - this.GL_AMD_framebuffer_multisample_advanced = list.contains("GL_AMD_framebuffer_multisample_advanced"); - this.GL_AMD_framebuffer_sample_positions = list.contains("GL_AMD_framebuffer_sample_positions"); - this.GL_AMD_gcn_shader = list.contains("GL_AMD_gcn_shader"); - this.GL_AMD_gpu_shader_half_float = list.contains("GL_AMD_gpu_shader_half_float"); - this.GL_AMD_gpu_shader_int16 = list.contains("GL_AMD_gpu_shader_int16"); - this.GL_AMD_gpu_shader_int64 = list.contains("GL_AMD_gpu_shader_int64"); - this.GL_AMD_interleaved_elements = list.contains("GL_AMD_interleaved_elements"); - this.GL_AMD_multi_draw_indirect = list.contains("GL_AMD_multi_draw_indirect"); - this.GL_AMD_name_gen_delete = list.contains("GL_AMD_name_gen_delete"); - this.GL_AMD_occlusion_query_event = list.contains("GL_AMD_occlusion_query_event"); - this.GL_AMD_performance_monitor = list.contains("GL_AMD_performance_monitor"); - this.GL_AMD_pinned_memory = list.contains("GL_AMD_pinned_memory"); - this.GL_AMD_query_buffer_object = list.contains("GL_AMD_query_buffer_object"); - this.GL_AMD_sample_positions = list.contains("GL_AMD_sample_positions"); - this.GL_AMD_seamless_cubemap_per_texture = list.contains("GL_AMD_seamless_cubemap_per_texture"); - this.GL_AMD_shader_atomic_counter_ops = list.contains("GL_AMD_shader_atomic_counter_ops"); - this.GL_AMD_shader_ballot = list.contains("GL_AMD_shader_ballot"); - this.GL_AMD_shader_explicit_vertex_parameter = list.contains("GL_AMD_shader_explicit_vertex_parameter"); - this.GL_AMD_shader_gpu_shader_half_float_fetch = list.contains("GL_AMD_shader_gpu_shader_half_float_fetch"); - this.GL_AMD_shader_image_load_store_lod = list.contains("GL_AMD_shader_image_load_store_lod"); - this.GL_AMD_shader_stencil_export = list.contains("GL_AMD_shader_stencil_export"); - this.GL_AMD_shader_trinary_minmax = list.contains("GL_AMD_shader_trinary_minmax"); - this.GL_AMD_sparse_texture = list.contains("GL_AMD_sparse_texture"); - this.GL_AMD_stencil_operation_extended = list.contains("GL_AMD_stencil_operation_extended"); - this.GL_AMD_texture_gather_bias_lod = list.contains("GL_AMD_texture_gather_bias_lod"); - this.GL_AMD_texture_texture4 = list.contains("GL_AMD_texture_texture4"); - this.GL_AMD_transform_feedback3_lines_triangles = list.contains("GL_AMD_transform_feedback3_lines_triangles"); - this.GL_AMD_transform_feedback4 = list.contains("GL_AMD_transform_feedback4"); - this.GL_AMD_vertex_shader_layer = list.contains("GL_AMD_vertex_shader_layer"); - this.GL_AMD_vertex_shader_tessellator = list.contains("GL_AMD_vertex_shader_tessellator"); - this.GL_AMD_vertex_shader_viewport_index = list.contains("GL_AMD_vertex_shader_viewport_index"); - this.GL_APPLE_aux_depth_stencil = list.contains("GL_APPLE_aux_depth_stencil"); - this.GL_APPLE_client_storage = list.contains("GL_APPLE_client_storage"); - this.GL_APPLE_element_array = list.contains("GL_APPLE_element_array"); - this.GL_APPLE_fence = list.contains("GL_APPLE_fence"); - this.GL_APPLE_float_pixels = list.contains("GL_APPLE_float_pixels"); - this.GL_APPLE_flush_buffer_range = list.contains("GL_APPLE_flush_buffer_range"); - this.GL_APPLE_object_purgeable = list.contains("GL_APPLE_object_purgeable"); - this.GL_APPLE_rgb_422 = list.contains("GL_APPLE_rgb_422"); - this.GL_APPLE_row_bytes = list.contains("GL_APPLE_row_bytes"); - this.GL_APPLE_specular_vector = list.contains("GL_APPLE_specular_vector"); - this.GL_APPLE_texture_range = list.contains("GL_APPLE_texture_range"); - this.GL_APPLE_transform_hint = list.contains("GL_APPLE_transform_hint"); - this.GL_APPLE_vertex_array_object = list.contains("GL_APPLE_vertex_array_object"); - this.GL_APPLE_vertex_array_range = list.contains("GL_APPLE_vertex_array_range"); - this.GL_APPLE_vertex_program_evaluators = list.contains("GL_APPLE_vertex_program_evaluators"); - this.GL_APPLE_ycbcr_422 = list.contains("GL_APPLE_ycbcr_422"); - this.GL_ATI_draw_buffers = list.contains("GL_ATI_draw_buffers"); - this.GL_ATI_element_array = list.contains("GL_ATI_element_array"); - this.GL_ATI_envmap_bumpmap = list.contains("GL_ATI_envmap_bumpmap"); - this.GL_ATI_fragment_shader = list.contains("GL_ATI_fragment_shader"); - this.GL_ATI_map_object_buffer = list.contains("GL_ATI_map_object_buffer"); - this.GL_ATI_meminfo = list.contains("GL_ATI_meminfo"); - this.GL_ATI_pixel_format_float = list.contains("GL_ATI_pixel_format_float"); - this.GL_ATI_pn_triangles = list.contains("GL_ATI_pn_triangles"); - this.GL_ATI_separate_stencil = list.contains("GL_ATI_separate_stencil"); - this.GL_ATI_text_fragment_shader = list.contains("GL_ATI_text_fragment_shader"); - this.GL_ATI_texture_env_combine3 = list.contains("GL_ATI_texture_env_combine3"); - this.GL_ATI_texture_float = list.contains("GL_ATI_texture_float"); - this.GL_ATI_texture_mirror_once = list.contains("GL_ATI_texture_mirror_once"); - this.GL_ATI_vertex_array_object = list.contains("GL_ATI_vertex_array_object"); - this.GL_ATI_vertex_attrib_array_object = list.contains("GL_ATI_vertex_attrib_array_object"); - this.GL_ATI_vertex_streams = list.contains("GL_ATI_vertex_streams"); - this.GL_EXT_422_pixels = list.contains("GL_EXT_422_pixels"); - this.GL_EXT_EGL_image_storage = list.contains("GL_EXT_EGL_image_storage"); - this.GL_EXT_EGL_sync = list.contains("GL_EXT_EGL_sync"); - this.GL_EXT_abgr = list.contains("GL_EXT_abgr"); - this.GL_EXT_bgra = list.contains("GL_EXT_bgra"); - this.GL_EXT_bindable_uniform = list.contains("GL_EXT_bindable_uniform"); - this.GL_EXT_blend_color = list.contains("GL_EXT_blend_color"); - this.GL_EXT_blend_equation_separate = list.contains("GL_EXT_blend_equation_separate"); - this.GL_EXT_blend_func_separate = list.contains("GL_EXT_blend_func_separate"); - this.GL_EXT_blend_logic_op = list.contains("GL_EXT_blend_logic_op"); - this.GL_EXT_blend_minmax = list.contains("GL_EXT_blend_minmax"); - this.GL_EXT_blend_subtract = list.contains("GL_EXT_blend_subtract"); - this.GL_EXT_clip_volume_hint = list.contains("GL_EXT_clip_volume_hint"); - this.GL_EXT_cmyka = list.contains("GL_EXT_cmyka"); - this.GL_EXT_color_subtable = list.contains("GL_EXT_color_subtable"); - this.GL_EXT_compiled_vertex_array = list.contains("GL_EXT_compiled_vertex_array"); - this.GL_EXT_convolution = list.contains("GL_EXT_convolution"); - this.GL_EXT_coordinate_frame = list.contains("GL_EXT_coordinate_frame"); - this.GL_EXT_copy_texture = list.contains("GL_EXT_copy_texture"); - this.GL_EXT_cull_vertex = list.contains("GL_EXT_cull_vertex"); - this.GL_EXT_debug_label = list.contains("GL_EXT_debug_label"); - this.GL_EXT_debug_marker = list.contains("GL_EXT_debug_marker"); - this.GL_EXT_depth_bounds_test = list.contains("GL_EXT_depth_bounds_test"); - this.GL_EXT_direct_state_access = list.contains("GL_EXT_direct_state_access"); - this.GL_EXT_draw_buffers2 = list.contains("GL_EXT_draw_buffers2"); - this.GL_EXT_draw_instanced = list.contains("GL_EXT_draw_instanced"); - this.GL_EXT_draw_range_elements = list.contains("GL_EXT_draw_range_elements"); - this.GL_EXT_external_buffer = list.contains("GL_EXT_external_buffer"); - this.GL_EXT_fog_coord = list.contains("GL_EXT_fog_coord"); - this.GL_EXT_framebuffer_blit = list.contains("GL_EXT_framebuffer_blit"); - this.GL_EXT_framebuffer_blit_layers = list.contains("GL_EXT_framebuffer_blit_layers"); - this.GL_EXT_framebuffer_multisample = list.contains("GL_EXT_framebuffer_multisample"); - this.GL_EXT_framebuffer_multisample_blit_scaled = list.contains("GL_EXT_framebuffer_multisample_blit_scaled"); - this.GL_EXT_framebuffer_object = list.contains("GL_EXT_framebuffer_object"); - this.GL_EXT_framebuffer_sRGB = list.contains("GL_EXT_framebuffer_sRGB"); - this.GL_EXT_geometry_shader4 = list.contains("GL_EXT_geometry_shader4"); - this.GL_EXT_gpu_program_parameters = list.contains("GL_EXT_gpu_program_parameters"); - this.GL_EXT_gpu_shader4 = list.contains("GL_EXT_gpu_shader4"); - this.GL_EXT_histogram = list.contains("GL_EXT_histogram"); - this.GL_EXT_index_array_formats = list.contains("GL_EXT_index_array_formats"); - this.GL_EXT_index_func = list.contains("GL_EXT_index_func"); - this.GL_EXT_index_material = list.contains("GL_EXT_index_material"); - this.GL_EXT_index_texture = list.contains("GL_EXT_index_texture"); - this.GL_EXT_light_texture = list.contains("GL_EXT_light_texture"); - this.GL_EXT_memory_object = list.contains("GL_EXT_memory_object"); - this.GL_EXT_memory_object_fd = list.contains("GL_EXT_memory_object_fd"); - this.GL_EXT_memory_object_win32 = list.contains("GL_EXT_memory_object_win32"); - this.GL_EXT_misc_attribute = list.contains("GL_EXT_misc_attribute"); - this.GL_EXT_multi_draw_arrays = list.contains("GL_EXT_multi_draw_arrays"); - this.GL_EXT_multisample = list.contains("GL_EXT_multisample"); - this.GL_EXT_multiview_tessellation_geometry_shader = list.contains("GL_EXT_multiview_tessellation_geometry_shader"); - this.GL_EXT_multiview_texture_multisample = list.contains("GL_EXT_multiview_texture_multisample"); - this.GL_EXT_multiview_timer_query = list.contains("GL_EXT_multiview_timer_query"); - this.GL_EXT_packed_depth_stencil = list.contains("GL_EXT_packed_depth_stencil"); - this.GL_EXT_packed_float = list.contains("GL_EXT_packed_float"); - this.GL_EXT_packed_pixels = list.contains("GL_EXT_packed_pixels"); - this.GL_EXT_paletted_texture = list.contains("GL_EXT_paletted_texture"); - this.GL_EXT_pixel_buffer_object = list.contains("GL_EXT_pixel_buffer_object"); - this.GL_EXT_pixel_transform = list.contains("GL_EXT_pixel_transform"); - this.GL_EXT_pixel_transform_color_table = list.contains("GL_EXT_pixel_transform_color_table"); - this.GL_EXT_point_parameters = list.contains("GL_EXT_point_parameters"); - this.GL_EXT_polygon_offset = list.contains("GL_EXT_polygon_offset"); - this.GL_EXT_polygon_offset_clamp = list.contains("GL_EXT_polygon_offset_clamp"); - this.GL_EXT_post_depth_coverage = list.contains("GL_EXT_post_depth_coverage"); - this.GL_EXT_provoking_vertex = list.contains("GL_EXT_provoking_vertex"); - this.GL_EXT_raster_multisample = list.contains("GL_EXT_raster_multisample"); - this.GL_EXT_rescale_normal = list.contains("GL_EXT_rescale_normal"); - this.GL_EXT_secondary_color = list.contains("GL_EXT_secondary_color"); - this.GL_EXT_semaphore = list.contains("GL_EXT_semaphore"); - this.GL_EXT_semaphore_fd = list.contains("GL_EXT_semaphore_fd"); - this.GL_EXT_semaphore_win32 = list.contains("GL_EXT_semaphore_win32"); - this.GL_EXT_separate_shader_objects = list.contains("GL_EXT_separate_shader_objects"); - this.GL_EXT_separate_specular_color = list.contains("GL_EXT_separate_specular_color"); - this.GL_EXT_shader_framebuffer_fetch = list.contains("GL_EXT_shader_framebuffer_fetch"); - this.GL_EXT_shader_framebuffer_fetch_non_coherent = list.contains("GL_EXT_shader_framebuffer_fetch_non_coherent"); - this.GL_EXT_shader_image_load_formatted = list.contains("GL_EXT_shader_image_load_formatted"); - this.GL_EXT_shader_image_load_store = list.contains("GL_EXT_shader_image_load_store"); - this.GL_EXT_shader_integer_mix = list.contains("GL_EXT_shader_integer_mix"); - this.GL_EXT_shader_samples_identical = list.contains("GL_EXT_shader_samples_identical"); - this.GL_EXT_shadow_funcs = list.contains("GL_EXT_shadow_funcs"); - this.GL_EXT_shared_texture_palette = list.contains("GL_EXT_shared_texture_palette"); - this.GL_EXT_sparse_texture2 = list.contains("GL_EXT_sparse_texture2"); - this.GL_EXT_stencil_clear_tag = list.contains("GL_EXT_stencil_clear_tag"); - this.GL_EXT_stencil_two_side = list.contains("GL_EXT_stencil_two_side"); - this.GL_EXT_stencil_wrap = list.contains("GL_EXT_stencil_wrap"); - this.GL_EXT_subtexture = list.contains("GL_EXT_subtexture"); - this.GL_EXT_texture = list.contains("GL_EXT_texture"); - this.GL_EXT_texture3D = list.contains("GL_EXT_texture3D"); - this.GL_EXT_texture_array = list.contains("GL_EXT_texture_array"); - this.GL_EXT_texture_buffer_object = list.contains("GL_EXT_texture_buffer_object"); - this.GL_EXT_texture_compression_latc = list.contains("GL_EXT_texture_compression_latc"); - this.GL_EXT_texture_compression_rgtc = list.contains("GL_EXT_texture_compression_rgtc"); - this.GL_EXT_texture_compression_s3tc = list.contains("GL_EXT_texture_compression_s3tc"); - this.GL_EXT_texture_cube_map = list.contains("GL_EXT_texture_cube_map"); - this.GL_EXT_texture_env_add = list.contains("GL_EXT_texture_env_add"); - this.GL_EXT_texture_env_combine = list.contains("GL_EXT_texture_env_combine"); - this.GL_EXT_texture_env_dot3 = list.contains("GL_EXT_texture_env_dot3"); - this.GL_EXT_texture_filter_anisotropic = list.contains("GL_EXT_texture_filter_anisotropic"); - this.GL_EXT_texture_filter_minmax = list.contains("GL_EXT_texture_filter_minmax"); - this.GL_EXT_texture_integer = list.contains("GL_EXT_texture_integer"); - this.GL_EXT_texture_lod_bias = list.contains("GL_EXT_texture_lod_bias"); - this.GL_EXT_texture_mirror_clamp = list.contains("GL_EXT_texture_mirror_clamp"); - this.GL_EXT_texture_object = list.contains("GL_EXT_texture_object"); - this.GL_EXT_texture_perturb_normal = list.contains("GL_EXT_texture_perturb_normal"); - this.GL_EXT_texture_sRGB = list.contains("GL_EXT_texture_sRGB"); - this.GL_EXT_texture_sRGB_R8 = list.contains("GL_EXT_texture_sRGB_R8"); - this.GL_EXT_texture_sRGB_RG8 = list.contains("GL_EXT_texture_sRGB_RG8"); - this.GL_EXT_texture_sRGB_decode = list.contains("GL_EXT_texture_sRGB_decode"); - this.GL_EXT_texture_shadow_lod = list.contains("GL_EXT_texture_shadow_lod"); - this.GL_EXT_texture_shared_exponent = list.contains("GL_EXT_texture_shared_exponent"); - this.GL_EXT_texture_snorm = list.contains("GL_EXT_texture_snorm"); - this.GL_EXT_texture_storage = list.contains("GL_EXT_texture_storage"); - this.GL_EXT_texture_swizzle = list.contains("GL_EXT_texture_swizzle"); - this.GL_EXT_timer_query = list.contains("GL_EXT_timer_query"); - this.GL_EXT_transform_feedback = list.contains("GL_EXT_transform_feedback"); - this.GL_EXT_vertex_array = list.contains("GL_EXT_vertex_array"); - this.GL_EXT_vertex_array_bgra = list.contains("GL_EXT_vertex_array_bgra"); - this.GL_EXT_vertex_attrib_64bit = list.contains("GL_EXT_vertex_attrib_64bit"); - this.GL_EXT_vertex_shader = list.contains("GL_EXT_vertex_shader"); - this.GL_EXT_vertex_weighting = list.contains("GL_EXT_vertex_weighting"); - this.GL_EXT_win32_keyed_mutex = list.contains("GL_EXT_win32_keyed_mutex"); - this.GL_EXT_window_rectangles = list.contains("GL_EXT_window_rectangles"); - this.GL_EXT_x11_sync_object = list.contains("GL_EXT_x11_sync_object"); - this.GL_GREMEDY_frame_terminator = list.contains("GL_GREMEDY_frame_terminator"); - this.GL_GREMEDY_string_marker = list.contains("GL_GREMEDY_string_marker"); - this.GL_HP_convolution_border_modes = list.contains("GL_HP_convolution_border_modes"); - this.GL_HP_image_transform = list.contains("GL_HP_image_transform"); - this.GL_HP_occlusion_test = list.contains("GL_HP_occlusion_test"); - this.GL_HP_texture_lighting = list.contains("GL_HP_texture_lighting"); - this.GL_IBM_cull_vertex = list.contains("GL_IBM_cull_vertex"); - this.GL_IBM_multimode_draw_arrays = list.contains("GL_IBM_multimode_draw_arrays"); - this.GL_IBM_rasterpos_clip = list.contains("GL_IBM_rasterpos_clip"); - this.GL_IBM_static_data = list.contains("GL_IBM_static_data"); - this.GL_IBM_texture_mirrored_repeat = list.contains("GL_IBM_texture_mirrored_repeat"); - this.GL_IBM_vertex_array_lists = list.contains("GL_IBM_vertex_array_lists"); - this.GL_INGR_blend_func_separate = list.contains("GL_INGR_blend_func_separate"); - this.GL_INGR_color_clamp = list.contains("GL_INGR_color_clamp"); - this.GL_INGR_interlace_read = list.contains("GL_INGR_interlace_read"); - this.GL_INTEL_blackhole_render = list.contains("GL_INTEL_blackhole_render"); - this.GL_INTEL_conservative_rasterization = list.contains("GL_INTEL_conservative_rasterization"); - this.GL_INTEL_fragment_shader_ordering = list.contains("GL_INTEL_fragment_shader_ordering"); - this.GL_INTEL_framebuffer_CMAA = list.contains("GL_INTEL_framebuffer_CMAA"); - this.GL_INTEL_map_texture = list.contains("GL_INTEL_map_texture"); - this.GL_INTEL_parallel_arrays = list.contains("GL_INTEL_parallel_arrays"); - this.GL_INTEL_performance_query = list.contains("GL_INTEL_performance_query"); - this.GL_MESAX_texture_stack = list.contains("GL_MESAX_texture_stack"); - this.GL_MESA_framebuffer_flip_x = list.contains("GL_MESA_framebuffer_flip_x"); - this.GL_MESA_framebuffer_flip_y = list.contains("GL_MESA_framebuffer_flip_y"); - this.GL_MESA_framebuffer_swap_xy = list.contains("GL_MESA_framebuffer_swap_xy"); - this.GL_MESA_pack_invert = list.contains("GL_MESA_pack_invert"); - this.GL_MESA_program_binary_formats = list.contains("GL_MESA_program_binary_formats"); - this.GL_MESA_resize_buffers = list.contains("GL_MESA_resize_buffers"); - this.GL_MESA_shader_integer_functions = list.contains("GL_MESA_shader_integer_functions"); - this.GL_MESA_tile_raster_order = list.contains("GL_MESA_tile_raster_order"); - this.GL_MESA_window_pos = list.contains("GL_MESA_window_pos"); - this.GL_MESA_ycbcr_texture = list.contains("GL_MESA_ycbcr_texture"); - this.GL_NVX_blend_equation_advanced_multi_draw_buffers = list.contains("GL_NVX_blend_equation_advanced_multi_draw_buffers"); - this.GL_NVX_conditional_render = list.contains("GL_NVX_conditional_render"); - this.GL_NVX_gpu_memory_info = list.contains("GL_NVX_gpu_memory_info"); - this.GL_NVX_gpu_multicast2 = list.contains("GL_NVX_gpu_multicast2"); - this.GL_NVX_linked_gpu_multicast = list.contains("GL_NVX_linked_gpu_multicast"); - this.GL_NVX_progress_fence = list.contains("GL_NVX_progress_fence"); - this.GL_NV_alpha_to_coverage_dither_control = list.contains("GL_NV_alpha_to_coverage_dither_control"); - this.GL_NV_bindless_multi_draw_indirect = list.contains("GL_NV_bindless_multi_draw_indirect"); - this.GL_NV_bindless_multi_draw_indirect_count = list.contains("GL_NV_bindless_multi_draw_indirect_count"); - this.GL_NV_bindless_texture = list.contains("GL_NV_bindless_texture"); - this.GL_NV_blend_equation_advanced = list.contains("GL_NV_blend_equation_advanced"); - this.GL_NV_blend_equation_advanced_coherent = list.contains("GL_NV_blend_equation_advanced_coherent"); - this.GL_NV_blend_minmax_factor = list.contains("GL_NV_blend_minmax_factor"); - this.GL_NV_blend_square = list.contains("GL_NV_blend_square"); - this.GL_NV_clip_space_w_scaling = list.contains("GL_NV_clip_space_w_scaling"); - this.GL_NV_command_list = list.contains("GL_NV_command_list"); - this.GL_NV_compute_program5 = list.contains("GL_NV_compute_program5"); - this.GL_NV_compute_shader_derivatives = list.contains("GL_NV_compute_shader_derivatives"); - this.GL_NV_conditional_render = list.contains("GL_NV_conditional_render"); - this.GL_NV_conservative_raster = list.contains("GL_NV_conservative_raster"); - this.GL_NV_conservative_raster_dilate = list.contains("GL_NV_conservative_raster_dilate"); - this.GL_NV_conservative_raster_pre_snap = list.contains("GL_NV_conservative_raster_pre_snap"); - this.GL_NV_conservative_raster_pre_snap_triangles = list.contains("GL_NV_conservative_raster_pre_snap_triangles"); - this.GL_NV_conservative_raster_underestimation = list.contains("GL_NV_conservative_raster_underestimation"); - this.GL_NV_copy_depth_to_color = list.contains("GL_NV_copy_depth_to_color"); - this.GL_NV_copy_image = list.contains("GL_NV_copy_image"); - this.GL_NV_deep_texture3D = list.contains("GL_NV_deep_texture3D"); - this.GL_NV_depth_buffer_float = list.contains("GL_NV_depth_buffer_float"); - this.GL_NV_depth_clamp = list.contains("GL_NV_depth_clamp"); - this.GL_NV_draw_texture = list.contains("GL_NV_draw_texture"); - this.GL_NV_draw_vulkan_image = list.contains("GL_NV_draw_vulkan_image"); - this.GL_NV_evaluators = list.contains("GL_NV_evaluators"); - this.GL_NV_explicit_multisample = list.contains("GL_NV_explicit_multisample"); - this.GL_NV_fence = list.contains("GL_NV_fence"); - this.GL_NV_fill_rectangle = list.contains("GL_NV_fill_rectangle"); - this.GL_NV_float_buffer = list.contains("GL_NV_float_buffer"); - this.GL_NV_fog_distance = list.contains("GL_NV_fog_distance"); - this.GL_NV_fragment_coverage_to_color = list.contains("GL_NV_fragment_coverage_to_color"); - this.GL_NV_fragment_program = list.contains("GL_NV_fragment_program"); - this.GL_NV_fragment_program2 = list.contains("GL_NV_fragment_program2"); - this.GL_NV_fragment_program4 = list.contains("GL_NV_fragment_program4"); - this.GL_NV_fragment_program_option = list.contains("GL_NV_fragment_program_option"); - this.GL_NV_fragment_shader_barycentric = list.contains("GL_NV_fragment_shader_barycentric"); - this.GL_NV_fragment_shader_interlock = list.contains("GL_NV_fragment_shader_interlock"); - this.GL_NV_framebuffer_mixed_samples = list.contains("GL_NV_framebuffer_mixed_samples"); - this.GL_NV_framebuffer_multisample_coverage = list.contains("GL_NV_framebuffer_multisample_coverage"); - this.GL_NV_geometry_program4 = list.contains("GL_NV_geometry_program4"); - this.GL_NV_geometry_shader4 = list.contains("GL_NV_geometry_shader4"); - this.GL_NV_geometry_shader_passthrough = list.contains("GL_NV_geometry_shader_passthrough"); - this.GL_NV_gpu_multicast = list.contains("GL_NV_gpu_multicast"); - this.GL_NV_gpu_program4 = list.contains("GL_NV_gpu_program4"); - this.GL_NV_gpu_program5 = list.contains("GL_NV_gpu_program5"); - this.GL_NV_gpu_program5_mem_extended = list.contains("GL_NV_gpu_program5_mem_extended"); - this.GL_NV_gpu_shader5 = list.contains("GL_NV_gpu_shader5"); - this.GL_NV_half_float = list.contains("GL_NV_half_float"); - this.GL_NV_internalformat_sample_query = list.contains("GL_NV_internalformat_sample_query"); - this.GL_NV_light_max_exponent = list.contains("GL_NV_light_max_exponent"); - this.GL_NV_memory_attachment = list.contains("GL_NV_memory_attachment"); - this.GL_NV_memory_object_sparse = list.contains("GL_NV_memory_object_sparse"); - this.GL_NV_mesh_shader = list.contains("GL_NV_mesh_shader"); - this.GL_NV_multisample_coverage = list.contains("GL_NV_multisample_coverage"); - this.GL_NV_multisample_filter_hint = list.contains("GL_NV_multisample_filter_hint"); - this.GL_NV_occlusion_query = list.contains("GL_NV_occlusion_query"); - this.GL_NV_packed_depth_stencil = list.contains("GL_NV_packed_depth_stencil"); - this.GL_NV_parameter_buffer_object = list.contains("GL_NV_parameter_buffer_object"); - this.GL_NV_parameter_buffer_object2 = list.contains("GL_NV_parameter_buffer_object2"); - this.GL_NV_path_rendering = list.contains("GL_NV_path_rendering"); - this.GL_NV_path_rendering_shared_edge = list.contains("GL_NV_path_rendering_shared_edge"); - this.GL_NV_pixel_data_range = list.contains("GL_NV_pixel_data_range"); - this.GL_NV_point_sprite = list.contains("GL_NV_point_sprite"); - this.GL_NV_present_video = list.contains("GL_NV_present_video"); - this.GL_NV_primitive_restart = list.contains("GL_NV_primitive_restart"); - this.GL_NV_primitive_shading_rate = list.contains("GL_NV_primitive_shading_rate"); - this.GL_NV_query_resource = list.contains("GL_NV_query_resource"); - this.GL_NV_query_resource_tag = list.contains("GL_NV_query_resource_tag"); - this.GL_NV_register_combiners = list.contains("GL_NV_register_combiners"); - this.GL_NV_register_combiners2 = list.contains("GL_NV_register_combiners2"); - this.GL_NV_representative_fragment_test = list.contains("GL_NV_representative_fragment_test"); - this.GL_NV_robustness_video_memory_purge = list.contains("GL_NV_robustness_video_memory_purge"); - this.GL_NV_sample_locations = list.contains("GL_NV_sample_locations"); - this.GL_NV_sample_mask_override_coverage = list.contains("GL_NV_sample_mask_override_coverage"); - this.GL_NV_scissor_exclusive = list.contains("GL_NV_scissor_exclusive"); - this.GL_NV_shader_atomic_counters = list.contains("GL_NV_shader_atomic_counters"); - this.GL_NV_shader_atomic_float = list.contains("GL_NV_shader_atomic_float"); - this.GL_NV_shader_atomic_float64 = list.contains("GL_NV_shader_atomic_float64"); - this.GL_NV_shader_atomic_fp16_vector = list.contains("GL_NV_shader_atomic_fp16_vector"); - this.GL_NV_shader_atomic_int64 = list.contains("GL_NV_shader_atomic_int64"); - this.GL_NV_shader_buffer_load = list.contains("GL_NV_shader_buffer_load"); - this.GL_NV_shader_buffer_store = list.contains("GL_NV_shader_buffer_store"); - this.GL_NV_shader_storage_buffer_object = list.contains("GL_NV_shader_storage_buffer_object"); - this.GL_NV_shader_subgroup_partitioned = list.contains("GL_NV_shader_subgroup_partitioned"); - this.GL_NV_shader_texture_footprint = list.contains("GL_NV_shader_texture_footprint"); - this.GL_NV_shader_thread_group = list.contains("GL_NV_shader_thread_group"); - this.GL_NV_shader_thread_shuffle = list.contains("GL_NV_shader_thread_shuffle"); - this.GL_NV_shading_rate_image = list.contains("GL_NV_shading_rate_image"); - this.GL_NV_stereo_view_rendering = list.contains("GL_NV_stereo_view_rendering"); - this.GL_NV_tessellation_program5 = list.contains("GL_NV_tessellation_program5"); - this.GL_NV_texgen_emboss = list.contains("GL_NV_texgen_emboss"); - this.GL_NV_texgen_reflection = list.contains("GL_NV_texgen_reflection"); - this.GL_NV_texture_barrier = list.contains("GL_NV_texture_barrier"); - this.GL_NV_texture_compression_vtc = list.contains("GL_NV_texture_compression_vtc"); - this.GL_NV_texture_env_combine4 = list.contains("GL_NV_texture_env_combine4"); - this.GL_NV_texture_expand_normal = list.contains("GL_NV_texture_expand_normal"); - this.GL_NV_texture_multisample = list.contains("GL_NV_texture_multisample"); - this.GL_NV_texture_rectangle = list.contains("GL_NV_texture_rectangle"); - this.GL_NV_texture_rectangle_compressed = list.contains("GL_NV_texture_rectangle_compressed"); - this.GL_NV_texture_shader = list.contains("GL_NV_texture_shader"); - this.GL_NV_texture_shader2 = list.contains("GL_NV_texture_shader2"); - this.GL_NV_texture_shader3 = list.contains("GL_NV_texture_shader3"); - this.GL_NV_timeline_semaphore = list.contains("GL_NV_timeline_semaphore"); - this.GL_NV_transform_feedback = list.contains("GL_NV_transform_feedback"); - this.GL_NV_transform_feedback2 = list.contains("GL_NV_transform_feedback2"); - this.GL_NV_uniform_buffer_std430_layout = list.contains("GL_NV_uniform_buffer_std430_layout"); - this.GL_NV_uniform_buffer_unified_memory = list.contains("GL_NV_uniform_buffer_unified_memory"); - this.GL_NV_vdpau_interop = list.contains("GL_NV_vdpau_interop"); - this.GL_NV_vdpau_interop2 = list.contains("GL_NV_vdpau_interop2"); - this.GL_NV_vertex_array_range = list.contains("GL_NV_vertex_array_range"); - this.GL_NV_vertex_array_range2 = list.contains("GL_NV_vertex_array_range2"); - this.GL_NV_vertex_attrib_integer_64bit = list.contains("GL_NV_vertex_attrib_integer_64bit"); - this.GL_NV_vertex_buffer_unified_memory = list.contains("GL_NV_vertex_buffer_unified_memory"); - this.GL_NV_vertex_program = list.contains("GL_NV_vertex_program"); - this.GL_NV_vertex_program1_1 = list.contains("GL_NV_vertex_program1_1"); - this.GL_NV_vertex_program2 = list.contains("GL_NV_vertex_program2"); - this.GL_NV_vertex_program2_option = list.contains("GL_NV_vertex_program2_option"); - this.GL_NV_vertex_program3 = list.contains("GL_NV_vertex_program3"); - this.GL_NV_vertex_program4 = list.contains("GL_NV_vertex_program4"); - this.GL_NV_video_capture = list.contains("GL_NV_video_capture"); - this.GL_NV_viewport_array2 = list.contains("GL_NV_viewport_array2"); - this.GL_NV_viewport_swizzle = list.contains("GL_NV_viewport_swizzle"); - this.GL_OML_interlace = list.contains("GL_OML_interlace"); - this.GL_OML_resample = list.contains("GL_OML_resample"); - this.GL_OML_subsample = list.contains("GL_OML_subsample"); - this.GL_OVR_multiview = list.contains("GL_OVR_multiview"); - this.GL_OVR_multiview2 = list.contains("GL_OVR_multiview2"); - this.GL_PGI_misc_hints = list.contains("GL_PGI_misc_hints"); - this.GL_PGI_vertex_hints = list.contains("GL_PGI_vertex_hints"); - this.GL_REND_screen_coordinates = list.contains("GL_REND_screen_coordinates"); - this.GL_S3_s3tc = list.contains("GL_S3_s3tc"); - this.GL_SGIS_detail_texture = list.contains("GL_SGIS_detail_texture"); - this.GL_SGIS_fog_function = list.contains("GL_SGIS_fog_function"); - this.GL_SGIS_generate_mipmap = list.contains("GL_SGIS_generate_mipmap"); - this.GL_SGIS_multisample = list.contains("GL_SGIS_multisample"); - this.GL_SGIS_pixel_texture = list.contains("GL_SGIS_pixel_texture"); - this.GL_SGIS_point_line_texgen = list.contains("GL_SGIS_point_line_texgen"); - this.GL_SGIS_point_parameters = list.contains("GL_SGIS_point_parameters"); - this.GL_SGIS_sharpen_texture = list.contains("GL_SGIS_sharpen_texture"); - this.GL_SGIS_texture4D = list.contains("GL_SGIS_texture4D"); - this.GL_SGIS_texture_border_clamp = list.contains("GL_SGIS_texture_border_clamp"); - this.GL_SGIS_texture_color_mask = list.contains("GL_SGIS_texture_color_mask"); - this.GL_SGIS_texture_edge_clamp = list.contains("GL_SGIS_texture_edge_clamp"); - this.GL_SGIS_texture_filter4 = list.contains("GL_SGIS_texture_filter4"); - this.GL_SGIS_texture_lod = list.contains("GL_SGIS_texture_lod"); - this.GL_SGIS_texture_select = list.contains("GL_SGIS_texture_select"); - this.GL_SGIX_async = list.contains("GL_SGIX_async"); - this.GL_SGIX_async_histogram = list.contains("GL_SGIX_async_histogram"); - this.GL_SGIX_async_pixel = list.contains("GL_SGIX_async_pixel"); - this.GL_SGIX_blend_alpha_minmax = list.contains("GL_SGIX_blend_alpha_minmax"); - this.GL_SGIX_calligraphic_fragment = list.contains("GL_SGIX_calligraphic_fragment"); - this.GL_SGIX_clipmap = list.contains("GL_SGIX_clipmap"); - this.GL_SGIX_convolution_accuracy = list.contains("GL_SGIX_convolution_accuracy"); - this.GL_SGIX_depth_pass_instrument = list.contains("GL_SGIX_depth_pass_instrument"); - this.GL_SGIX_depth_texture = list.contains("GL_SGIX_depth_texture"); - this.GL_SGIX_flush_raster = list.contains("GL_SGIX_flush_raster"); - this.GL_SGIX_fog_offset = list.contains("GL_SGIX_fog_offset"); - this.GL_SGIX_fragment_lighting = list.contains("GL_SGIX_fragment_lighting"); - this.GL_SGIX_framezoom = list.contains("GL_SGIX_framezoom"); - this.GL_SGIX_igloo_interface = list.contains("GL_SGIX_igloo_interface"); - this.GL_SGIX_instruments = list.contains("GL_SGIX_instruments"); - this.GL_SGIX_interlace = list.contains("GL_SGIX_interlace"); - this.GL_SGIX_ir_instrument1 = list.contains("GL_SGIX_ir_instrument1"); - this.GL_SGIX_list_priority = list.contains("GL_SGIX_list_priority"); - this.GL_SGIX_pixel_texture = list.contains("GL_SGIX_pixel_texture"); - this.GL_SGIX_pixel_tiles = list.contains("GL_SGIX_pixel_tiles"); - this.GL_SGIX_polynomial_ffd = list.contains("GL_SGIX_polynomial_ffd"); - this.GL_SGIX_reference_plane = list.contains("GL_SGIX_reference_plane"); - this.GL_SGIX_resample = list.contains("GL_SGIX_resample"); - this.GL_SGIX_scalebias_hint = list.contains("GL_SGIX_scalebias_hint"); - this.GL_SGIX_shadow = list.contains("GL_SGIX_shadow"); - this.GL_SGIX_shadow_ambient = list.contains("GL_SGIX_shadow_ambient"); - this.GL_SGIX_sprite = list.contains("GL_SGIX_sprite"); - this.GL_SGIX_subsample = list.contains("GL_SGIX_subsample"); - this.GL_SGIX_tag_sample_buffer = list.contains("GL_SGIX_tag_sample_buffer"); - this.GL_SGIX_texture_add_env = list.contains("GL_SGIX_texture_add_env"); - this.GL_SGIX_texture_coordinate_clamp = list.contains("GL_SGIX_texture_coordinate_clamp"); - this.GL_SGIX_texture_lod_bias = list.contains("GL_SGIX_texture_lod_bias"); - this.GL_SGIX_texture_multi_buffer = list.contains("GL_SGIX_texture_multi_buffer"); - this.GL_SGIX_texture_scale_bias = list.contains("GL_SGIX_texture_scale_bias"); - this.GL_SGIX_vertex_preclip = list.contains("GL_SGIX_vertex_preclip"); - this.GL_SGIX_ycrcb = list.contains("GL_SGIX_ycrcb"); - this.GL_SGIX_ycrcb_subsample = list.contains("GL_SGIX_ycrcb_subsample"); - this.GL_SGIX_ycrcba = list.contains("GL_SGIX_ycrcba"); - this.GL_SGI_color_matrix = list.contains("GL_SGI_color_matrix"); - this.GL_SGI_color_table = list.contains("GL_SGI_color_table"); - this.GL_SGI_texture_color_table = list.contains("GL_SGI_texture_color_table"); - this.GL_SUNX_constant_data = list.contains("GL_SUNX_constant_data"); - this.GL_SUN_convolution_border_modes = list.contains("GL_SUN_convolution_border_modes"); - this.GL_SUN_global_alpha = list.contains("GL_SUN_global_alpha"); - this.GL_SUN_mesh_array = list.contains("GL_SUN_mesh_array"); - this.GL_SUN_slice_accum = list.contains("GL_SUN_slice_accum"); - this.GL_SUN_triangle_list = list.contains("GL_SUN_triangle_list"); - this.GL_SUN_vertex = list.contains("GL_SUN_vertex"); - this.GL_WIN_phong_shading = list.contains("GL_WIN_phong_shading"); - this.GL_WIN_specular_fog = list.contains("GL_WIN_specular_fog"); - - return true; - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java deleted file mode 100644 index 36a504a8..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023-2024 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -import overrun.marshal.MemoryStack; -import overrun.marshal.Unmarshal; - -import java.lang.foreign.FunctionDescriptor; -import java.lang.foreign.MemorySegment; -import java.lang.invoke.MethodHandle; -import java.util.Collections; -import java.util.List; - -import static java.lang.foreign.ValueLayout.ADDRESS; -import static java.lang.foreign.ValueLayout.JAVA_INT; - -/** - * Utilities - * - * @author squid233 - * @since 0.1.0 - */ -final class GLExtFinder { - static boolean getExtensions(GLLoadFunc load, - int version, - List list) { - // < 3.0 - if (GLLoader.versionMajor(version) < 3) { - final MethodHandle glGetString = load.invoke("glGetString", FunctionDescriptor.of(Unmarshal.STR_LAYOUT, JAVA_INT)); - if (glGetString == null) { - return false; - } - try { - Collections.addAll(list, ((MemorySegment) glGetString.invokeExact(GL.EXTENSIONS)).getString(0L).split("\\s+")); - return true; - } catch (Throwable e) { - throw new RuntimeException(e); - } - } - - // 3.0 - // method handles - final MethodHandle glGetStringi = load.invoke("glGetStringi", FunctionDescriptor.of(Unmarshal.STR_LAYOUT, JAVA_INT, JAVA_INT)); - if (glGetStringi == null) { - return false; - } - final MethodHandle glGetIntegerv = load.invoke("glGetIntegerv", FunctionDescriptor.ofVoid(JAVA_INT, ADDRESS)); - if (glGetIntegerv == null) { - return false; - } - - // extension count - int numExtsI; - try (MemoryStack stack = MemoryStack.stackPush()) { - final MemorySegment pNumExtsI = stack.allocate(JAVA_INT); - try { - glGetIntegerv.invokeExact(GL.NUM_EXTENSIONS, pNumExtsI); - } catch (Throwable e) { - throw new RuntimeException(e); - } - numExtsI = pNumExtsI.get(JAVA_INT, 0L); - if (numExtsI <= 0) { - return false; - } - } - - // write to the extension array - for (int index = 0; index < numExtsI; index++) { - MemorySegment glStrTmp; - try { - glStrTmp = (MemorySegment) glGetStringi.invokeExact(GL.EXTENSIONS, index); - } catch (Throwable e) { - throw new RuntimeException(e); - } - list.add(glStrTmp.getString(0L)); - } - - return true; - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLFinder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLFinder.java new file mode 100644 index 00000000..4c96a83a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLFinder.java @@ -0,0 +1,144 @@ +/* + * MIT License + * + * Copyright (c) 2023-2024 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl; + +import overrun.marshal.MemoryStack; +import overrun.marshal.Unmarshal; +import overrungl.util.value.Pair; + +import java.lang.foreign.FunctionDescriptor; +import java.lang.foreign.Linker; +import java.lang.foreign.MemorySegment; +import java.lang.foreign.ValueLayout; +import java.lang.invoke.MethodHandle; +import java.util.Collections; +import java.util.List; +import java.util.regex.Pattern; + +/** + * Utilities + * + * @author squid233 + * @since 0.1.0 + */ +final class GLFinder { + private static final Linker LINKER = Linker.nativeLinker(); + private static final FunctionDescriptor + fd_glGetString = FunctionDescriptor.of(Unmarshal.STR_LAYOUT, ValueLayout.JAVA_INT), + fd_glGetStringi = FunctionDescriptor.of(Unmarshal.STR_LAYOUT, ValueLayout.JAVA_INT, ValueLayout.JAVA_INT), + fd_glGetIntegerv = FunctionDescriptor.ofVoid(ValueLayout.JAVA_INT, ValueLayout.ADDRESS); + private static final Pattern VERSION_PATTERN = Pattern.compile("^(\\d+)\\.(\\d+).*$"); + private static final String[] PREFIXES = { + "OpenGL ES-CM ", + "OpenGL ES-CL ", + "OpenGL ES ", + "OpenGL SC " + }; + private static final Pair.OfInt NO_CORE_GL = new Pair.OfInt(0, 0); + + static Pair.OfInt findCoreGL(GLLoadFunc load) { + final MethodHandle glGetString = toHandle(load, "glGetString", fd_glGetString); + if (glGetString == null) return NO_CORE_GL; + + String version; + try { + version = ((MemorySegment) glGetString.invokeExact(GL.VERSION)).getString(0L); + } catch (Throwable e) { + throw new RuntimeException(e); + } + if (version == null) return NO_CORE_GL; + + for (var prefix : PREFIXES) { + if (version.startsWith(prefix)) { + version = version.substring(prefix.length()); + break; + } + } + + var matcher = VERSION_PATTERN.matcher(version); + if (matcher.find()) { + return new Pair.OfInt(Integer.parseInt(matcher.group(1)), + Integer.parseInt(matcher.group(2))); + } + return NO_CORE_GL; + } + + static boolean getExtensions(GLLoadFunc load, + int major, + List list) { + // < 3.0 + if (major < 3) { + final MethodHandle glGetString = toHandle(load, "glGetString", fd_glGetString); + if (glGetString == null) { + return false; + } + try { + Collections.addAll(list, ((MemorySegment) glGetString.invokeExact(GL.EXTENSIONS)).getString(0L).split("\\s+")); + return true; + } catch (Throwable e) { + throw new RuntimeException(e); + } + } + + // 3.0 + // method handles + final MethodHandle glGetStringi = toHandle(load, "glGetStringi", fd_glGetStringi); + if (glGetStringi == null) { + return false; + } + final MethodHandle glGetIntegerv = toHandle(load, "glGetIntegerv", fd_glGetIntegerv); + if (glGetIntegerv == null) { + return false; + } + + // extension count + int numExtsI; + try (MemoryStack stack = MemoryStack.stackPush()) { + final MemorySegment pNumExtsI = stack.allocate(ValueLayout.JAVA_INT); + try { + glGetIntegerv.invokeExact(GL.NUM_EXTENSIONS, pNumExtsI); + } catch (Throwable e) { + throw new RuntimeException(e); + } + numExtsI = pNumExtsI.get(ValueLayout.JAVA_INT, 0L); + if (numExtsI <= 0) { + return false; + } + } + + // write to the extension array + for (int index = 0; index < numExtsI; index++) { + MemorySegment glStrTmp; + try { + glStrTmp = (MemorySegment) glGetStringi.invokeExact(GL.EXTENSIONS, index); + } catch (Throwable e) { + throw new RuntimeException(e); + } + list.add(glStrTmp.getString(0L)); + } + + return true; + } + + private static MethodHandle toHandle(GLLoadFunc load, String name, FunctionDescriptor descriptor) { + final MemorySegment segment = load.invoke(name); + if (Unmarshal.isNullPointer(segment)) { + return null; + } + return LINKER.downcallHandle(segment, descriptor); + } +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLFlags.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLFlags.java new file mode 100644 index 00000000..e20a3d5e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLFlags.java @@ -0,0 +1,687 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl; + +/** + * The OpenGL flags. + * + * @since 0.1.0 + */ +public final class GLFlags { + final GLLoadFunc load; + final boolean foundExtension; + /** The OpenGL core flags. */ + public final boolean GL10, GL11, GL12, GL13, GL14, GL15, + GL20, GL21, + GL30, GL31, GL32, GL33, + GL40, GL41, GL42, GL43, GL44, GL45, GL46; + /** The OpenGL extension flags. */ + public final boolean GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, GL_KHR_texture_compression_astc_sliced_3d, GL_OES_byte_coordinates, GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_draw_buffers, GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_blit_layers, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, GL_NV_transform_feedback2, GL_NV_uniform_buffer_std430_layout, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; + + /** + * Construct OpenGL flags. + * + * @param load the function where to find OpenGL functions. + */ + GLFlags(GLLoadFunc load) { + this.load = load; + var core = GLFinder.findCoreGL(load); + int major = core.x(); + int minor = core.y(); + this.GL10 = (major == 1 && minor >= 0) || major > 1; + this.GL11 = (major == 1 && minor >= 1) || major > 1; + this.GL12 = (major == 1 && minor >= 2) || major > 1; + this.GL13 = (major == 1 && minor >= 3) || major > 1; + this.GL14 = (major == 1 && minor >= 4) || major > 1; + this.GL15 = (major == 1 && minor >= 5) || major > 1; + this.GL20 = (major == 2 && minor >= 0) || major > 2; + this.GL21 = (major == 2 && minor >= 1) || major > 2; + this.GL30 = (major == 3 && minor >= 0) || major > 3; + this.GL31 = (major == 3 && minor >= 1) || major > 3; + this.GL32 = (major == 3 && minor >= 2) || major > 3; + this.GL33 = (major == 3 && minor >= 3) || major > 3; + this.GL40 = (major == 4 && minor >= 0) || major > 4; + this.GL41 = (major == 4 && minor >= 1) || major > 4; + this.GL42 = (major == 4 && minor >= 2) || major > 4; + this.GL43 = (major == 4 && minor >= 3) || major > 4; + this.GL44 = (major == 4 && minor >= 4) || major > 4; + this.GL45 = (major == 4 && minor >= 5) || major > 4; + this.GL46 = (major == 4 && minor >= 6) || major > 4; + var list = new java.util.ArrayList(700); + this.foundExtension = GLFinder.getExtensions(load, major, list); + this.GL_ARB_ES2_compatibility = this.foundExtension && list.contains("GL_ARB_ES2_compatibility"); + this.GL_ARB_ES3_1_compatibility = this.foundExtension && list.contains("GL_ARB_ES3_1_compatibility"); + this.GL_ARB_ES3_2_compatibility = this.foundExtension && list.contains("GL_ARB_ES3_2_compatibility"); + this.GL_ARB_ES3_compatibility = this.foundExtension && list.contains("GL_ARB_ES3_compatibility"); + this.GL_ARB_arrays_of_arrays = this.foundExtension && list.contains("GL_ARB_arrays_of_arrays"); + this.GL_ARB_base_instance = this.foundExtension && list.contains("GL_ARB_base_instance"); + this.GL_ARB_bindless_texture = this.foundExtension && list.contains("GL_ARB_bindless_texture"); + this.GL_ARB_blend_func_extended = this.foundExtension && list.contains("GL_ARB_blend_func_extended"); + this.GL_ARB_buffer_storage = this.foundExtension && list.contains("GL_ARB_buffer_storage"); + this.GL_ARB_cl_event = this.foundExtension && list.contains("GL_ARB_cl_event"); + this.GL_ARB_clear_buffer_object = this.foundExtension && list.contains("GL_ARB_clear_buffer_object"); + this.GL_ARB_clear_texture = this.foundExtension && list.contains("GL_ARB_clear_texture"); + this.GL_ARB_clip_control = this.foundExtension && list.contains("GL_ARB_clip_control"); + this.GL_ARB_color_buffer_float = this.foundExtension && list.contains("GL_ARB_color_buffer_float"); + this.GL_ARB_compatibility = this.foundExtension && list.contains("GL_ARB_compatibility"); + this.GL_ARB_compressed_texture_pixel_storage = this.foundExtension && list.contains("GL_ARB_compressed_texture_pixel_storage"); + this.GL_ARB_compute_shader = this.foundExtension && list.contains("GL_ARB_compute_shader"); + this.GL_ARB_compute_variable_group_size = this.foundExtension && list.contains("GL_ARB_compute_variable_group_size"); + this.GL_ARB_conditional_render_inverted = this.foundExtension && list.contains("GL_ARB_conditional_render_inverted"); + this.GL_ARB_conservative_depth = this.foundExtension && list.contains("GL_ARB_conservative_depth"); + this.GL_ARB_copy_buffer = this.foundExtension && list.contains("GL_ARB_copy_buffer"); + this.GL_ARB_copy_image = this.foundExtension && list.contains("GL_ARB_copy_image"); + this.GL_ARB_cull_distance = this.foundExtension && list.contains("GL_ARB_cull_distance"); + this.GL_ARB_debug_output = this.foundExtension && list.contains("GL_ARB_debug_output"); + this.GL_ARB_depth_buffer_float = this.foundExtension && list.contains("GL_ARB_depth_buffer_float"); + this.GL_ARB_depth_clamp = this.foundExtension && list.contains("GL_ARB_depth_clamp"); + this.GL_ARB_depth_texture = this.foundExtension && list.contains("GL_ARB_depth_texture"); + this.GL_ARB_derivative_control = this.foundExtension && list.contains("GL_ARB_derivative_control"); + this.GL_ARB_direct_state_access = this.foundExtension && list.contains("GL_ARB_direct_state_access"); + this.GL_ARB_draw_buffers = this.foundExtension && list.contains("GL_ARB_draw_buffers"); + this.GL_ARB_draw_buffers_blend = this.foundExtension && list.contains("GL_ARB_draw_buffers_blend"); + this.GL_ARB_draw_elements_base_vertex = this.foundExtension && list.contains("GL_ARB_draw_elements_base_vertex"); + this.GL_ARB_draw_indirect = this.foundExtension && list.contains("GL_ARB_draw_indirect"); + this.GL_ARB_draw_instanced = this.foundExtension && list.contains("GL_ARB_draw_instanced"); + this.GL_ARB_enhanced_layouts = this.foundExtension && list.contains("GL_ARB_enhanced_layouts"); + this.GL_ARB_explicit_attrib_location = this.foundExtension && list.contains("GL_ARB_explicit_attrib_location"); + this.GL_ARB_explicit_uniform_location = this.foundExtension && list.contains("GL_ARB_explicit_uniform_location"); + this.GL_ARB_fragment_coord_conventions = this.foundExtension && list.contains("GL_ARB_fragment_coord_conventions"); + this.GL_ARB_fragment_layer_viewport = this.foundExtension && list.contains("GL_ARB_fragment_layer_viewport"); + this.GL_ARB_fragment_program = this.foundExtension && list.contains("GL_ARB_fragment_program"); + this.GL_ARB_fragment_program_shadow = this.foundExtension && list.contains("GL_ARB_fragment_program_shadow"); + this.GL_ARB_fragment_shader = this.foundExtension && list.contains("GL_ARB_fragment_shader"); + this.GL_ARB_fragment_shader_interlock = this.foundExtension && list.contains("GL_ARB_fragment_shader_interlock"); + this.GL_ARB_framebuffer_no_attachments = this.foundExtension && list.contains("GL_ARB_framebuffer_no_attachments"); + this.GL_ARB_framebuffer_object = this.foundExtension && list.contains("GL_ARB_framebuffer_object"); + this.GL_ARB_framebuffer_sRGB = this.foundExtension && list.contains("GL_ARB_framebuffer_sRGB"); + this.GL_ARB_geometry_shader4 = this.foundExtension && list.contains("GL_ARB_geometry_shader4"); + this.GL_ARB_get_program_binary = this.foundExtension && list.contains("GL_ARB_get_program_binary"); + this.GL_ARB_get_texture_sub_image = this.foundExtension && list.contains("GL_ARB_get_texture_sub_image"); + this.GL_ARB_gl_spirv = this.foundExtension && list.contains("GL_ARB_gl_spirv"); + this.GL_ARB_gpu_shader5 = this.foundExtension && list.contains("GL_ARB_gpu_shader5"); + this.GL_ARB_gpu_shader_fp64 = this.foundExtension && list.contains("GL_ARB_gpu_shader_fp64"); + this.GL_ARB_gpu_shader_int64 = this.foundExtension && list.contains("GL_ARB_gpu_shader_int64"); + this.GL_ARB_half_float_pixel = this.foundExtension && list.contains("GL_ARB_half_float_pixel"); + this.GL_ARB_half_float_vertex = this.foundExtension && list.contains("GL_ARB_half_float_vertex"); + this.GL_ARB_imaging = this.foundExtension && list.contains("GL_ARB_imaging"); + this.GL_ARB_indirect_parameters = this.foundExtension && list.contains("GL_ARB_indirect_parameters"); + this.GL_ARB_instanced_arrays = this.foundExtension && list.contains("GL_ARB_instanced_arrays"); + this.GL_ARB_internalformat_query = this.foundExtension && list.contains("GL_ARB_internalformat_query"); + this.GL_ARB_internalformat_query2 = this.foundExtension && list.contains("GL_ARB_internalformat_query2"); + this.GL_ARB_invalidate_subdata = this.foundExtension && list.contains("GL_ARB_invalidate_subdata"); + this.GL_ARB_map_buffer_alignment = this.foundExtension && list.contains("GL_ARB_map_buffer_alignment"); + this.GL_ARB_map_buffer_range = this.foundExtension && list.contains("GL_ARB_map_buffer_range"); + this.GL_ARB_matrix_palette = this.foundExtension && list.contains("GL_ARB_matrix_palette"); + this.GL_ARB_multi_bind = this.foundExtension && list.contains("GL_ARB_multi_bind"); + this.GL_ARB_multi_draw_indirect = this.foundExtension && list.contains("GL_ARB_multi_draw_indirect"); + this.GL_ARB_multisample = this.foundExtension && list.contains("GL_ARB_multisample"); + this.GL_ARB_multitexture = this.foundExtension && list.contains("GL_ARB_multitexture"); + this.GL_ARB_occlusion_query = this.foundExtension && list.contains("GL_ARB_occlusion_query"); + this.GL_ARB_occlusion_query2 = this.foundExtension && list.contains("GL_ARB_occlusion_query2"); + this.GL_ARB_parallel_shader_compile = this.foundExtension && list.contains("GL_ARB_parallel_shader_compile"); + this.GL_ARB_pipeline_statistics_query = this.foundExtension && list.contains("GL_ARB_pipeline_statistics_query"); + this.GL_ARB_pixel_buffer_object = this.foundExtension && list.contains("GL_ARB_pixel_buffer_object"); + this.GL_ARB_point_parameters = this.foundExtension && list.contains("GL_ARB_point_parameters"); + this.GL_ARB_point_sprite = this.foundExtension && list.contains("GL_ARB_point_sprite"); + this.GL_ARB_polygon_offset_clamp = this.foundExtension && list.contains("GL_ARB_polygon_offset_clamp"); + this.GL_ARB_post_depth_coverage = this.foundExtension && list.contains("GL_ARB_post_depth_coverage"); + this.GL_ARB_program_interface_query = this.foundExtension && list.contains("GL_ARB_program_interface_query"); + this.GL_ARB_provoking_vertex = this.foundExtension && list.contains("GL_ARB_provoking_vertex"); + this.GL_ARB_query_buffer_object = this.foundExtension && list.contains("GL_ARB_query_buffer_object"); + this.GL_ARB_robust_buffer_access_behavior = this.foundExtension && list.contains("GL_ARB_robust_buffer_access_behavior"); + this.GL_ARB_robustness = this.foundExtension && list.contains("GL_ARB_robustness"); + this.GL_ARB_robustness_isolation = this.foundExtension && list.contains("GL_ARB_robustness_isolation"); + this.GL_ARB_sample_locations = this.foundExtension && list.contains("GL_ARB_sample_locations"); + this.GL_ARB_sample_shading = this.foundExtension && list.contains("GL_ARB_sample_shading"); + this.GL_ARB_sampler_objects = this.foundExtension && list.contains("GL_ARB_sampler_objects"); + this.GL_ARB_seamless_cube_map = this.foundExtension && list.contains("GL_ARB_seamless_cube_map"); + this.GL_ARB_seamless_cubemap_per_texture = this.foundExtension && list.contains("GL_ARB_seamless_cubemap_per_texture"); + this.GL_ARB_separate_shader_objects = this.foundExtension && list.contains("GL_ARB_separate_shader_objects"); + this.GL_ARB_shader_atomic_counter_ops = this.foundExtension && list.contains("GL_ARB_shader_atomic_counter_ops"); + this.GL_ARB_shader_atomic_counters = this.foundExtension && list.contains("GL_ARB_shader_atomic_counters"); + this.GL_ARB_shader_ballot = this.foundExtension && list.contains("GL_ARB_shader_ballot"); + this.GL_ARB_shader_bit_encoding = this.foundExtension && list.contains("GL_ARB_shader_bit_encoding"); + this.GL_ARB_shader_clock = this.foundExtension && list.contains("GL_ARB_shader_clock"); + this.GL_ARB_shader_draw_parameters = this.foundExtension && list.contains("GL_ARB_shader_draw_parameters"); + this.GL_ARB_shader_group_vote = this.foundExtension && list.contains("GL_ARB_shader_group_vote"); + this.GL_ARB_shader_image_load_store = this.foundExtension && list.contains("GL_ARB_shader_image_load_store"); + this.GL_ARB_shader_image_size = this.foundExtension && list.contains("GL_ARB_shader_image_size"); + this.GL_ARB_shader_objects = this.foundExtension && list.contains("GL_ARB_shader_objects"); + this.GL_ARB_shader_precision = this.foundExtension && list.contains("GL_ARB_shader_precision"); + this.GL_ARB_shader_stencil_export = this.foundExtension && list.contains("GL_ARB_shader_stencil_export"); + this.GL_ARB_shader_storage_buffer_object = this.foundExtension && list.contains("GL_ARB_shader_storage_buffer_object"); + this.GL_ARB_shader_subroutine = this.foundExtension && list.contains("GL_ARB_shader_subroutine"); + this.GL_ARB_shader_texture_image_samples = this.foundExtension && list.contains("GL_ARB_shader_texture_image_samples"); + this.GL_ARB_shader_texture_lod = this.foundExtension && list.contains("GL_ARB_shader_texture_lod"); + this.GL_ARB_shader_viewport_layer_array = this.foundExtension && list.contains("GL_ARB_shader_viewport_layer_array"); + this.GL_ARB_shading_language_100 = this.foundExtension && list.contains("GL_ARB_shading_language_100"); + this.GL_ARB_shading_language_420pack = this.foundExtension && list.contains("GL_ARB_shading_language_420pack"); + this.GL_ARB_shading_language_include = this.foundExtension && list.contains("GL_ARB_shading_language_include"); + this.GL_ARB_shading_language_packing = this.foundExtension && list.contains("GL_ARB_shading_language_packing"); + this.GL_ARB_shadow = this.foundExtension && list.contains("GL_ARB_shadow"); + this.GL_ARB_shadow_ambient = this.foundExtension && list.contains("GL_ARB_shadow_ambient"); + this.GL_ARB_sparse_buffer = this.foundExtension && list.contains("GL_ARB_sparse_buffer"); + this.GL_ARB_sparse_texture = this.foundExtension && list.contains("GL_ARB_sparse_texture"); + this.GL_ARB_sparse_texture2 = this.foundExtension && list.contains("GL_ARB_sparse_texture2"); + this.GL_ARB_sparse_texture_clamp = this.foundExtension && list.contains("GL_ARB_sparse_texture_clamp"); + this.GL_ARB_spirv_extensions = this.foundExtension && list.contains("GL_ARB_spirv_extensions"); + this.GL_ARB_stencil_texturing = this.foundExtension && list.contains("GL_ARB_stencil_texturing"); + this.GL_ARB_sync = this.foundExtension && list.contains("GL_ARB_sync"); + this.GL_ARB_tessellation_shader = this.foundExtension && list.contains("GL_ARB_tessellation_shader"); + this.GL_ARB_texture_barrier = this.foundExtension && list.contains("GL_ARB_texture_barrier"); + this.GL_ARB_texture_border_clamp = this.foundExtension && list.contains("GL_ARB_texture_border_clamp"); + this.GL_ARB_texture_buffer_object = this.foundExtension && list.contains("GL_ARB_texture_buffer_object"); + this.GL_ARB_texture_buffer_object_rgb32 = this.foundExtension && list.contains("GL_ARB_texture_buffer_object_rgb32"); + this.GL_ARB_texture_buffer_range = this.foundExtension && list.contains("GL_ARB_texture_buffer_range"); + this.GL_ARB_texture_compression = this.foundExtension && list.contains("GL_ARB_texture_compression"); + this.GL_ARB_texture_compression_bptc = this.foundExtension && list.contains("GL_ARB_texture_compression_bptc"); + this.GL_ARB_texture_compression_rgtc = this.foundExtension && list.contains("GL_ARB_texture_compression_rgtc"); + this.GL_ARB_texture_cube_map = this.foundExtension && list.contains("GL_ARB_texture_cube_map"); + this.GL_ARB_texture_cube_map_array = this.foundExtension && list.contains("GL_ARB_texture_cube_map_array"); + this.GL_ARB_texture_env_add = this.foundExtension && list.contains("GL_ARB_texture_env_add"); + this.GL_ARB_texture_env_combine = this.foundExtension && list.contains("GL_ARB_texture_env_combine"); + this.GL_ARB_texture_env_crossbar = this.foundExtension && list.contains("GL_ARB_texture_env_crossbar"); + this.GL_ARB_texture_env_dot3 = this.foundExtension && list.contains("GL_ARB_texture_env_dot3"); + this.GL_ARB_texture_filter_anisotropic = this.foundExtension && list.contains("GL_ARB_texture_filter_anisotropic"); + this.GL_ARB_texture_filter_minmax = this.foundExtension && list.contains("GL_ARB_texture_filter_minmax"); + this.GL_ARB_texture_float = this.foundExtension && list.contains("GL_ARB_texture_float"); + this.GL_ARB_texture_gather = this.foundExtension && list.contains("GL_ARB_texture_gather"); + this.GL_ARB_texture_mirror_clamp_to_edge = this.foundExtension && list.contains("GL_ARB_texture_mirror_clamp_to_edge"); + this.GL_ARB_texture_mirrored_repeat = this.foundExtension && list.contains("GL_ARB_texture_mirrored_repeat"); + this.GL_ARB_texture_multisample = this.foundExtension && list.contains("GL_ARB_texture_multisample"); + this.GL_ARB_texture_non_power_of_two = this.foundExtension && list.contains("GL_ARB_texture_non_power_of_two"); + this.GL_ARB_texture_query_levels = this.foundExtension && list.contains("GL_ARB_texture_query_levels"); + this.GL_ARB_texture_query_lod = this.foundExtension && list.contains("GL_ARB_texture_query_lod"); + this.GL_ARB_texture_rectangle = this.foundExtension && list.contains("GL_ARB_texture_rectangle"); + this.GL_ARB_texture_rg = this.foundExtension && list.contains("GL_ARB_texture_rg"); + this.GL_ARB_texture_rgb10_a2ui = this.foundExtension && list.contains("GL_ARB_texture_rgb10_a2ui"); + this.GL_ARB_texture_stencil8 = this.foundExtension && list.contains("GL_ARB_texture_stencil8"); + this.GL_ARB_texture_storage = this.foundExtension && list.contains("GL_ARB_texture_storage"); + this.GL_ARB_texture_storage_multisample = this.foundExtension && list.contains("GL_ARB_texture_storage_multisample"); + this.GL_ARB_texture_swizzle = this.foundExtension && list.contains("GL_ARB_texture_swizzle"); + this.GL_ARB_texture_view = this.foundExtension && list.contains("GL_ARB_texture_view"); + this.GL_ARB_timer_query = this.foundExtension && list.contains("GL_ARB_timer_query"); + this.GL_ARB_transform_feedback2 = this.foundExtension && list.contains("GL_ARB_transform_feedback2"); + this.GL_ARB_transform_feedback3 = this.foundExtension && list.contains("GL_ARB_transform_feedback3"); + this.GL_ARB_transform_feedback_instanced = this.foundExtension && list.contains("GL_ARB_transform_feedback_instanced"); + this.GL_ARB_transform_feedback_overflow_query = this.foundExtension && list.contains("GL_ARB_transform_feedback_overflow_query"); + this.GL_ARB_transpose_matrix = this.foundExtension && list.contains("GL_ARB_transpose_matrix"); + this.GL_ARB_uniform_buffer_object = this.foundExtension && list.contains("GL_ARB_uniform_buffer_object"); + this.GL_ARB_vertex_array_bgra = this.foundExtension && list.contains("GL_ARB_vertex_array_bgra"); + this.GL_ARB_vertex_array_object = this.foundExtension && list.contains("GL_ARB_vertex_array_object"); + this.GL_ARB_vertex_attrib_64bit = this.foundExtension && list.contains("GL_ARB_vertex_attrib_64bit"); + this.GL_ARB_vertex_attrib_binding = this.foundExtension && list.contains("GL_ARB_vertex_attrib_binding"); + this.GL_ARB_vertex_blend = this.foundExtension && list.contains("GL_ARB_vertex_blend"); + this.GL_ARB_vertex_buffer_object = this.foundExtension && list.contains("GL_ARB_vertex_buffer_object"); + this.GL_ARB_vertex_program = this.foundExtension && list.contains("GL_ARB_vertex_program"); + this.GL_ARB_vertex_shader = this.foundExtension && list.contains("GL_ARB_vertex_shader"); + this.GL_ARB_vertex_type_10f_11f_11f_rev = this.foundExtension && list.contains("GL_ARB_vertex_type_10f_11f_11f_rev"); + this.GL_ARB_vertex_type_2_10_10_10_rev = this.foundExtension && list.contains("GL_ARB_vertex_type_2_10_10_10_rev"); + this.GL_ARB_viewport_array = this.foundExtension && list.contains("GL_ARB_viewport_array"); + this.GL_ARB_window_pos = this.foundExtension && list.contains("GL_ARB_window_pos"); + this.GL_KHR_blend_equation_advanced = this.foundExtension && list.contains("GL_KHR_blend_equation_advanced"); + this.GL_KHR_blend_equation_advanced_coherent = this.foundExtension && list.contains("GL_KHR_blend_equation_advanced_coherent"); + this.GL_KHR_context_flush_control = this.foundExtension && list.contains("GL_KHR_context_flush_control"); + this.GL_KHR_debug = this.foundExtension && list.contains("GL_KHR_debug"); + this.GL_KHR_no_error = this.foundExtension && list.contains("GL_KHR_no_error"); + this.GL_KHR_parallel_shader_compile = this.foundExtension && list.contains("GL_KHR_parallel_shader_compile"); + this.GL_KHR_robust_buffer_access_behavior = this.foundExtension && list.contains("GL_KHR_robust_buffer_access_behavior"); + this.GL_KHR_robustness = this.foundExtension && list.contains("GL_KHR_robustness"); + this.GL_KHR_shader_subgroup = this.foundExtension && list.contains("GL_KHR_shader_subgroup"); + this.GL_KHR_texture_compression_astc_hdr = this.foundExtension && list.contains("GL_KHR_texture_compression_astc_hdr"); + this.GL_KHR_texture_compression_astc_ldr = this.foundExtension && list.contains("GL_KHR_texture_compression_astc_ldr"); + this.GL_KHR_texture_compression_astc_sliced_3d = this.foundExtension && list.contains("GL_KHR_texture_compression_astc_sliced_3d"); + this.GL_OES_byte_coordinates = this.foundExtension && list.contains("GL_OES_byte_coordinates"); + this.GL_OES_compressed_paletted_texture = this.foundExtension && list.contains("GL_OES_compressed_paletted_texture"); + this.GL_OES_fixed_point = this.foundExtension && list.contains("GL_OES_fixed_point"); + this.GL_OES_query_matrix = this.foundExtension && list.contains("GL_OES_query_matrix"); + this.GL_OES_read_format = this.foundExtension && list.contains("GL_OES_read_format"); + this.GL_OES_single_precision = this.foundExtension && list.contains("GL_OES_single_precision"); + this.GL_3DFX_multisample = this.foundExtension && list.contains("GL_3DFX_multisample"); + this.GL_3DFX_tbuffer = this.foundExtension && list.contains("GL_3DFX_tbuffer"); + this.GL_3DFX_texture_compression_FXT1 = this.foundExtension && list.contains("GL_3DFX_texture_compression_FXT1"); + this.GL_AMD_blend_minmax_factor = this.foundExtension && list.contains("GL_AMD_blend_minmax_factor"); + this.GL_AMD_conservative_depth = this.foundExtension && list.contains("GL_AMD_conservative_depth"); + this.GL_AMD_debug_output = this.foundExtension && list.contains("GL_AMD_debug_output"); + this.GL_AMD_depth_clamp_separate = this.foundExtension && list.contains("GL_AMD_depth_clamp_separate"); + this.GL_AMD_draw_buffers_blend = this.foundExtension && list.contains("GL_AMD_draw_buffers_blend"); + this.GL_AMD_framebuffer_multisample_advanced = this.foundExtension && list.contains("GL_AMD_framebuffer_multisample_advanced"); + this.GL_AMD_framebuffer_sample_positions = this.foundExtension && list.contains("GL_AMD_framebuffer_sample_positions"); + this.GL_AMD_gcn_shader = this.foundExtension && list.contains("GL_AMD_gcn_shader"); + this.GL_AMD_gpu_shader_half_float = this.foundExtension && list.contains("GL_AMD_gpu_shader_half_float"); + this.GL_AMD_gpu_shader_int16 = this.foundExtension && list.contains("GL_AMD_gpu_shader_int16"); + this.GL_AMD_gpu_shader_int64 = this.foundExtension && list.contains("GL_AMD_gpu_shader_int64"); + this.GL_AMD_interleaved_elements = this.foundExtension && list.contains("GL_AMD_interleaved_elements"); + this.GL_AMD_multi_draw_indirect = this.foundExtension && list.contains("GL_AMD_multi_draw_indirect"); + this.GL_AMD_name_gen_delete = this.foundExtension && list.contains("GL_AMD_name_gen_delete"); + this.GL_AMD_occlusion_query_event = this.foundExtension && list.contains("GL_AMD_occlusion_query_event"); + this.GL_AMD_performance_monitor = this.foundExtension && list.contains("GL_AMD_performance_monitor"); + this.GL_AMD_pinned_memory = this.foundExtension && list.contains("GL_AMD_pinned_memory"); + this.GL_AMD_query_buffer_object = this.foundExtension && list.contains("GL_AMD_query_buffer_object"); + this.GL_AMD_sample_positions = this.foundExtension && list.contains("GL_AMD_sample_positions"); + this.GL_AMD_seamless_cubemap_per_texture = this.foundExtension && list.contains("GL_AMD_seamless_cubemap_per_texture"); + this.GL_AMD_shader_atomic_counter_ops = this.foundExtension && list.contains("GL_AMD_shader_atomic_counter_ops"); + this.GL_AMD_shader_ballot = this.foundExtension && list.contains("GL_AMD_shader_ballot"); + this.GL_AMD_shader_explicit_vertex_parameter = this.foundExtension && list.contains("GL_AMD_shader_explicit_vertex_parameter"); + this.GL_AMD_shader_gpu_shader_half_float_fetch = this.foundExtension && list.contains("GL_AMD_shader_gpu_shader_half_float_fetch"); + this.GL_AMD_shader_image_load_store_lod = this.foundExtension && list.contains("GL_AMD_shader_image_load_store_lod"); + this.GL_AMD_shader_stencil_export = this.foundExtension && list.contains("GL_AMD_shader_stencil_export"); + this.GL_AMD_shader_trinary_minmax = this.foundExtension && list.contains("GL_AMD_shader_trinary_minmax"); + this.GL_AMD_sparse_texture = this.foundExtension && list.contains("GL_AMD_sparse_texture"); + this.GL_AMD_stencil_operation_extended = this.foundExtension && list.contains("GL_AMD_stencil_operation_extended"); + this.GL_AMD_texture_gather_bias_lod = this.foundExtension && list.contains("GL_AMD_texture_gather_bias_lod"); + this.GL_AMD_texture_texture4 = this.foundExtension && list.contains("GL_AMD_texture_texture4"); + this.GL_AMD_transform_feedback3_lines_triangles = this.foundExtension && list.contains("GL_AMD_transform_feedback3_lines_triangles"); + this.GL_AMD_transform_feedback4 = this.foundExtension && list.contains("GL_AMD_transform_feedback4"); + this.GL_AMD_vertex_shader_layer = this.foundExtension && list.contains("GL_AMD_vertex_shader_layer"); + this.GL_AMD_vertex_shader_tessellator = this.foundExtension && list.contains("GL_AMD_vertex_shader_tessellator"); + this.GL_AMD_vertex_shader_viewport_index = this.foundExtension && list.contains("GL_AMD_vertex_shader_viewport_index"); + this.GL_APPLE_aux_depth_stencil = this.foundExtension && list.contains("GL_APPLE_aux_depth_stencil"); + this.GL_APPLE_client_storage = this.foundExtension && list.contains("GL_APPLE_client_storage"); + this.GL_APPLE_element_array = this.foundExtension && list.contains("GL_APPLE_element_array"); + this.GL_APPLE_fence = this.foundExtension && list.contains("GL_APPLE_fence"); + this.GL_APPLE_float_pixels = this.foundExtension && list.contains("GL_APPLE_float_pixels"); + this.GL_APPLE_flush_buffer_range = this.foundExtension && list.contains("GL_APPLE_flush_buffer_range"); + this.GL_APPLE_object_purgeable = this.foundExtension && list.contains("GL_APPLE_object_purgeable"); + this.GL_APPLE_rgb_422 = this.foundExtension && list.contains("GL_APPLE_rgb_422"); + this.GL_APPLE_row_bytes = this.foundExtension && list.contains("GL_APPLE_row_bytes"); + this.GL_APPLE_specular_vector = this.foundExtension && list.contains("GL_APPLE_specular_vector"); + this.GL_APPLE_texture_range = this.foundExtension && list.contains("GL_APPLE_texture_range"); + this.GL_APPLE_transform_hint = this.foundExtension && list.contains("GL_APPLE_transform_hint"); + this.GL_APPLE_vertex_array_object = this.foundExtension && list.contains("GL_APPLE_vertex_array_object"); + this.GL_APPLE_vertex_array_range = this.foundExtension && list.contains("GL_APPLE_vertex_array_range"); + this.GL_APPLE_vertex_program_evaluators = this.foundExtension && list.contains("GL_APPLE_vertex_program_evaluators"); + this.GL_APPLE_ycbcr_422 = this.foundExtension && list.contains("GL_APPLE_ycbcr_422"); + this.GL_ATI_draw_buffers = this.foundExtension && list.contains("GL_ATI_draw_buffers"); + this.GL_ATI_element_array = this.foundExtension && list.contains("GL_ATI_element_array"); + this.GL_ATI_envmap_bumpmap = this.foundExtension && list.contains("GL_ATI_envmap_bumpmap"); + this.GL_ATI_fragment_shader = this.foundExtension && list.contains("GL_ATI_fragment_shader"); + this.GL_ATI_map_object_buffer = this.foundExtension && list.contains("GL_ATI_map_object_buffer"); + this.GL_ATI_meminfo = this.foundExtension && list.contains("GL_ATI_meminfo"); + this.GL_ATI_pixel_format_float = this.foundExtension && list.contains("GL_ATI_pixel_format_float"); + this.GL_ATI_pn_triangles = this.foundExtension && list.contains("GL_ATI_pn_triangles"); + this.GL_ATI_separate_stencil = this.foundExtension && list.contains("GL_ATI_separate_stencil"); + this.GL_ATI_text_fragment_shader = this.foundExtension && list.contains("GL_ATI_text_fragment_shader"); + this.GL_ATI_texture_env_combine3 = this.foundExtension && list.contains("GL_ATI_texture_env_combine3"); + this.GL_ATI_texture_float = this.foundExtension && list.contains("GL_ATI_texture_float"); + this.GL_ATI_texture_mirror_once = this.foundExtension && list.contains("GL_ATI_texture_mirror_once"); + this.GL_ATI_vertex_array_object = this.foundExtension && list.contains("GL_ATI_vertex_array_object"); + this.GL_ATI_vertex_attrib_array_object = this.foundExtension && list.contains("GL_ATI_vertex_attrib_array_object"); + this.GL_ATI_vertex_streams = this.foundExtension && list.contains("GL_ATI_vertex_streams"); + this.GL_EXT_422_pixels = this.foundExtension && list.contains("GL_EXT_422_pixels"); + this.GL_EXT_EGL_image_storage = this.foundExtension && list.contains("GL_EXT_EGL_image_storage"); + this.GL_EXT_EGL_sync = this.foundExtension && list.contains("GL_EXT_EGL_sync"); + this.GL_EXT_abgr = this.foundExtension && list.contains("GL_EXT_abgr"); + this.GL_EXT_bgra = this.foundExtension && list.contains("GL_EXT_bgra"); + this.GL_EXT_bindable_uniform = this.foundExtension && list.contains("GL_EXT_bindable_uniform"); + this.GL_EXT_blend_color = this.foundExtension && list.contains("GL_EXT_blend_color"); + this.GL_EXT_blend_equation_separate = this.foundExtension && list.contains("GL_EXT_blend_equation_separate"); + this.GL_EXT_blend_func_separate = this.foundExtension && list.contains("GL_EXT_blend_func_separate"); + this.GL_EXT_blend_logic_op = this.foundExtension && list.contains("GL_EXT_blend_logic_op"); + this.GL_EXT_blend_minmax = this.foundExtension && list.contains("GL_EXT_blend_minmax"); + this.GL_EXT_blend_subtract = this.foundExtension && list.contains("GL_EXT_blend_subtract"); + this.GL_EXT_clip_volume_hint = this.foundExtension && list.contains("GL_EXT_clip_volume_hint"); + this.GL_EXT_cmyka = this.foundExtension && list.contains("GL_EXT_cmyka"); + this.GL_EXT_color_subtable = this.foundExtension && list.contains("GL_EXT_color_subtable"); + this.GL_EXT_compiled_vertex_array = this.foundExtension && list.contains("GL_EXT_compiled_vertex_array"); + this.GL_EXT_convolution = this.foundExtension && list.contains("GL_EXT_convolution"); + this.GL_EXT_coordinate_frame = this.foundExtension && list.contains("GL_EXT_coordinate_frame"); + this.GL_EXT_copy_texture = this.foundExtension && list.contains("GL_EXT_copy_texture"); + this.GL_EXT_cull_vertex = this.foundExtension && list.contains("GL_EXT_cull_vertex"); + this.GL_EXT_debug_label = this.foundExtension && list.contains("GL_EXT_debug_label"); + this.GL_EXT_debug_marker = this.foundExtension && list.contains("GL_EXT_debug_marker"); + this.GL_EXT_depth_bounds_test = this.foundExtension && list.contains("GL_EXT_depth_bounds_test"); + this.GL_EXT_direct_state_access = this.foundExtension && list.contains("GL_EXT_direct_state_access"); + this.GL_EXT_draw_buffers2 = this.foundExtension && list.contains("GL_EXT_draw_buffers2"); + this.GL_EXT_draw_instanced = this.foundExtension && list.contains("GL_EXT_draw_instanced"); + this.GL_EXT_draw_range_elements = this.foundExtension && list.contains("GL_EXT_draw_range_elements"); + this.GL_EXT_external_buffer = this.foundExtension && list.contains("GL_EXT_external_buffer"); + this.GL_EXT_fog_coord = this.foundExtension && list.contains("GL_EXT_fog_coord"); + this.GL_EXT_framebuffer_blit = this.foundExtension && list.contains("GL_EXT_framebuffer_blit"); + this.GL_EXT_framebuffer_blit_layers = this.foundExtension && list.contains("GL_EXT_framebuffer_blit_layers"); + this.GL_EXT_framebuffer_multisample = this.foundExtension && list.contains("GL_EXT_framebuffer_multisample"); + this.GL_EXT_framebuffer_multisample_blit_scaled = this.foundExtension && list.contains("GL_EXT_framebuffer_multisample_blit_scaled"); + this.GL_EXT_framebuffer_object = this.foundExtension && list.contains("GL_EXT_framebuffer_object"); + this.GL_EXT_framebuffer_sRGB = this.foundExtension && list.contains("GL_EXT_framebuffer_sRGB"); + this.GL_EXT_geometry_shader4 = this.foundExtension && list.contains("GL_EXT_geometry_shader4"); + this.GL_EXT_gpu_program_parameters = this.foundExtension && list.contains("GL_EXT_gpu_program_parameters"); + this.GL_EXT_gpu_shader4 = this.foundExtension && list.contains("GL_EXT_gpu_shader4"); + this.GL_EXT_histogram = this.foundExtension && list.contains("GL_EXT_histogram"); + this.GL_EXT_index_array_formats = this.foundExtension && list.contains("GL_EXT_index_array_formats"); + this.GL_EXT_index_func = this.foundExtension && list.contains("GL_EXT_index_func"); + this.GL_EXT_index_material = this.foundExtension && list.contains("GL_EXT_index_material"); + this.GL_EXT_index_texture = this.foundExtension && list.contains("GL_EXT_index_texture"); + this.GL_EXT_light_texture = this.foundExtension && list.contains("GL_EXT_light_texture"); + this.GL_EXT_memory_object = this.foundExtension && list.contains("GL_EXT_memory_object"); + this.GL_EXT_memory_object_fd = this.foundExtension && list.contains("GL_EXT_memory_object_fd"); + this.GL_EXT_memory_object_win32 = this.foundExtension && list.contains("GL_EXT_memory_object_win32"); + this.GL_EXT_misc_attribute = this.foundExtension && list.contains("GL_EXT_misc_attribute"); + this.GL_EXT_multi_draw_arrays = this.foundExtension && list.contains("GL_EXT_multi_draw_arrays"); + this.GL_EXT_multisample = this.foundExtension && list.contains("GL_EXT_multisample"); + this.GL_EXT_multiview_tessellation_geometry_shader = this.foundExtension && list.contains("GL_EXT_multiview_tessellation_geometry_shader"); + this.GL_EXT_multiview_texture_multisample = this.foundExtension && list.contains("GL_EXT_multiview_texture_multisample"); + this.GL_EXT_multiview_timer_query = this.foundExtension && list.contains("GL_EXT_multiview_timer_query"); + this.GL_EXT_packed_depth_stencil = this.foundExtension && list.contains("GL_EXT_packed_depth_stencil"); + this.GL_EXT_packed_float = this.foundExtension && list.contains("GL_EXT_packed_float"); + this.GL_EXT_packed_pixels = this.foundExtension && list.contains("GL_EXT_packed_pixels"); + this.GL_EXT_paletted_texture = this.foundExtension && list.contains("GL_EXT_paletted_texture"); + this.GL_EXT_pixel_buffer_object = this.foundExtension && list.contains("GL_EXT_pixel_buffer_object"); + this.GL_EXT_pixel_transform = this.foundExtension && list.contains("GL_EXT_pixel_transform"); + this.GL_EXT_pixel_transform_color_table = this.foundExtension && list.contains("GL_EXT_pixel_transform_color_table"); + this.GL_EXT_point_parameters = this.foundExtension && list.contains("GL_EXT_point_parameters"); + this.GL_EXT_polygon_offset = this.foundExtension && list.contains("GL_EXT_polygon_offset"); + this.GL_EXT_polygon_offset_clamp = this.foundExtension && list.contains("GL_EXT_polygon_offset_clamp"); + this.GL_EXT_post_depth_coverage = this.foundExtension && list.contains("GL_EXT_post_depth_coverage"); + this.GL_EXT_provoking_vertex = this.foundExtension && list.contains("GL_EXT_provoking_vertex"); + this.GL_EXT_raster_multisample = this.foundExtension && list.contains("GL_EXT_raster_multisample"); + this.GL_EXT_rescale_normal = this.foundExtension && list.contains("GL_EXT_rescale_normal"); + this.GL_EXT_secondary_color = this.foundExtension && list.contains("GL_EXT_secondary_color"); + this.GL_EXT_semaphore = this.foundExtension && list.contains("GL_EXT_semaphore"); + this.GL_EXT_semaphore_fd = this.foundExtension && list.contains("GL_EXT_semaphore_fd"); + this.GL_EXT_semaphore_win32 = this.foundExtension && list.contains("GL_EXT_semaphore_win32"); + this.GL_EXT_separate_shader_objects = this.foundExtension && list.contains("GL_EXT_separate_shader_objects"); + this.GL_EXT_separate_specular_color = this.foundExtension && list.contains("GL_EXT_separate_specular_color"); + this.GL_EXT_shader_framebuffer_fetch = this.foundExtension && list.contains("GL_EXT_shader_framebuffer_fetch"); + this.GL_EXT_shader_framebuffer_fetch_non_coherent = this.foundExtension && list.contains("GL_EXT_shader_framebuffer_fetch_non_coherent"); + this.GL_EXT_shader_image_load_formatted = this.foundExtension && list.contains("GL_EXT_shader_image_load_formatted"); + this.GL_EXT_shader_image_load_store = this.foundExtension && list.contains("GL_EXT_shader_image_load_store"); + this.GL_EXT_shader_integer_mix = this.foundExtension && list.contains("GL_EXT_shader_integer_mix"); + this.GL_EXT_shader_samples_identical = this.foundExtension && list.contains("GL_EXT_shader_samples_identical"); + this.GL_EXT_shadow_funcs = this.foundExtension && list.contains("GL_EXT_shadow_funcs"); + this.GL_EXT_shared_texture_palette = this.foundExtension && list.contains("GL_EXT_shared_texture_palette"); + this.GL_EXT_sparse_texture2 = this.foundExtension && list.contains("GL_EXT_sparse_texture2"); + this.GL_EXT_stencil_clear_tag = this.foundExtension && list.contains("GL_EXT_stencil_clear_tag"); + this.GL_EXT_stencil_two_side = this.foundExtension && list.contains("GL_EXT_stencil_two_side"); + this.GL_EXT_stencil_wrap = this.foundExtension && list.contains("GL_EXT_stencil_wrap"); + this.GL_EXT_subtexture = this.foundExtension && list.contains("GL_EXT_subtexture"); + this.GL_EXT_texture = this.foundExtension && list.contains("GL_EXT_texture"); + this.GL_EXT_texture3D = this.foundExtension && list.contains("GL_EXT_texture3D"); + this.GL_EXT_texture_array = this.foundExtension && list.contains("GL_EXT_texture_array"); + this.GL_EXT_texture_buffer_object = this.foundExtension && list.contains("GL_EXT_texture_buffer_object"); + this.GL_EXT_texture_compression_latc = this.foundExtension && list.contains("GL_EXT_texture_compression_latc"); + this.GL_EXT_texture_compression_rgtc = this.foundExtension && list.contains("GL_EXT_texture_compression_rgtc"); + this.GL_EXT_texture_compression_s3tc = this.foundExtension && list.contains("GL_EXT_texture_compression_s3tc"); + this.GL_EXT_texture_cube_map = this.foundExtension && list.contains("GL_EXT_texture_cube_map"); + this.GL_EXT_texture_env_add = this.foundExtension && list.contains("GL_EXT_texture_env_add"); + this.GL_EXT_texture_env_combine = this.foundExtension && list.contains("GL_EXT_texture_env_combine"); + this.GL_EXT_texture_env_dot3 = this.foundExtension && list.contains("GL_EXT_texture_env_dot3"); + this.GL_EXT_texture_filter_anisotropic = this.foundExtension && list.contains("GL_EXT_texture_filter_anisotropic"); + this.GL_EXT_texture_filter_minmax = this.foundExtension && list.contains("GL_EXT_texture_filter_minmax"); + this.GL_EXT_texture_integer = this.foundExtension && list.contains("GL_EXT_texture_integer"); + this.GL_EXT_texture_lod_bias = this.foundExtension && list.contains("GL_EXT_texture_lod_bias"); + this.GL_EXT_texture_mirror_clamp = this.foundExtension && list.contains("GL_EXT_texture_mirror_clamp"); + this.GL_EXT_texture_object = this.foundExtension && list.contains("GL_EXT_texture_object"); + this.GL_EXT_texture_perturb_normal = this.foundExtension && list.contains("GL_EXT_texture_perturb_normal"); + this.GL_EXT_texture_sRGB = this.foundExtension && list.contains("GL_EXT_texture_sRGB"); + this.GL_EXT_texture_sRGB_R8 = this.foundExtension && list.contains("GL_EXT_texture_sRGB_R8"); + this.GL_EXT_texture_sRGB_RG8 = this.foundExtension && list.contains("GL_EXT_texture_sRGB_RG8"); + this.GL_EXT_texture_sRGB_decode = this.foundExtension && list.contains("GL_EXT_texture_sRGB_decode"); + this.GL_EXT_texture_shadow_lod = this.foundExtension && list.contains("GL_EXT_texture_shadow_lod"); + this.GL_EXT_texture_shared_exponent = this.foundExtension && list.contains("GL_EXT_texture_shared_exponent"); + this.GL_EXT_texture_snorm = this.foundExtension && list.contains("GL_EXT_texture_snorm"); + this.GL_EXT_texture_storage = this.foundExtension && list.contains("GL_EXT_texture_storage"); + this.GL_EXT_texture_swizzle = this.foundExtension && list.contains("GL_EXT_texture_swizzle"); + this.GL_EXT_timer_query = this.foundExtension && list.contains("GL_EXT_timer_query"); + this.GL_EXT_transform_feedback = this.foundExtension && list.contains("GL_EXT_transform_feedback"); + this.GL_EXT_vertex_array = this.foundExtension && list.contains("GL_EXT_vertex_array"); + this.GL_EXT_vertex_array_bgra = this.foundExtension && list.contains("GL_EXT_vertex_array_bgra"); + this.GL_EXT_vertex_attrib_64bit = this.foundExtension && list.contains("GL_EXT_vertex_attrib_64bit"); + this.GL_EXT_vertex_shader = this.foundExtension && list.contains("GL_EXT_vertex_shader"); + this.GL_EXT_vertex_weighting = this.foundExtension && list.contains("GL_EXT_vertex_weighting"); + this.GL_EXT_win32_keyed_mutex = this.foundExtension && list.contains("GL_EXT_win32_keyed_mutex"); + this.GL_EXT_window_rectangles = this.foundExtension && list.contains("GL_EXT_window_rectangles"); + this.GL_EXT_x11_sync_object = this.foundExtension && list.contains("GL_EXT_x11_sync_object"); + this.GL_GREMEDY_frame_terminator = this.foundExtension && list.contains("GL_GREMEDY_frame_terminator"); + this.GL_GREMEDY_string_marker = this.foundExtension && list.contains("GL_GREMEDY_string_marker"); + this.GL_HP_convolution_border_modes = this.foundExtension && list.contains("GL_HP_convolution_border_modes"); + this.GL_HP_image_transform = this.foundExtension && list.contains("GL_HP_image_transform"); + this.GL_HP_occlusion_test = this.foundExtension && list.contains("GL_HP_occlusion_test"); + this.GL_HP_texture_lighting = this.foundExtension && list.contains("GL_HP_texture_lighting"); + this.GL_IBM_cull_vertex = this.foundExtension && list.contains("GL_IBM_cull_vertex"); + this.GL_IBM_multimode_draw_arrays = this.foundExtension && list.contains("GL_IBM_multimode_draw_arrays"); + this.GL_IBM_rasterpos_clip = this.foundExtension && list.contains("GL_IBM_rasterpos_clip"); + this.GL_IBM_static_data = this.foundExtension && list.contains("GL_IBM_static_data"); + this.GL_IBM_texture_mirrored_repeat = this.foundExtension && list.contains("GL_IBM_texture_mirrored_repeat"); + this.GL_IBM_vertex_array_lists = this.foundExtension && list.contains("GL_IBM_vertex_array_lists"); + this.GL_INGR_blend_func_separate = this.foundExtension && list.contains("GL_INGR_blend_func_separate"); + this.GL_INGR_color_clamp = this.foundExtension && list.contains("GL_INGR_color_clamp"); + this.GL_INGR_interlace_read = this.foundExtension && list.contains("GL_INGR_interlace_read"); + this.GL_INTEL_blackhole_render = this.foundExtension && list.contains("GL_INTEL_blackhole_render"); + this.GL_INTEL_conservative_rasterization = this.foundExtension && list.contains("GL_INTEL_conservative_rasterization"); + this.GL_INTEL_fragment_shader_ordering = this.foundExtension && list.contains("GL_INTEL_fragment_shader_ordering"); + this.GL_INTEL_framebuffer_CMAA = this.foundExtension && list.contains("GL_INTEL_framebuffer_CMAA"); + this.GL_INTEL_map_texture = this.foundExtension && list.contains("GL_INTEL_map_texture"); + this.GL_INTEL_parallel_arrays = this.foundExtension && list.contains("GL_INTEL_parallel_arrays"); + this.GL_INTEL_performance_query = this.foundExtension && list.contains("GL_INTEL_performance_query"); + this.GL_MESAX_texture_stack = this.foundExtension && list.contains("GL_MESAX_texture_stack"); + this.GL_MESA_framebuffer_flip_x = this.foundExtension && list.contains("GL_MESA_framebuffer_flip_x"); + this.GL_MESA_framebuffer_flip_y = this.foundExtension && list.contains("GL_MESA_framebuffer_flip_y"); + this.GL_MESA_framebuffer_swap_xy = this.foundExtension && list.contains("GL_MESA_framebuffer_swap_xy"); + this.GL_MESA_pack_invert = this.foundExtension && list.contains("GL_MESA_pack_invert"); + this.GL_MESA_program_binary_formats = this.foundExtension && list.contains("GL_MESA_program_binary_formats"); + this.GL_MESA_resize_buffers = this.foundExtension && list.contains("GL_MESA_resize_buffers"); + this.GL_MESA_shader_integer_functions = this.foundExtension && list.contains("GL_MESA_shader_integer_functions"); + this.GL_MESA_tile_raster_order = this.foundExtension && list.contains("GL_MESA_tile_raster_order"); + this.GL_MESA_window_pos = this.foundExtension && list.contains("GL_MESA_window_pos"); + this.GL_MESA_ycbcr_texture = this.foundExtension && list.contains("GL_MESA_ycbcr_texture"); + this.GL_NVX_blend_equation_advanced_multi_draw_buffers = this.foundExtension && list.contains("GL_NVX_blend_equation_advanced_multi_draw_buffers"); + this.GL_NVX_conditional_render = this.foundExtension && list.contains("GL_NVX_conditional_render"); + this.GL_NVX_gpu_memory_info = this.foundExtension && list.contains("GL_NVX_gpu_memory_info"); + this.GL_NVX_gpu_multicast2 = this.foundExtension && list.contains("GL_NVX_gpu_multicast2"); + this.GL_NVX_linked_gpu_multicast = this.foundExtension && list.contains("GL_NVX_linked_gpu_multicast"); + this.GL_NVX_progress_fence = this.foundExtension && list.contains("GL_NVX_progress_fence"); + this.GL_NV_alpha_to_coverage_dither_control = this.foundExtension && list.contains("GL_NV_alpha_to_coverage_dither_control"); + this.GL_NV_bindless_multi_draw_indirect = this.foundExtension && list.contains("GL_NV_bindless_multi_draw_indirect"); + this.GL_NV_bindless_multi_draw_indirect_count = this.foundExtension && list.contains("GL_NV_bindless_multi_draw_indirect_count"); + this.GL_NV_bindless_texture = this.foundExtension && list.contains("GL_NV_bindless_texture"); + this.GL_NV_blend_equation_advanced = this.foundExtension && list.contains("GL_NV_blend_equation_advanced"); + this.GL_NV_blend_equation_advanced_coherent = this.foundExtension && list.contains("GL_NV_blend_equation_advanced_coherent"); + this.GL_NV_blend_minmax_factor = this.foundExtension && list.contains("GL_NV_blend_minmax_factor"); + this.GL_NV_blend_square = this.foundExtension && list.contains("GL_NV_blend_square"); + this.GL_NV_clip_space_w_scaling = this.foundExtension && list.contains("GL_NV_clip_space_w_scaling"); + this.GL_NV_command_list = this.foundExtension && list.contains("GL_NV_command_list"); + this.GL_NV_compute_program5 = this.foundExtension && list.contains("GL_NV_compute_program5"); + this.GL_NV_compute_shader_derivatives = this.foundExtension && list.contains("GL_NV_compute_shader_derivatives"); + this.GL_NV_conditional_render = this.foundExtension && list.contains("GL_NV_conditional_render"); + this.GL_NV_conservative_raster = this.foundExtension && list.contains("GL_NV_conservative_raster"); + this.GL_NV_conservative_raster_dilate = this.foundExtension && list.contains("GL_NV_conservative_raster_dilate"); + this.GL_NV_conservative_raster_pre_snap = this.foundExtension && list.contains("GL_NV_conservative_raster_pre_snap"); + this.GL_NV_conservative_raster_pre_snap_triangles = this.foundExtension && list.contains("GL_NV_conservative_raster_pre_snap_triangles"); + this.GL_NV_conservative_raster_underestimation = this.foundExtension && list.contains("GL_NV_conservative_raster_underestimation"); + this.GL_NV_copy_depth_to_color = this.foundExtension && list.contains("GL_NV_copy_depth_to_color"); + this.GL_NV_copy_image = this.foundExtension && list.contains("GL_NV_copy_image"); + this.GL_NV_deep_texture3D = this.foundExtension && list.contains("GL_NV_deep_texture3D"); + this.GL_NV_depth_buffer_float = this.foundExtension && list.contains("GL_NV_depth_buffer_float"); + this.GL_NV_depth_clamp = this.foundExtension && list.contains("GL_NV_depth_clamp"); + this.GL_NV_draw_texture = this.foundExtension && list.contains("GL_NV_draw_texture"); + this.GL_NV_draw_vulkan_image = this.foundExtension && list.contains("GL_NV_draw_vulkan_image"); + this.GL_NV_evaluators = this.foundExtension && list.contains("GL_NV_evaluators"); + this.GL_NV_explicit_multisample = this.foundExtension && list.contains("GL_NV_explicit_multisample"); + this.GL_NV_fence = this.foundExtension && list.contains("GL_NV_fence"); + this.GL_NV_fill_rectangle = this.foundExtension && list.contains("GL_NV_fill_rectangle"); + this.GL_NV_float_buffer = this.foundExtension && list.contains("GL_NV_float_buffer"); + this.GL_NV_fog_distance = this.foundExtension && list.contains("GL_NV_fog_distance"); + this.GL_NV_fragment_coverage_to_color = this.foundExtension && list.contains("GL_NV_fragment_coverage_to_color"); + this.GL_NV_fragment_program = this.foundExtension && list.contains("GL_NV_fragment_program"); + this.GL_NV_fragment_program2 = this.foundExtension && list.contains("GL_NV_fragment_program2"); + this.GL_NV_fragment_program4 = this.foundExtension && list.contains("GL_NV_fragment_program4"); + this.GL_NV_fragment_program_option = this.foundExtension && list.contains("GL_NV_fragment_program_option"); + this.GL_NV_fragment_shader_barycentric = this.foundExtension && list.contains("GL_NV_fragment_shader_barycentric"); + this.GL_NV_fragment_shader_interlock = this.foundExtension && list.contains("GL_NV_fragment_shader_interlock"); + this.GL_NV_framebuffer_mixed_samples = this.foundExtension && list.contains("GL_NV_framebuffer_mixed_samples"); + this.GL_NV_framebuffer_multisample_coverage = this.foundExtension && list.contains("GL_NV_framebuffer_multisample_coverage"); + this.GL_NV_geometry_program4 = this.foundExtension && list.contains("GL_NV_geometry_program4"); + this.GL_NV_geometry_shader4 = this.foundExtension && list.contains("GL_NV_geometry_shader4"); + this.GL_NV_geometry_shader_passthrough = this.foundExtension && list.contains("GL_NV_geometry_shader_passthrough"); + this.GL_NV_gpu_multicast = this.foundExtension && list.contains("GL_NV_gpu_multicast"); + this.GL_NV_gpu_program4 = this.foundExtension && list.contains("GL_NV_gpu_program4"); + this.GL_NV_gpu_program5 = this.foundExtension && list.contains("GL_NV_gpu_program5"); + this.GL_NV_gpu_program5_mem_extended = this.foundExtension && list.contains("GL_NV_gpu_program5_mem_extended"); + this.GL_NV_gpu_shader5 = this.foundExtension && list.contains("GL_NV_gpu_shader5"); + this.GL_NV_half_float = this.foundExtension && list.contains("GL_NV_half_float"); + this.GL_NV_internalformat_sample_query = this.foundExtension && list.contains("GL_NV_internalformat_sample_query"); + this.GL_NV_light_max_exponent = this.foundExtension && list.contains("GL_NV_light_max_exponent"); + this.GL_NV_memory_attachment = this.foundExtension && list.contains("GL_NV_memory_attachment"); + this.GL_NV_memory_object_sparse = this.foundExtension && list.contains("GL_NV_memory_object_sparse"); + this.GL_NV_mesh_shader = this.foundExtension && list.contains("GL_NV_mesh_shader"); + this.GL_NV_multisample_coverage = this.foundExtension && list.contains("GL_NV_multisample_coverage"); + this.GL_NV_multisample_filter_hint = this.foundExtension && list.contains("GL_NV_multisample_filter_hint"); + this.GL_NV_occlusion_query = this.foundExtension && list.contains("GL_NV_occlusion_query"); + this.GL_NV_packed_depth_stencil = this.foundExtension && list.contains("GL_NV_packed_depth_stencil"); + this.GL_NV_parameter_buffer_object = this.foundExtension && list.contains("GL_NV_parameter_buffer_object"); + this.GL_NV_parameter_buffer_object2 = this.foundExtension && list.contains("GL_NV_parameter_buffer_object2"); + this.GL_NV_path_rendering = this.foundExtension && list.contains("GL_NV_path_rendering"); + this.GL_NV_path_rendering_shared_edge = this.foundExtension && list.contains("GL_NV_path_rendering_shared_edge"); + this.GL_NV_pixel_data_range = this.foundExtension && list.contains("GL_NV_pixel_data_range"); + this.GL_NV_point_sprite = this.foundExtension && list.contains("GL_NV_point_sprite"); + this.GL_NV_present_video = this.foundExtension && list.contains("GL_NV_present_video"); + this.GL_NV_primitive_restart = this.foundExtension && list.contains("GL_NV_primitive_restart"); + this.GL_NV_primitive_shading_rate = this.foundExtension && list.contains("GL_NV_primitive_shading_rate"); + this.GL_NV_query_resource = this.foundExtension && list.contains("GL_NV_query_resource"); + this.GL_NV_query_resource_tag = this.foundExtension && list.contains("GL_NV_query_resource_tag"); + this.GL_NV_register_combiners = this.foundExtension && list.contains("GL_NV_register_combiners"); + this.GL_NV_register_combiners2 = this.foundExtension && list.contains("GL_NV_register_combiners2"); + this.GL_NV_representative_fragment_test = this.foundExtension && list.contains("GL_NV_representative_fragment_test"); + this.GL_NV_robustness_video_memory_purge = this.foundExtension && list.contains("GL_NV_robustness_video_memory_purge"); + this.GL_NV_sample_locations = this.foundExtension && list.contains("GL_NV_sample_locations"); + this.GL_NV_sample_mask_override_coverage = this.foundExtension && list.contains("GL_NV_sample_mask_override_coverage"); + this.GL_NV_scissor_exclusive = this.foundExtension && list.contains("GL_NV_scissor_exclusive"); + this.GL_NV_shader_atomic_counters = this.foundExtension && list.contains("GL_NV_shader_atomic_counters"); + this.GL_NV_shader_atomic_float = this.foundExtension && list.contains("GL_NV_shader_atomic_float"); + this.GL_NV_shader_atomic_float64 = this.foundExtension && list.contains("GL_NV_shader_atomic_float64"); + this.GL_NV_shader_atomic_fp16_vector = this.foundExtension && list.contains("GL_NV_shader_atomic_fp16_vector"); + this.GL_NV_shader_atomic_int64 = this.foundExtension && list.contains("GL_NV_shader_atomic_int64"); + this.GL_NV_shader_buffer_load = this.foundExtension && list.contains("GL_NV_shader_buffer_load"); + this.GL_NV_shader_buffer_store = this.foundExtension && list.contains("GL_NV_shader_buffer_store"); + this.GL_NV_shader_storage_buffer_object = this.foundExtension && list.contains("GL_NV_shader_storage_buffer_object"); + this.GL_NV_shader_subgroup_partitioned = this.foundExtension && list.contains("GL_NV_shader_subgroup_partitioned"); + this.GL_NV_shader_texture_footprint = this.foundExtension && list.contains("GL_NV_shader_texture_footprint"); + this.GL_NV_shader_thread_group = this.foundExtension && list.contains("GL_NV_shader_thread_group"); + this.GL_NV_shader_thread_shuffle = this.foundExtension && list.contains("GL_NV_shader_thread_shuffle"); + this.GL_NV_shading_rate_image = this.foundExtension && list.contains("GL_NV_shading_rate_image"); + this.GL_NV_stereo_view_rendering = this.foundExtension && list.contains("GL_NV_stereo_view_rendering"); + this.GL_NV_tessellation_program5 = this.foundExtension && list.contains("GL_NV_tessellation_program5"); + this.GL_NV_texgen_emboss = this.foundExtension && list.contains("GL_NV_texgen_emboss"); + this.GL_NV_texgen_reflection = this.foundExtension && list.contains("GL_NV_texgen_reflection"); + this.GL_NV_texture_barrier = this.foundExtension && list.contains("GL_NV_texture_barrier"); + this.GL_NV_texture_compression_vtc = this.foundExtension && list.contains("GL_NV_texture_compression_vtc"); + this.GL_NV_texture_env_combine4 = this.foundExtension && list.contains("GL_NV_texture_env_combine4"); + this.GL_NV_texture_expand_normal = this.foundExtension && list.contains("GL_NV_texture_expand_normal"); + this.GL_NV_texture_multisample = this.foundExtension && list.contains("GL_NV_texture_multisample"); + this.GL_NV_texture_rectangle = this.foundExtension && list.contains("GL_NV_texture_rectangle"); + this.GL_NV_texture_rectangle_compressed = this.foundExtension && list.contains("GL_NV_texture_rectangle_compressed"); + this.GL_NV_texture_shader = this.foundExtension && list.contains("GL_NV_texture_shader"); + this.GL_NV_texture_shader2 = this.foundExtension && list.contains("GL_NV_texture_shader2"); + this.GL_NV_texture_shader3 = this.foundExtension && list.contains("GL_NV_texture_shader3"); + this.GL_NV_timeline_semaphore = this.foundExtension && list.contains("GL_NV_timeline_semaphore"); + this.GL_NV_transform_feedback = this.foundExtension && list.contains("GL_NV_transform_feedback"); + this.GL_NV_transform_feedback2 = this.foundExtension && list.contains("GL_NV_transform_feedback2"); + this.GL_NV_uniform_buffer_std430_layout = this.foundExtension && list.contains("GL_NV_uniform_buffer_std430_layout"); + this.GL_NV_uniform_buffer_unified_memory = this.foundExtension && list.contains("GL_NV_uniform_buffer_unified_memory"); + this.GL_NV_vdpau_interop = this.foundExtension && list.contains("GL_NV_vdpau_interop"); + this.GL_NV_vdpau_interop2 = this.foundExtension && list.contains("GL_NV_vdpau_interop2"); + this.GL_NV_vertex_array_range = this.foundExtension && list.contains("GL_NV_vertex_array_range"); + this.GL_NV_vertex_array_range2 = this.foundExtension && list.contains("GL_NV_vertex_array_range2"); + this.GL_NV_vertex_attrib_integer_64bit = this.foundExtension && list.contains("GL_NV_vertex_attrib_integer_64bit"); + this.GL_NV_vertex_buffer_unified_memory = this.foundExtension && list.contains("GL_NV_vertex_buffer_unified_memory"); + this.GL_NV_vertex_program = this.foundExtension && list.contains("GL_NV_vertex_program"); + this.GL_NV_vertex_program1_1 = this.foundExtension && list.contains("GL_NV_vertex_program1_1"); + this.GL_NV_vertex_program2 = this.foundExtension && list.contains("GL_NV_vertex_program2"); + this.GL_NV_vertex_program2_option = this.foundExtension && list.contains("GL_NV_vertex_program2_option"); + this.GL_NV_vertex_program3 = this.foundExtension && list.contains("GL_NV_vertex_program3"); + this.GL_NV_vertex_program4 = this.foundExtension && list.contains("GL_NV_vertex_program4"); + this.GL_NV_video_capture = this.foundExtension && list.contains("GL_NV_video_capture"); + this.GL_NV_viewport_array2 = this.foundExtension && list.contains("GL_NV_viewport_array2"); + this.GL_NV_viewport_swizzle = this.foundExtension && list.contains("GL_NV_viewport_swizzle"); + this.GL_OML_interlace = this.foundExtension && list.contains("GL_OML_interlace"); + this.GL_OML_resample = this.foundExtension && list.contains("GL_OML_resample"); + this.GL_OML_subsample = this.foundExtension && list.contains("GL_OML_subsample"); + this.GL_OVR_multiview = this.foundExtension && list.contains("GL_OVR_multiview"); + this.GL_OVR_multiview2 = this.foundExtension && list.contains("GL_OVR_multiview2"); + this.GL_PGI_misc_hints = this.foundExtension && list.contains("GL_PGI_misc_hints"); + this.GL_PGI_vertex_hints = this.foundExtension && list.contains("GL_PGI_vertex_hints"); + this.GL_REND_screen_coordinates = this.foundExtension && list.contains("GL_REND_screen_coordinates"); + this.GL_S3_s3tc = this.foundExtension && list.contains("GL_S3_s3tc"); + this.GL_SGIS_detail_texture = this.foundExtension && list.contains("GL_SGIS_detail_texture"); + this.GL_SGIS_fog_function = this.foundExtension && list.contains("GL_SGIS_fog_function"); + this.GL_SGIS_generate_mipmap = this.foundExtension && list.contains("GL_SGIS_generate_mipmap"); + this.GL_SGIS_multisample = this.foundExtension && list.contains("GL_SGIS_multisample"); + this.GL_SGIS_pixel_texture = this.foundExtension && list.contains("GL_SGIS_pixel_texture"); + this.GL_SGIS_point_line_texgen = this.foundExtension && list.contains("GL_SGIS_point_line_texgen"); + this.GL_SGIS_point_parameters = this.foundExtension && list.contains("GL_SGIS_point_parameters"); + this.GL_SGIS_sharpen_texture = this.foundExtension && list.contains("GL_SGIS_sharpen_texture"); + this.GL_SGIS_texture4D = this.foundExtension && list.contains("GL_SGIS_texture4D"); + this.GL_SGIS_texture_border_clamp = this.foundExtension && list.contains("GL_SGIS_texture_border_clamp"); + this.GL_SGIS_texture_color_mask = this.foundExtension && list.contains("GL_SGIS_texture_color_mask"); + this.GL_SGIS_texture_edge_clamp = this.foundExtension && list.contains("GL_SGIS_texture_edge_clamp"); + this.GL_SGIS_texture_filter4 = this.foundExtension && list.contains("GL_SGIS_texture_filter4"); + this.GL_SGIS_texture_lod = this.foundExtension && list.contains("GL_SGIS_texture_lod"); + this.GL_SGIS_texture_select = this.foundExtension && list.contains("GL_SGIS_texture_select"); + this.GL_SGIX_async = this.foundExtension && list.contains("GL_SGIX_async"); + this.GL_SGIX_async_histogram = this.foundExtension && list.contains("GL_SGIX_async_histogram"); + this.GL_SGIX_async_pixel = this.foundExtension && list.contains("GL_SGIX_async_pixel"); + this.GL_SGIX_blend_alpha_minmax = this.foundExtension && list.contains("GL_SGIX_blend_alpha_minmax"); + this.GL_SGIX_calligraphic_fragment = this.foundExtension && list.contains("GL_SGIX_calligraphic_fragment"); + this.GL_SGIX_clipmap = this.foundExtension && list.contains("GL_SGIX_clipmap"); + this.GL_SGIX_convolution_accuracy = this.foundExtension && list.contains("GL_SGIX_convolution_accuracy"); + this.GL_SGIX_depth_pass_instrument = this.foundExtension && list.contains("GL_SGIX_depth_pass_instrument"); + this.GL_SGIX_depth_texture = this.foundExtension && list.contains("GL_SGIX_depth_texture"); + this.GL_SGIX_flush_raster = this.foundExtension && list.contains("GL_SGIX_flush_raster"); + this.GL_SGIX_fog_offset = this.foundExtension && list.contains("GL_SGIX_fog_offset"); + this.GL_SGIX_fragment_lighting = this.foundExtension && list.contains("GL_SGIX_fragment_lighting"); + this.GL_SGIX_framezoom = this.foundExtension && list.contains("GL_SGIX_framezoom"); + this.GL_SGIX_igloo_interface = this.foundExtension && list.contains("GL_SGIX_igloo_interface"); + this.GL_SGIX_instruments = this.foundExtension && list.contains("GL_SGIX_instruments"); + this.GL_SGIX_interlace = this.foundExtension && list.contains("GL_SGIX_interlace"); + this.GL_SGIX_ir_instrument1 = this.foundExtension && list.contains("GL_SGIX_ir_instrument1"); + this.GL_SGIX_list_priority = this.foundExtension && list.contains("GL_SGIX_list_priority"); + this.GL_SGIX_pixel_texture = this.foundExtension && list.contains("GL_SGIX_pixel_texture"); + this.GL_SGIX_pixel_tiles = this.foundExtension && list.contains("GL_SGIX_pixel_tiles"); + this.GL_SGIX_polynomial_ffd = this.foundExtension && list.contains("GL_SGIX_polynomial_ffd"); + this.GL_SGIX_reference_plane = this.foundExtension && list.contains("GL_SGIX_reference_plane"); + this.GL_SGIX_resample = this.foundExtension && list.contains("GL_SGIX_resample"); + this.GL_SGIX_scalebias_hint = this.foundExtension && list.contains("GL_SGIX_scalebias_hint"); + this.GL_SGIX_shadow = this.foundExtension && list.contains("GL_SGIX_shadow"); + this.GL_SGIX_shadow_ambient = this.foundExtension && list.contains("GL_SGIX_shadow_ambient"); + this.GL_SGIX_sprite = this.foundExtension && list.contains("GL_SGIX_sprite"); + this.GL_SGIX_subsample = this.foundExtension && list.contains("GL_SGIX_subsample"); + this.GL_SGIX_tag_sample_buffer = this.foundExtension && list.contains("GL_SGIX_tag_sample_buffer"); + this.GL_SGIX_texture_add_env = this.foundExtension && list.contains("GL_SGIX_texture_add_env"); + this.GL_SGIX_texture_coordinate_clamp = this.foundExtension && list.contains("GL_SGIX_texture_coordinate_clamp"); + this.GL_SGIX_texture_lod_bias = this.foundExtension && list.contains("GL_SGIX_texture_lod_bias"); + this.GL_SGIX_texture_multi_buffer = this.foundExtension && list.contains("GL_SGIX_texture_multi_buffer"); + this.GL_SGIX_texture_scale_bias = this.foundExtension && list.contains("GL_SGIX_texture_scale_bias"); + this.GL_SGIX_vertex_preclip = this.foundExtension && list.contains("GL_SGIX_vertex_preclip"); + this.GL_SGIX_ycrcb = this.foundExtension && list.contains("GL_SGIX_ycrcb"); + this.GL_SGIX_ycrcb_subsample = this.foundExtension && list.contains("GL_SGIX_ycrcb_subsample"); + this.GL_SGIX_ycrcba = this.foundExtension && list.contains("GL_SGIX_ycrcba"); + this.GL_SGI_color_matrix = this.foundExtension && list.contains("GL_SGI_color_matrix"); + this.GL_SGI_color_table = this.foundExtension && list.contains("GL_SGI_color_table"); + this.GL_SGI_texture_color_table = this.foundExtension && list.contains("GL_SGI_texture_color_table"); + this.GL_SUNX_constant_data = this.foundExtension && list.contains("GL_SUNX_constant_data"); + this.GL_SUN_convolution_border_modes = this.foundExtension && list.contains("GL_SUN_convolution_border_modes"); + this.GL_SUN_global_alpha = this.foundExtension && list.contains("GL_SUN_global_alpha"); + this.GL_SUN_mesh_array = this.foundExtension && list.contains("GL_SUN_mesh_array"); + this.GL_SUN_slice_accum = this.foundExtension && list.contains("GL_SUN_slice_accum"); + this.GL_SUN_triangle_list = this.foundExtension && list.contains("GL_SUN_triangle_list"); + this.GL_SUN_vertex = this.foundExtension && list.contains("GL_SUN_vertex"); + this.GL_WIN_phong_shading = this.foundExtension && list.contains("GL_WIN_phong_shading"); + this.GL_WIN_specular_fog = this.foundExtension && list.contains("GL_WIN_specular_fog"); + } +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java index 309518b1..b7d02db0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java @@ -68,6 +68,7 @@ default SymbolLookup lookup() { * @return a downcall method handle, or {@code null} if the symbol is {@link MemorySegment#NULL} */ @Nullable + @Deprecated(since = "0.1.0") default MethodHandle invoke(String procName, FunctionDescriptor function, Linker.Option... options) { return RuntimeHelper.downcallSafe(invoke(procName), function, options); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java index 7efd3a1c..3c24525c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java @@ -16,185 +16,80 @@ package overrungl.opengl; -import org.jetbrains.annotations.Contract; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import overrun.marshal.Downcall; -import overrungl.internal.RuntimeHelper; -import overrungl.util.CheckUtil; +import overrungl.opengl.ext.GLExtension; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.ValueLayout; -import java.lang.invoke.MethodHandle; import java.util.Map; /** * This class must be used before any OpenGL function is called. It has the following responsibilities: *
    *
  • Loads the OpenGL native library into the JVM process.
  • - *
  • Creates instances of {@link GLCapabilities} classes. A {@code GLCapabilities} instance contains flags for functionality that is available in an OpenGL - * context. Internally, it also contains function pointers that are only valid in that specific OpenGL context.
  • - *
  • Maintains thread-local state for {@code GLCapabilities} instances, corresponding to OpenGL contexts that are current in those threads.
  • + *
  • Creates instances of {@link GLFlags} classes. A {@code GLFlags} instance contains flags for functionality that is available in an OpenGL + * context.
  • + *
  • Creates instances of {@link GL} instances, corresponding to OpenGL contexts that are current in those threads. + * Internally, it also contains function pointers that are only valid in that specific OpenGL context.
  • *
- *

GLCapabilities creation

- *

Instances of {@code GLCapabilities} can be created with the {@link #load(GLLoadFunc, boolean) load} method. An OpenGL context must be current in the current thread - * before it is called. Calling this method is expensive, so the {@code GLCapabilities} instance should be associated with the OpenGL context and reused as + *

OpenGL Context Creation

+ *

Instances of {@code GL} can be created with the {@link #load(GLFlags) load} method. An OpenGL context must be current in the current thread + * before it is called. Calling this method is expensive, so the {@code GL} instance should be associated with the OpenGL context and reused as * necessary.

- *

Thread-local state

- *

Before a function for a given OpenGL context can be called, the corresponding {@code GLCapabilities} instance must be passed to the - * {@link #setCapabilities} method. The user is also responsible for clearing the current {@code GLCapabilities} instance when the context is destroyed or made - * current in another thread.

- * - *

Note that the {@link #load(GLLoadFunc, boolean) load} method implicitly calls {@link #setCapabilities} with the newly created instance.

* * @author squid233 * @see GLLoadFunc * @since 0.1.0 */ public final class GLLoader { - private static final boolean DEFAULT_COMPATIBLE = true; private static final Map DESCRIPTOR_MAP = Map.of( "glMapBuffer", FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.JAVA_INT, ValueLayout.JAVA_INT), "glMapBufferRange", FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.JAVA_INT, ValueLayout.JAVA_LONG, ValueLayout.JAVA_LONG, ValueLayout.JAVA_INT), "glMapNamedBuffer", FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.JAVA_INT, ValueLayout.JAVA_INT), "glMapNamedBufferRange", FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.JAVA_INT, ValueLayout.JAVA_LONG, ValueLayout.JAVA_LONG, ValueLayout.JAVA_INT) ); - @Deprecated(since = "0.1.0") - private static final ThreadLocal capabilitiesTLS = new ThreadLocal<>(); - - /** - * Sets the {@link GLCapabilities} of the OpenGL context that is current in the current thread. - * - *

This {@code GLCapabilities} instance will be used by any OpenGL call in the current thread, until {@code setCapabilities} is called again with a - * different value.

- */ - @Deprecated(since = "0.1.0") - public static void setCapabilities(@Nullable GLCapabilities caps) { - capabilitiesTLS.set(caps); - } - - /** - * {@return the {@link GLCapabilities} of the OpenGL context that is current in the current thread} - *

- * This method doesn't throw an exception when the capabilities are null. - * - * @see #getCapabilities() - */ - @Deprecated(since = "0.1.0") - public static GLCapabilities getCapabilitiesSafe() { - return capabilitiesTLS.get(); - } - - /** - * {@return the {@link GLCapabilities} of the OpenGL context that is current in the current thread} - * - * @throws IllegalStateException if {@link #setCapabilities} has never been called in the current thread or was last called with a {@code null} value - * @see #getCapabilitiesSafe() - */ - @Deprecated(since = "0.1.0") - public static GLCapabilities getCapabilities() { - return checkCapabilities(capabilitiesTLS.get()); - } - - /** - * {@return the current {@link GLExtCaps} of the OpenGL context in the current thread} - *

- * This is equivalent to the following code: - *


-     * {@link #getCapabilities()}.{@link GLCapabilities#ext() ext()}
-     * 
- * - * @throws IllegalStateException if {@link #setCapabilities} has never been called in the current thread or was last called with a {@code null} value - */ - @Deprecated(since = "0.1.0") - public static GLExtCaps getExtCapabilities() { - return getCapabilities().ext(); - } - - @Deprecated(since = "0.1.0") - private static GLCapabilities checkCapabilities(@Nullable GLCapabilities caps) { - if (RuntimeHelper.CHECKS) - CheckUtil.check(caps != null, """ - No GLCapabilities instance set for the current thread. Possible solutions: - \ta) Call GLLoader.load() after making a context current in the current thread. - \tb) Call GLLoader.setCapabilities() if a GLCapabilities instance already exists for the current context."""); - return caps; - } /** - * Loads OpenGL compatibility profile with the given load function. + * Loads OpenGL flags. * * @param load the load function - * @return the OpenGL capabilities, or {@code null} if no OpenGL context found. + * @return the OpenGL flags */ - @Nullable - public static GL load(GLLoadFunc load) { - return load(load, DEFAULT_COMPATIBLE); + public static GLFlags loadFlags(GLLoadFunc load) { + return new GLFlags(load); } /** - * Loads OpenGL with the given load function. + * Loads OpenGL core profile with the given flags. * - * @param load the load function - * @param forwardCompatible If {@code true}, only loads core profile functions. - * @return the OpenGL capabilities, or {@code null} if no OpenGL context found. + * @param flags the OpenGL flags + * @return the OpenGL context, or {@code null} if no OpenGL context found. */ @Nullable - public static GL load(GLLoadFunc load, boolean forwardCompatible) { - var caps = new GLCapabilities(forwardCompatible); - // set the global capabilities first - setCapabilities(caps); - if (caps.load(load) != 0) { - return forwardCompatible ? - Downcall.load(GL.class, load.lookup(), DESCRIPTOR_MAP) : - Downcall.load(GLLegacy.class, load.lookup(), DESCRIPTOR_MAP); - } - // reset if failed to load - setCapabilities(null); - return null; - } - - /** - * Checks whether the given GL function is available in this context. - * This method raises an {@link IllegalStateException} rather than a {@link NullPointerException}. - * - * @param handle the method handle to be checked. - * @return {@code handle} - * @throws IllegalStateException if {@code handle} is {@code null}. - */ - @NotNull - @Contract(value = "null -> fail; !null -> param1", pure = true) - public static MethodHandle check(@Nullable MethodHandle handle) throws IllegalStateException { - CheckUtil.check(handle != null, "handle is null; maybe no context or function exists."); - return handle; + public static GL load(GLFlags flags) { + return flags.GL10 ? Downcall.load(GL.class, flags.load.lookup(), DESCRIPTOR_MAP) : null; } /** - * Pack the version into an integer. + * Loads OpenGL compatibility profile with the given flags. * - * @param major the major version - * @param minor the minor version - * @return the packed version + * @param flags the OpenGL flags + * @return the OpenGL context, or {@code null} if no OpenGL context found. */ - public static int makeVersion(int major, int minor) { - return major * 10000 + minor; - } - - /** - * {@return the major version} - * - * @param version the packed version - */ - public static int versionMajor(int version) { - return version / 10000; + @Nullable + public static GLLegacy loadLegacy(GLFlags flags) { + return flags.GL10 ? Downcall.load(GLLegacy.class, flags.load.lookup(), DESCRIPTOR_MAP) : null; } /** - * {@return the minor version} + * Loads OpenGL extensions with the given flags. * - * @param version the packed version + * @param flags the OpenGL flags + * @return the OpenGL extensions context, or {@code null} if no OpenGL context found. */ - public static int versionMinor(int version) { - return version % 10000; + @Nullable + public static GLExtension loadExtension(GLFlags flags) { + return flags.foundExtension ? Downcall.load(GLExtension.class, flags.load.lookup(), DESCRIPTOR_MAP) : null; } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java index f6788def..61ec7a9b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java @@ -18,11 +18,13 @@ import org.jetbrains.annotations.Nullable; import overrungl.OverrunGL; +import overrungl.opengl.ext.GLExtension; import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; import java.util.Locale; import java.util.function.Consumer; +import java.util.function.Supplier; import static overrungl.OverrunGL.apiLog; import static overrungl.internal.RuntimeHelper.unknownToken; @@ -46,12 +48,14 @@ private GLUtil() { * The callback function is returned as a {@link Arena}, that should be reset to NULL and * {@link Arena#close() closed} when no longer needed, which is often after destroying GL context. * - * @param gl the OpenGL context. + * @param gl the OpenGL context. + * @param flags the OpenGL flags. + * @param ext the OpenGL extension context, which is supplied when OpenGL debug function is not found in core. * @return the arena. */ @Nullable - public static Arena setupDebugMessageCallback(GL gl) { - return setupDebugMessageCallback(gl, OverrunGL.apiLogger()); + public static Arena setupDebugMessageCallback(GL43C gl, GLFlags flags, Supplier ext) { + return setupDebugMessageCallback(gl, flags, ext, OverrunGL.apiLogger()); } /** @@ -61,16 +65,16 @@ public static Arena setupDebugMessageCallback(GL gl) { * The callback function is returned as a {@link Arena}, that should be reset to NULL and * {@link Arena#close() closed} when no longer needed, which is often after destroying GL context. * - * @param gl the OpenGL context. + * @param gl the OpenGL context. + * @param flags the OpenGL flags. + * @param ext the OpenGL extension context, which is supplied when OpenGL debug function is not found in core. * @param logger the output logger. * @return the arena. */ @Nullable - public static Arena setupDebugMessageCallback(GL gl, Consumer logger) { - var caps = GLLoader.getCapabilities(); - - if (caps.Ver43 || caps.ext().GL_KHR_debug) { - if (caps.Ver43) { + public static Arena setupDebugMessageCallback(GL43C gl, GLFlags flags, Supplier ext, Consumer logger) { + if (flags.GL43 || flags.GL_KHR_debug) { + if (flags.GL43) { apiLog("[GL] Using OpenGL 4.3 for error logging."); } else { apiLog("[GL] Using KHR_debug for error logging."); @@ -91,7 +95,7 @@ public static Arena setupDebugMessageCallback(GL gl, Consumer logger) { logger.accept(sb.toString()); }, MemorySegment.NULL); // no need GL_KHR_debug - if ((caps.Ver43 || caps.Ver30) && + if ((flags.GL43 || flags.GL30) && (gl.getIntegerv(GL.CONTEXT_FLAGS) & GL.CONTEXT_FLAG_DEBUG_BIT) == 0) { apiLog("[GL] Warning: A non-debug context may not produce any debug output."); gl.enable(GL.DEBUG_OUTPUT); @@ -99,10 +103,10 @@ public static Arena setupDebugMessageCallback(GL gl, Consumer logger) { return arena; } - if (caps.ext().GL_ARB_debug_output) { + if (flags.GL_ARB_debug_output) { apiLog("[GL] Using ARB_debug_output for error logging."); var arena = Arena.ofConfined(); - glDebugMessageCallbackARB(arena, (source, type, id, severity, message, _) -> { + ext.get().glDebugMessageCallbackARB(arena, (source, type, id, severity, message, _) -> { var sb = new StringBuilder(768); sb.append("[OverrunGL] ARB_debug_output message\n"); printDetail(sb, "ID", STR."0x\{Integer.toHexString(id).toUpperCase(Locale.ROOT)}"); @@ -119,10 +123,10 @@ public static Arena setupDebugMessageCallback(GL gl, Consumer logger) { return arena; } - if (caps.ext().GL_AMD_debug_output) { + if (flags.GL_AMD_debug_output) { apiLog("[GL] Using AMD_debug_output for error logging."); var arena = Arena.ofConfined(); - glDebugMessageCallbackAMD(arena, (id, category, severity, message, _) -> { + ext.get().glDebugMessageCallbackAMD(arena, (id, category, severity, message, _) -> { var sb = new StringBuilder(768); sb.append("[OverrunGL] AMD_debug_output message\n"); printDetail(sb, "ID", STR."0x\{Integer.toHexString(id).toUpperCase(Locale.ROOT)}"); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java index ef813701..740fc176 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_3DFX_multisample} */ -public final class GL3DFXMultisample { - public static final int GL_MULTISAMPLE_3DFX = 0x86B2; - public static final int GL_SAMPLE_BUFFERS_3DFX = 0x86B3; - public static final int GL_SAMPLES_3DFX = 0x86B4; - public static final int GL_MULTISAMPLE_BIT_3DFX = 0x20000000; +public interface GL3DFXMultisample { + int GL_MULTISAMPLE_3DFX = 0x86B2; + int GL_SAMPLE_BUFFERS_3DFX = 0x86B3; + int GL_SAMPLES_3DFX = 0x86B4; + int GL_MULTISAMPLE_BIT_3DFX = 0x20000000; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java index c3123958..3de6aebf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_3DFX_tbuffer} */ -public final class GL3DFXTbuffer { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_3DFX_tbuffer) return; - ext.glTbufferMask3DFX = load.invoke("glTbufferMask3DFX", ofVoid(JAVA_INT)); - } - - public static void glTbufferMask3DFX(int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glTbufferMask3DFX).invokeExact(mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GL3DFXTbuffer { + void glTbufferMask3DFX(int mask); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java index 2f62e9e7..bbeb7ea2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_3DFX_texture_compression_FXT1} */ -public final class GL3DFXTextureCompressionFXT1 { - public static final int GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0; - public static final int GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; +public interface GL3DFXTextureCompressionFXT1 { + int GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0; + int GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLExtension.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLExtension.java new file mode 100644 index 00000000..68e452dc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLExtension.java @@ -0,0 +1,470 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; +import overrungl.opengl.ext.arb.*; +import overrungl.opengl.ext.khr.*; +import overrungl.opengl.ext.oes.*; +import overrungl.opengl.ext.amd.*; +import overrungl.opengl.ext.apple.*; +import overrungl.opengl.ext.ati.*; +import overrungl.opengl.ext.ext.*; +import overrungl.opengl.ext.ibm.*; +import overrungl.opengl.ext.intel.*; +import overrungl.opengl.ext.mesa.*; +import overrungl.opengl.ext.nv.*; +import overrungl.opengl.ext.sgi.*; +import overrungl.opengl.ext.sun.*; + +/** + * The OpenGL extension functions. + * + * @since 0.1.0 + */ +public interface GLExtension extends + GLARBES32Compatibility, + GLARBBindlessTexture, + GLARBCLEvent, + GLARBColorBufferFloat, + GLARBComputeVariableGroupSize, + GLARBDebugOutput, + GLARBDepthTexture, + GLARBDrawBuffers, + GLARBDrawBuffersBlend, + GLARBDrawInstanced, + GLARBFragmentProgram, + GLARBFragmentShader, + GLARBGeometryShader4, + GLARBGLSpirv, + GLARBGpuShaderInt64, + GLARBHalfFloatPixel, + GLARBImaging, + GLARBIndirectParameters, + GLARBInstancedArrays, + GLARBInternalformatQuery2, + GLARBMatrixPalette, + GLARBMultisample, + GLARBMultitexture, + GLARBOcclusionQuery, + GLARBParallelShaderCompile, + GLARBPipelineStatisticsQuery, + GLARBPixelBufferObject, + GLARBPointParameters, + GLARBPointSprite, + GLARBRobustness, + GLARBSampleLocations, + GLARBSampleShading, + GLARBShaderObjects, + GLARBShadingLanguageInclude, + GLARBShadow, + GLARBShadowAmbient, + GLARBSparseBuffer, + GLARBSparseTexture, + GLARBTextureBorderClamp, + GLARBTextureBufferObject, + GLARBTextureCompression, + GLARBTextureCompressionBptc, + GLARBTextureCubeMap, + GLARBTextureCubeMapArray, + GLARBTextureEnvCombine, + GLARBTextureEnvDot3, + GLARBTextureFilterMinmax, + GLARBTextureFloat, + GLARBTextureGather, + GLARBTextureMirroredRepeat, + GLARBTextureRectangle, + GLARBTransformFeedbackOverflowQuery, + GLARBTransposeMatrix, + GLARBVertexBlend, + GLARBVertexBufferObject, + GLARBVertexProgram, + GLARBVertexShader, + GLARBViewportArray, + GLARBWindowPos, + GLKHRBlendEquationAdvanced, + GLKHRBlendEquationAdvancedCoherent, + GLKHRNoError, + GLKHRParallelShaderCompile, + GLKHRRobustness, + GLKHRShaderSubgroup, + GLKHRTextureCompressionAstcHdr, + GLOESByteCoordinates, + GLOESCompressedPalettedTexture, + GLOESFixedPoint, + GLOESQueryMatrix, + GLOESReadFormat, + GLOESSinglePrecision, + GL3DFXMultisample, + GL3DFXTbuffer, + GL3DFXTextureCompressionFXT1, + GLAMDBlendMinmaxFactor, + GLAMDDebugOutput, + GLAMDDepthClampSeparate, + GLAMDDrawBuffersBlend, + GLAMDFramebufferMultisampleAdvanced, + GLAMDFramebufferSamplePositions, + GLAMDGpuShaderHalfFloat, + GLAMDGpuShaderInt64, + GLAMDInterleavedElements, + GLAMDMultiDrawIndirect, + GLAMDNameGenDelete, + GLAMDOcclusionQueryEvent, + GLAMDPerformanceMonitor, + GLAMDPinnedMemory, + GLAMDQueryBufferObject, + GLAMDSamplePositions, + GLAMDSparseTexture, + GLAMDStencilOperationExtended, + GLAMDTransformFeedback4, + GLAMDVertexShaderTessellator, + GLAPPLEAuxDepthStencil, + GLAPPLEClientStorage, + GLAPPLEElementArray, + GLAPPLEFence, + GLAPPLEFloatPixels, + GLAPPLEFlushBufferRange, + GLAPPLEObjectPurgeable, + GLAPPLERgb422, + GLAPPLERowBytes, + GLAPPLESpecularVector, + GLAPPLETextureRange, + GLAPPLETransformHint, + GLAPPLEVertexArrayObject, + GLAPPLEVertexArrayRange, + GLAPPLEVertexProgramEvaluators, + GLAPPLEYcbcr422, + GLATIDrawBuffers, + GLATIElementArray, + GLATIEnvmapBumpmap, + GLATIFragmentShader, + GLATIMapObjectBuffer, + GLATIMeminfo, + GLATIPixelFormatFloat, + GLATIPnTriangles, + GLATISeparateStencil, + GLATITextFragmentShader, + GLATITextureEnvCombine3, + GLATITextureFloat, + GLATITextureMirrorOnce, + GLATIVertexArrayObject, + GLATIVertexAttribArrayObject, + GLATIVertexStreams, + GLEXT422Pixels, + GLEXTEGLImageStorage, + GLEXTAbgr, + GLEXTBgra, + GLEXTBindableUniform, + GLEXTBlendColor, + GLEXTBlendEquationSeparate, + GLEXTBlendFuncSeparate, + GLEXTBlendMinmax, + GLEXTBlendSubtract, + GLEXTClipVolumeHint, + GLEXTCmyka, + GLEXTColorSubtable, + GLEXTCompiledVertexArray, + GLEXTConvolution, + GLEXTCoordinateFrame, + GLEXTCopyTexture, + GLEXTCullVertex, + GLEXTDebugLabel, + GLEXTDebugMarker, + GLEXTDepthBoundsTest, + GLEXTDirectStateAccess, + GLEXTDrawBuffers2, + GLEXTDrawInstanced, + GLEXTDrawRangedElements, + GLEXTExternalBuffer, + GLEXTFogCoord, + GLEXTFramebufferBlit, + GLEXTFramebufferBlitLayers, + GLEXTFramebufferMultisample, + GLEXTFramebufferMultisampleBlitScaled, + GLEXTFramebufferObject, + GLEXTSrgb, + GLEXTGeometryShader4, + GLEXTGpuProgramParameters, + GLEXTGpuShader4, + GLEXTHistogram, + GLEXTIndexArrayFormats, + GLEXTIndexFunc, + GLEXTIndexMaterial, + GLEXTLightTexture, + GLEXTMemoryObject, + GLEXTMemoryObjectFd, + GLEXTMemoryObjectWin32, + GLEXTMultiDrawArrays, + GLEXTMultisample, + GLEXTPackedDepthStencil, + GLEXTPackedFloat, + GLEXTPackedPixels, + GLEXTPalettedTexture, + GLEXTPixelBufferObject, + GLEXTPixelTransform, + GLEXTPointParameters, + GLEXTPolygonOffset, + GLEXTPolygonOffsetClamp, + GLEXTProvokingVertex, + GLEXTRasterMultisample, + GLEXTRescaleNormal, + GLEXTSecondaryColor, + GLEXTSemaphore, + GLEXTSemaphoreFd, + GLEXTSemaphoreWin32, + GLEXTSeparateShaderObjects, + GLEXTSeparateSpecularColor, + GLEXTShaderFramebufferFetch, + GLEXTShaderFramebufferFetchNonCoherent, + GLEXTShaderImageLoadStore, + GLEXTSharedTexturePalette, + GLEXTStencilClearTag, + GLEXTStencilTwoSide, + GLEXTStencilWrap, + GLEXTSubtexture, + GLEXTTexture, + GLEXTTexture3D, + GLEXTTextureArray, + GLEXTTextureBufferObject, + GLEXTTextureCompressionLatc, + GLEXTTextureCompressionRgtc, + GLEXTTextureCompressionS3tc, + GLEXTTextureCubeMap, + GLEXTTextureEnvCombine, + GLEXTTextureEnvDot3, + GLEXTTextureFilterAnisotropic, + GLEXTTextureFilterMinmax, + GLEXTTextureInteger, + GLEXTTextureLodBias, + GLEXTTextureMirrorClamp, + GLEXTTextureObject, + GLEXTTexturePerturbNormal, + GLEXTTextureSrgb, + GLEXTTextureSrgbR8, + GLEXTTextureSrgbRGB, + GLEXTTextureSrgbDecode, + GLEXTTextureSharedExponent, + GLEXTTextureSnorm, + GLEXTTextureStorage, + GLEXTTextureSwizzle, + GLEXTTimerQuery, + GLEXTTransformFeedback, + GLEXTVertexArray, + GLEXTVertexAttrib64bit, + GLEXTVertexShader, + GLEXTVertexWeighting, + GLEXTWin32KeyedMutex, + GLEXTWindowRectangles, + GLEXTX11SyncObject, + GLGREMEDYFrameTerminator, + GLGREMEDYStringMarker, + GLHPConvolutionBorderModes, + GLHPImageTransform, + GLHPOcclusionTest, + GLHPTextureLighting, + GLIBMCullVertex, + GLIBMMultimodeDrawArrays, + GLIBMRasterposClip, + GLIBMStaticData, + GLIBMTextureMirroredRepeat, + GLIBMVertexArrayLists, + GLINGRBlendFuncSeparate, + GLINGRColorClamp, + GLINGRInterlaceRead, + GLINTELBlackholeRender, + GLINTELConservativeRasterization, + GLINTELFramebufferCMAA, + GLINTELMapTexture, + GLINTELParallelArrays, + GLINTELPerformanceQuery, + GLMESAXTextureStack, + GLMESAFramebufferFlipX, + GLMESAFramebufferFlipY, + GLMESAFramebufferSwapXY, + GLMESAPackInvert, + GLMESAProgramBinaryFormats, + GLMESAResizeBuffers, + GLMESATileRasterOrder, + GLMESAWindowPos, + GLMESAYcbcrTexture, + GLNVXConditionalRender, + GLNVXGpuMemoryInfo, + GLNVXGpuMulticast2, + GLNVXLinkedGpuMulticast, + GLNVXProgressFence, + GLNVAlphaToCoverageDitherControl, + GLNVBindlessMultiDrawIndirect, + GLNVBindlessMultiDrawIndirectCount, + GLNVBindlessTexture, + GLNVBlendEquationAdvanced, + GLNVBlendEquationAdvancedCoherent, + GLNVClipSpaceWScaling, + GLNVCommandList, + GLNVComputeProgram5, + GLNVConditionalRender, + GLNVConservativeRaster, + GLNVConservativeRasterDilate, + GLNVConservativeRasterPreSnap, + GLNVConservativeRasterPreSnapTriangles, + GLNVCopyDepthToColor, + GLNVCopyImage, + GLNVDeepTexture3D, + GLNVDepthBufferFloat, + GLNVDepthClamp, + GLNVDrawTexture, + GLNVDrawVulkanImage, + GLNVEvaluators, + GLNVExplicitMultisample, + GLNVFence, + GLNVFillRectangle, + GLNVFloatBuffer, + GLNVFogDistance, + GLNVFragmentCoverageToColor, + GLNVFragmentProgram, + GLNVFragmentProgram2, + GLNVFramebufferMixedSamples, + GLNVFramebufferMultisampleCoverage, + GLNVGeometryProgram4, + GLNVGpuMulticast, + GLNVGpuProgram4, + GLNVGpuProgram5, + GLNVHalfFloat, + GLNVInternalformatSampleQuery, + GLNVLightMaxExponent, + GLNVMemoryAttachment, + GLNVMemoryObjectSparse, + GLNVMeshShader, + GLNVMultisampleFilterHint, + GLNVOcculusionQuery, + GLNVPackedDepthStencil, + GLNVParameterBufferObject, + GLNVPathRendering, + GLNVPathRenderingSharedEdge, + GLNVPixelDataRange, + GLNVPointSprite, + GLNVPresentVideo, + GLNVPrimitiveRestart, + GLNVPrimitiveShadingRate, + GLNVQueryResource, + GLNVQueryResourceTag, + GLNVRegisterCombiners, + GLNVRegisterCombiners2, + GLNVRepresentativeFragmentTest, + GLNVRobustnessVideoMemoryPurge, + GLNVSampleLocations, + GLNVScissorExclusive, + GLNVShaderBufferLoad, + GLNVShaderBufferStore, + GLNVShaderSubgroupPartitioned, + GLNVShaderThreadGroup, + GLNVShadingRateImage, + GLNVTessellationProgram5, + GLNVTexgenEmboss, + GLNVTexgenReflection, + GLNVTextureBarrier, + GLNVTextureEnvCombine4, + GLNVTextureExpandNormal, + GLNVTextureMultisample, + GLNVTextureRectangle, + GLNVTextureShader, + GLNVTextureShader2, + GLNVTextureShader3, + GLNVTimelineSemaphore, + GLNVTransformFeedback, + GLNVTransformFeedback2, + GLNVUniformBufferUnifiedMemory, + GLNVVDPAUInterop, + GLNVVDPAUInterop2, + GLNVVertexArrayRange, + GLNVVertexArrayRange2, + GLNVVertexAttribInteger64bit, + GLNVVertexBufferUnifiedMemory, + GLNVVertexProgram, + GLNVVertexProgram4, + GLNVVideoCapture, + GLNVViewportSwizzle, + GLOMLInterlace, + GLOMLResample, + GLOMLSubsample, + GLOVRMultiview, + GLPGIMiscHints, + GLPGIVertexHints, + GLRENDScreenCoordinates, + GLS3S3tc, + GLSGISDetailTexture, + GLSGISFogFunction, + GLSGISGenerateMipmap, + GLSGISMultisample, + GLSGISPixelTexture, + GLSGISPointLineTexgen, + GLSGISPointParameters, + GLSGISSharpenTexture, + GLSGISTexture4D, + GLSGISTextureBorderClamp, + GLSGISTextureColorMask, + GLSGISTextureEdgeClamp, + GLSGISTextureFilter4, + GLSGISTextureLod, + GLSGISTextureSelect, + GLSGIXAsync, + GLSGIXAsyncHistogram, + GLSGIXAsyncPixel, + GLSGIXBlendAlphaMinmax, + GLSGIXCalligraphicFragment, + GLSGIXClipmap, + GLSGIXConvolutionAccuracy, + GLSGIXDepthTexture, + GLSGIXFlushRaster, + GLSGIXFogOffset, + GLSGIXFragmentLighting, + GLSGIXFramezoom, + GLSGIXIglooInterface, + GLSGIXInstruments, + GLSGIXInterlace, + GLSGIXIrInstrument1, + GLSGIXListPriority, + GLSGIXPixelTexture, + GLSGIXPixelTiles, + GLSGIXPolynomialFFD, + GLSGIXReferencePlane, + GLSGIXResample, + GLSGIXScalebiasHint, + GLSGIXShadow, + GLSGIXShadowAmbient, + GLSGIXSprite, + GLSGIXSubsample, + GLSGIXTagSampleBuffer, + GLSGIXTextureAddEnv, + GLSGIXTextureCoordinateClamp, + GLSGIXTextureLodBias, + GLSGIXTextureMultiBuffer, + GLSGIXTextureScaleBias, + GLSGIXVertexPreclip, + GLSGIXYcrcb, + GLSGIXYcrcba, + GLSGIColorMatrix, + GLSGIColorTable, + GLSGITextureColorTable, + GLSUNXConstantData, + GLSUNConvolutionBorderModes, + GLSUNGlobalAlpha, + GLSUNMeshArray, + GLSUNSliceAccum, + GLSUNTriangleList, + GLSUNVertex, + GLWINPhongShading, + GLWINSpecularFog { +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java index 6436ad60..c052b37a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_GREMEDY_frame_terminator} */ -public final class GLGREMEDYFrameTerminator { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_GREMEDY_frame_terminator) return; - ext.glFrameTerminatorGREMEDY = load.invoke("glFrameTerminatorGREMEDY", ofVoid()); - } - - public static void glFrameTerminatorGREMEDY() { - final var ext = getExtCapabilities(); - try { - check(ext.glFrameTerminatorGREMEDY).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLGREMEDYFrameTerminator { + void glFrameTerminatorGREMEDY(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java index bfc93ef2..a5e7952b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_GREMEDY_string_marker} */ -public final class GLGREMEDYStringMarker { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_GREMEDY_string_marker) return; - ext.glStringMarkerGREMEDY = load.invoke("glStringMarkerGREMEDY", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glStringMarkerGREMEDY(int len, @NativeType("const void *") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - check(ext.glStringMarkerGREMEDY).invokeExact(len, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLGREMEDYStringMarker { + void glStringMarkerGREMEDY(int len, @NativeType("const void *") MemorySegment string); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java index 0f526eff..b7f54913 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_HP_convolution_border_modes} */ -public final class GLHPConvolutionBorderModes { - public static final int GL_IGNORE_BORDER_HP = 0x8150; - public static final int GL_CONSTANT_BORDER_HP = 0x8151; - public static final int GL_REPLICATE_BORDER_HP = 0x8153; - public static final int GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154; +public interface GLHPConvolutionBorderModes { + int GL_IGNORE_BORDER_HP = 0x8150; + int GL_CONSTANT_BORDER_HP = 0x8151; + int GL_REPLICATE_BORDER_HP = 0x8153; + int GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java index 14ba70c6..912f4c0f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java @@ -18,81 +18,33 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_HP_image_transform} */ -public final class GLHPImageTransform { - public static final int GL_IMAGE_SCALE_X_HP = 0x8155; - public static final int GL_IMAGE_SCALE_Y_HP = 0x8156; - public static final int GL_IMAGE_TRANSLATE_X_HP = 0x8157; - public static final int GL_IMAGE_TRANSLATE_Y_HP = 0x8158; - public static final int GL_IMAGE_ROTATE_ANGLE_HP = 0x8159; - public static final int GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; - public static final int GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; - public static final int GL_IMAGE_MAG_FILTER_HP = 0x815C; - public static final int GL_IMAGE_MIN_FILTER_HP = 0x815D; - public static final int GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E; - public static final int GL_CUBIC_HP = 0x815F; - public static final int GL_AVERAGE_HP = 0x8160; - public static final int GL_IMAGE_TRANSFORM_2D_HP = 0x8161; - public static final int GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; - public static final int GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_HP_image_transform) return; - ext.glImageTransformParameteriHP = load.invoke("glImageTransformParameteriHP", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glImageTransformParameterfHP = load.invoke("glImageTransformParameterfHP", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glImageTransformParameterivHP = load.invoke("glImageTransformParameterivHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glImageTransformParameterfvHP = load.invoke("glImageTransformParameterfvHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetImageTransformParameterivHP = load.invoke("glGetImageTransformParameterivHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetImageTransformParameterfvHP = load.invoke("glGetImageTransformParameterfvHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glImageTransformParameteriHP(int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glImageTransformParameteriHP).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glImageTransformParameterfHP(int target, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glImageTransformParameterfHP).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glImageTransformParameterivHP(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glImageTransformParameterivHP).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glImageTransformParameterfvHP(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glImageTransformParameterfvHP).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetImageTransformParameterivHP(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetImageTransformParameterivHP).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetImageTransformParameterfvHP(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetImageTransformParameterfvHP).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLHPImageTransform { + int GL_IMAGE_SCALE_X_HP = 0x8155; + int GL_IMAGE_SCALE_Y_HP = 0x8156; + int GL_IMAGE_TRANSLATE_X_HP = 0x8157; + int GL_IMAGE_TRANSLATE_Y_HP = 0x8158; + int GL_IMAGE_ROTATE_ANGLE_HP = 0x8159; + int GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; + int GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; + int GL_IMAGE_MAG_FILTER_HP = 0x815C; + int GL_IMAGE_MIN_FILTER_HP = 0x815D; + int GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E; + int GL_CUBIC_HP = 0x815F; + int GL_AVERAGE_HP = 0x8160; + int GL_IMAGE_TRANSFORM_2D_HP = 0x8161; + int GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; + int GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; + + void glImageTransformParameteriHP(int target, int pname, int param); + void glImageTransformParameterfHP(int target, int pname, float param); + void glImageTransformParameterivHP(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glImageTransformParameterfvHP(int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glGetImageTransformParameterivHP(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetImageTransformParameterfvHP(int target, int pname, @NativeType("GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java index 8d28586d..8b38a598 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_HP_occlusion_test} */ -public final class GLHPOcclusionTest { - public static final int GL_OCCLUSION_TEST_HP = 0x8165; - public static final int GL_OCCLUSION_TEST_RESULT_HP = 0x8166; +public interface GLHPOcclusionTest { + int GL_OCCLUSION_TEST_HP = 0x8165; + int GL_OCCLUSION_TEST_RESULT_HP = 0x8166; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java index 66cab388..6b30158b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_HP_texture_lighting} */ -public final class GLHPTextureLighting { - public static final int GL_TEXTURE_LIGHTING_MODE_HP = 0x8167; - public static final int GL_TEXTURE_POST_SPECULAR_HP = 0x8168; - public static final int GL_TEXTURE_PRE_SPECULAR_HP = 0x8169; +public interface GLHPTextureLighting { + int GL_TEXTURE_LIGHTING_MODE_HP = 0x8167; + int GL_TEXTURE_POST_SPECULAR_HP = 0x8168; + int GL_TEXTURE_PRE_SPECULAR_HP = 0x8169; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java index 16fc5f31..bcc7e87f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INGR_blend_func_separate} */ -public final class GLINGRBlendFuncSeparate { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INGR_blend_func_separate) return; - ext.glBlendFuncSeparateINGR = load.invoke("glBlendFuncSeparateINGR", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glBlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendFuncSeparateINGR).invokeExact(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLINGRBlendFuncSeparate { + void glBlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java index d78c29a7..5e3c1698 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java @@ -18,22 +18,19 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INGR_color_clamp} */ -public final class GLINGRColorClamp { - public static final int GL_RED_MIN_CLAMP_INGR = 0x8560; - public static final int GL_GREEN_MIN_CLAMP_INGR = 0x8561; - public static final int GL_BLUE_MIN_CLAMP_INGR = 0x8562; - public static final int GL_ALPHA_MIN_CLAMP_INGR = 0x8563; - public static final int GL_RED_MAX_CLAMP_INGR = 0x8564; - public static final int GL_GREEN_MAX_CLAMP_INGR = 0x8565; - public static final int GL_BLUE_MAX_CLAMP_INGR = 0x8566; - public static final int GL_ALPHA_MAX_CLAMP_INGR = 0x8567; +public interface GLINGRColorClamp { + int GL_RED_MIN_CLAMP_INGR = 0x8560; + int GL_GREEN_MIN_CLAMP_INGR = 0x8561; + int GL_BLUE_MIN_CLAMP_INGR = 0x8562; + int GL_ALPHA_MIN_CLAMP_INGR = 0x8563; + int GL_RED_MAX_CLAMP_INGR = 0x8564; + int GL_GREEN_MAX_CLAMP_INGR = 0x8565; + int GL_BLUE_MAX_CLAMP_INGR = 0x8566; + int GL_ALPHA_MAX_CLAMP_INGR = 0x8567; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java index 60809496..c6bb0f22 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INGR_interlace_read} */ -public final class GLINGRInterlaceRead { - public static final int GL_INTERLACE_READ_INGR = 0x8568; +public interface GLINGRInterlaceRead { + int GL_INTERLACE_READ_INGR = 0x8568; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java index 4f3e93fb..53b40760 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OML_interlace} */ -public final class GLOMLInterlace { - public static final int GL_INTERLACE_OML = 0x8980; - public static final int GL_INTERLACE_READ_OML = 0x8981; +public interface GLOMLInterlace { + int GL_INTERLACE_OML = 0x8980; + int GL_INTERLACE_READ_OML = 0x8981; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java index 3cd9ed74..abb9de97 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java @@ -18,20 +18,17 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OML_resample} */ -public final class GLOMLResample { - public static final int GL_PACK_RESAMPLE_OML = 0x8984; - public static final int GL_UNPACK_RESAMPLE_OML = 0x8985; - public static final int GL_RESAMPLE_REPLICATE_OML = 0x8986; - public static final int GL_RESAMPLE_ZERO_FILL_OML = 0x8987; - public static final int GL_RESAMPLE_AVERAGE_OML = 0x8988; - public static final int GL_RESAMPLE_DECIMATE_OML = 0x8989; +public interface GLOMLResample { + int GL_PACK_RESAMPLE_OML = 0x8984; + int GL_UNPACK_RESAMPLE_OML = 0x8985; + int GL_RESAMPLE_REPLICATE_OML = 0x8986; + int GL_RESAMPLE_ZERO_FILL_OML = 0x8987; + int GL_RESAMPLE_AVERAGE_OML = 0x8988; + int GL_RESAMPLE_DECIMATE_OML = 0x8989; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java index b2bc03fa..ac757fc7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OML_subsample} */ -public final class GLOMLSubsample { - public static final int GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982; - public static final int GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983; +public interface GLOMLSubsample { + int GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982; + int GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java index fdd955da..27b840db 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OVR_multiview} */ -public final class GLOVRMultiview { - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; - public static final int GL_MAX_VIEWS_OVR = 0x9631; - public static final int GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_OVR_multiview) return; - ext.glFramebufferTextureMultiviewOVR = load.invoke("glFramebufferTextureMultiviewOVR", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glFramebufferTextureMultiviewOVR(int target, int attachment, int texture, int level, int baseViewIndex, int numViews) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTextureMultiviewOVR).invokeExact(target, attachment, texture, level, baseViewIndex, numViews); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLOVRMultiview { + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; + int GL_MAX_VIEWS_OVR = 0x9631; + int GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; + void glFramebufferTextureMultiviewOVR(int target, int attachment, int texture, int level, int baseViewIndex, int numViews); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java index a0a1e546..ef9e658c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java @@ -18,46 +18,33 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_PGI_misc_hints} */ -public final class GLPGIMiscHints { - public static final int GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; - public static final int GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; - public static final int GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; - public static final int GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; - public static final int GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; - public static final int GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; - public static final int GL_ALWAYS_FAST_HINT_PGI = 0x1A20C; - public static final int GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D; - public static final int GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; - public static final int GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; - public static final int GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; - public static final int GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; - public static final int GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; - public static final int GL_STRICT_LIGHTING_HINT_PGI = 0x1A217; - public static final int GL_STRICT_SCISSOR_HINT_PGI = 0x1A218; - public static final int GL_FULL_STIPPLE_HINT_PGI = 0x1A219; - public static final int GL_CLIP_NEAR_HINT_PGI = 0x1A220; - public static final int GL_CLIP_FAR_HINT_PGI = 0x1A221; - public static final int GL_WIDE_LINE_HINT_PGI = 0x1A222; - public static final int GL_BACK_NORMALS_HINT_PGI = 0x1A223; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_PGI_misc_hints) return; - ext.glHintPGI = load.invoke("glHintPGI", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glHintPGI(int target, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glHintPGI).invokeExact(target, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLPGIMiscHints { + int GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; + int GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; + int GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; + int GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; + int GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; + int GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; + int GL_ALWAYS_FAST_HINT_PGI = 0x1A20C; + int GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D; + int GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; + int GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; + int GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; + int GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; + int GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; + int GL_STRICT_LIGHTING_HINT_PGI = 0x1A217; + int GL_STRICT_SCISSOR_HINT_PGI = 0x1A218; + int GL_FULL_STIPPLE_HINT_PGI = 0x1A219; + int GL_CLIP_NEAR_HINT_PGI = 0x1A220; + int GL_CLIP_FAR_HINT_PGI = 0x1A221; + int GL_WIDE_LINE_HINT_PGI = 0x1A222; + int GL_BACK_NORMALS_HINT_PGI = 0x1A223; + void glHintPGI(int target, int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java index 9c81af95..79889b47 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java @@ -18,36 +18,33 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_PGI_vertex_hints} */ -public final class GLPGIVertexHints { - public static final int GL_VERTEX_DATA_HINT_PGI = 0x1A22A; - public static final int GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; - public static final int GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C; - public static final int GL_MAX_VERTEX_HINT_PGI = 0x1A22D; - public static final int GL_COLOR3_BIT_PGI = 0x00010000; - public static final int GL_COLOR4_BIT_PGI = 0x00020000; - public static final int GL_EDGEFLAG_BIT_PGI = 0x00040000; - public static final int GL_INDEX_BIT_PGI = 0x00080000; - public static final int GL_MAT_AMBIENT_BIT_PGI = 0x00100000; - public static final int GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; - public static final int GL_MAT_DIFFUSE_BIT_PGI = 0x00400000; - public static final int GL_MAT_EMISSION_BIT_PGI = 0x00800000; - public static final int GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; - public static final int GL_MAT_SHININESS_BIT_PGI = 0x02000000; - public static final int GL_MAT_SPECULAR_BIT_PGI = 0x04000000; - public static final int GL_NORMAL_BIT_PGI = 0x08000000; - public static final int GL_TEXCOORD1_BIT_PGI = 0x10000000; - public static final int GL_TEXCOORD2_BIT_PGI = 0x20000000; - public static final int GL_TEXCOORD3_BIT_PGI = 0x40000000; - public static final int GL_TEXCOORD4_BIT_PGI = 0x80000000; - public static final int GL_VERTEX23_BIT_PGI = 0x00000004; - public static final int GL_VERTEX4_BIT_PGI = 0x00000008; +public interface GLPGIVertexHints { + int GL_VERTEX_DATA_HINT_PGI = 0x1A22A; + int GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; + int GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C; + int GL_MAX_VERTEX_HINT_PGI = 0x1A22D; + int GL_COLOR3_BIT_PGI = 0x00010000; + int GL_COLOR4_BIT_PGI = 0x00020000; + int GL_EDGEFLAG_BIT_PGI = 0x00040000; + int GL_INDEX_BIT_PGI = 0x00080000; + int GL_MAT_AMBIENT_BIT_PGI = 0x00100000; + int GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; + int GL_MAT_DIFFUSE_BIT_PGI = 0x00400000; + int GL_MAT_EMISSION_BIT_PGI = 0x00800000; + int GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; + int GL_MAT_SHININESS_BIT_PGI = 0x02000000; + int GL_MAT_SPECULAR_BIT_PGI = 0x04000000; + int GL_NORMAL_BIT_PGI = 0x08000000; + int GL_TEXCOORD1_BIT_PGI = 0x10000000; + int GL_TEXCOORD2_BIT_PGI = 0x20000000; + int GL_TEXCOORD3_BIT_PGI = 0x40000000; + int GL_TEXCOORD4_BIT_PGI = 0x80000000; + int GL_VERTEX23_BIT_PGI = 0x00000004; + int GL_VERTEX4_BIT_PGI = 0x00000008; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java index 44b57f5b..ff2e913c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_REND_screen_coordinates} */ -public final class GLRENDScreenCoordinates { - public static final int GL_SCREEN_COORDINATES_REND = 0x8490; - public static final int GL_INVERTED_SCREEN_W_REND = 0x8491; +public interface GLRENDScreenCoordinates { + int GL_SCREEN_COORDINATES_REND = 0x8490; + int GL_INVERTED_SCREEN_W_REND = 0x8491; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java index 97c17d24..46f385f7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java @@ -18,20 +18,17 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_S3_s3tc} */ -public final class GLS3S3tc { - public static final int GL_RGB_S3TC = 0x83A0; - public static final int GL_RGB4_S3TC = 0x83A1; - public static final int GL_RGBA_S3TC = 0x83A2; - public static final int GL_RGBA4_S3TC = 0x83A3; - public static final int GL_RGBA_DXT5_S3TC = 0x83A4; - public static final int GL_RGBA4_DXT5_S3TC = 0x83A5; +public interface GLS3S3tc { + int GL_RGB_S3TC = 0x83A0; + int GL_RGB4_S3TC = 0x83A1; + int GL_RGBA_S3TC = 0x83A2; + int GL_RGBA4_S3TC = 0x83A3; + int GL_RGBA_DXT5_S3TC = 0x83A4; + int GL_RGBA4_DXT5_S3TC = 0x83A5; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java index ab07d951..44615b1e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_WIN_phong_shading} */ -public final class GLWINPhongShading { - public static final int GL_PHONG_WIN = 0x80EA; - public static final int GL_PHONG_HINT_WIN = 0x80EB; +public interface GLWINPhongShading { + int GL_PHONG_WIN = 0x80EA; + int GL_PHONG_HINT_WIN = 0x80EB; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java index 3bd09627..83e0e6f7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_WIN_specular_fog} */ -public final class GLWINSpecularFog { - public static final int GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC; +public interface GLWINSpecularFog { + int GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java index d5377d2e..2d0c47cf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_blend_minmax_factor} */ -public final class GLAMDBlendMinmaxFactor { - public static final int GL_FACTOR_MIN_AMD = 0x901C; - public static final int GL_FACTOR_MAX_AMD = 0x901D; +public interface GLAMDBlendMinmaxFactor { + int GL_FACTOR_MIN_AMD = 0x901C; + int GL_FACTOR_MAX_AMD = 0x901D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java index 594b9b12..4ea01004 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java @@ -18,69 +18,34 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_debug_output} */ -public final class GLAMDDebugOutput { - public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; - public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; - public static final int GL_DEBUG_LOGGED_MESSAGES_AMD = 0x9145; - public static final int GL_DEBUG_SEVERITY_HIGH_AMD = 0x9146; - public static final int GL_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147; - public static final int GL_DEBUG_SEVERITY_LOW_AMD = 0x9148; - public static final int GL_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149; - public static final int GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A; - public static final int GL_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B; - public static final int GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C; - public static final int GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D; - public static final int GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E; - public static final int GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F; - public static final int GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_debug_output) return; - ext.glDebugMessageEnableAMD = load.invoke("glDebugMessageEnableAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_BYTE)); - ext.glDebugMessageInsertAMD = load.invoke("glDebugMessageInsertAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDebugMessageCallbackAMD = load.invoke("glDebugMessageCallbackAMD", ofVoid(ADDRESS, ADDRESS)); - ext.glGetDebugMessageLogAMD = load.invoke("glGetDebugMessageLogAMD", of(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - } - - public static void glDebugMessageEnableAMD(int category, int severity, int count, @NativeType("const GLuint *") MemorySegment ids, boolean enabled) { - final var ext = getExtCapabilities(); - try { - check(ext.glDebugMessageEnableAMD).invokeExact(category, severity, count, ids, enabled); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDebugMessageInsertAMD(int category, int severity, int id, int length, @NativeType("const GLchar *") MemorySegment buf) { - final var ext = getExtCapabilities(); - try { - check(ext.glDebugMessageInsertAMD).invokeExact(category, severity, id, length, buf); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDebugMessageCallbackAMD(@NativeType("GLDEBUGPROCAMD") MemorySegment callback, @NativeType("void *") MemorySegment userParam) { - final var ext = getExtCapabilities(); - try { - check(ext.glDebugMessageCallbackAMD).invokeExact(callback, userParam); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDebugMessageCallbackAMD(Arena arena, GLDebugProcAMD callback, @NativeType("void *") MemorySegment userParam) { +public interface GLAMDDebugOutput { + int GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; + int GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; + int GL_DEBUG_LOGGED_MESSAGES_AMD = 0x9145; + int GL_DEBUG_SEVERITY_HIGH_AMD = 0x9146; + int GL_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147; + int GL_DEBUG_SEVERITY_LOW_AMD = 0x9148; + int GL_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149; + int GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A; + int GL_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B; + int GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C; + int GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D; + int GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E; + int GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F; + int GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150; + + void glDebugMessageEnableAMD(int category, int severity, int count, @NativeType("const GLuint *") MemorySegment ids, boolean enabled); + void glDebugMessageInsertAMD(int category, int severity, int id, int length, @NativeType("const GLchar *") MemorySegment buf); + void glDebugMessageCallbackAMD(@NativeType("GLDEBUGPROCAMD") MemorySegment callback, @NativeType("void *") MemorySegment userParam); + @overrun.marshal.gen.Skip + default void glDebugMessageCallbackAMD(Arena arena, GLDebugProcAMD callback, @NativeType("void *") MemorySegment userParam) { glDebugMessageCallbackAMD(callback.stub(arena), userParam); } - - public static int glGetDebugMessageLogAMD(int count, int bufSize, @NativeType("GLenum *") MemorySegment categories, @NativeType("GLenum *") MemorySegment severities, @NativeType("GLuint *") MemorySegment ids, @NativeType("GLsizei *") MemorySegment lengths, @NativeType("GLchar *") MemorySegment message) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetDebugMessageLogAMD).invokeExact(count, bufSize, categories, severities, ids, lengths, message); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - + int glGetDebugMessageLogAMD(int count, int bufSize, @NativeType("GLenum *") MemorySegment categories, @NativeType("GLenum *") MemorySegment severities, @NativeType("GLuint *") MemorySegment ids, @NativeType("GLsizei *") MemorySegment lengths, @NativeType("GLchar *") MemorySegment message); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java index fca5854b..3179eee8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_depth_clamp_separate} */ -public final class GLAMDDepthClampSeparate { - public static final int GL_DEPTH_CLAMP_NEAR_AMD = 0x901E; - public static final int GL_DEPTH_CLAMP_FAR_AMD = 0x901F; +public interface GLAMDDepthClampSeparate { + int GL_DEPTH_CLAMP_NEAR_AMD = 0x901E; + int GL_DEPTH_CLAMP_FAR_AMD = 0x901F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java index 7718cea1..a60124e9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java @@ -18,50 +18,16 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_draw_buffers_blend} */ -public final class GLAMDDrawBuffersBlend { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_draw_buffers_blend) return; - ext.glBlendFuncIndexedAMD = load.invoke("glBlendFuncIndexedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBlendFuncSeparateIndexedAMD = load.invoke("glBlendFuncSeparateIndexedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBlendEquationIndexedAMD = load.invoke("glBlendEquationIndexedAMD", ofVoid(JAVA_INT, JAVA_INT)); - ext.glBlendEquationSeparateIndexedAMD = load.invoke("glBlendEquationSeparateIndexedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glBlendFuncIndexedAMD(int buf, int src, int dst) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendFuncIndexedAMD).invokeExact(buf, src, dst); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendFuncSeparateIndexedAMD(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendFuncSeparateIndexedAMD).invokeExact(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendEquationIndexedAMD(int buf, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendEquationIndexedAMD).invokeExact(buf, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendEquationSeparateIndexedAMD(int buf, int modeRGB, int modeAlpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendEquationSeparateIndexedAMD).invokeExact(buf, modeRGB, modeAlpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDDrawBuffersBlend { + void glBlendFuncIndexedAMD(int buf, int src, int dst); + void glBlendFuncSeparateIndexedAMD(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha); + void glBlendEquationIndexedAMD(int buf, int mode); + void glBlendEquationSeparateIndexedAMD(int buf, int modeRGB, int modeAlpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java index 715f9287..2aee13f0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java @@ -18,40 +18,20 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_framebuffer_multisample_advanced} */ -public final class GLAMDFramebufferMultisampleAdvanced { - public static final int GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; - public static final int GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; - public static final int GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4; - public static final int GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5; - public static final int GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6; - public static final int GL_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_framebuffer_multisample_advanced) return; - ext.glRenderbufferStorageMultisampleAdvancedAMD = load.invoke("glRenderbufferStorageMultisampleAdvancedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedRenderbufferStorageMultisampleAdvancedAMD = load.invoke("glNamedRenderbufferStorageMultisampleAdvancedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glRenderbufferStorageMultisampleAdvancedAMD(int target, int samples, int storageSamples, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glRenderbufferStorageMultisampleAdvancedAMD).invokeExact(target, samples, storageSamples, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedRenderbufferStorageMultisampleAdvancedAMD(int renderbuffer, int samples, int storageSamples, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedRenderbufferStorageMultisampleAdvancedAMD).invokeExact(renderbuffer, samples, storageSamples, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDFramebufferMultisampleAdvanced { + int GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; + int GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; + int GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4; + int GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5; + int GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6; + int GL_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7; + void glRenderbufferStorageMultisampleAdvancedAMD(int target, int samples, int storageSamples, int internalformat, int width, int height); + void glNamedRenderbufferStorageMultisampleAdvancedAMD(int renderbuffer, int samples, int storageSamples, int internalformat, int width, int height); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java index a4ba41ac..c92fa084 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java @@ -18,54 +18,20 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_framebuffer_sample_positions} */ -public final class GLAMDFramebufferSamplePositions { - public static final int GL_SUBSAMPLE_DISTANCE_AMD = 0x883F; - public static final int GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; - public static final int GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF; - public static final int GL_ALL_PIXELS_AMD = 0xFFFFFFFF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_framebuffer_sample_positions) return; - ext.glFramebufferSamplePositionsfvAMD = load.invoke("glFramebufferSamplePositionsfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedFramebufferSamplePositionsfvAMD = load.invoke("glNamedFramebufferSamplePositionsfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFramebufferParameterfvAMD = load.invoke("glGetFramebufferParameterfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedFramebufferParameterfvAMD = load.invoke("glGetNamedFramebufferParameterfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glFramebufferSamplePositionsfvAMD(int target, int numsamples, int pixelindex, @NativeType("const GLfloat *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferSamplePositionsfvAMD).invokeExact(target, numsamples, pixelindex, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferSamplePositionsfvAMD(int framebuffer, int numsamples, int pixelindex, @NativeType("const GLfloat *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferSamplePositionsfvAMD).invokeExact(framebuffer, numsamples, pixelindex, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFramebufferParameterfvAMD(int target, int pname, int numsamples, int pixelindex, int size, @NativeType("GLfloat *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFramebufferParameterfvAMD).invokeExact(target, pname, numsamples, pixelindex, size, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedFramebufferParameterfvAMD(int framebuffer, int pname, int numsamples, int pixelindex, int size, @NativeType("GLfloat *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedFramebufferParameterfvAMD).invokeExact(framebuffer, pname, numsamples, pixelindex, size, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLAMDFramebufferSamplePositions { + int GL_SUBSAMPLE_DISTANCE_AMD = 0x883F; + int GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; + int GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF; + int GL_ALL_PIXELS_AMD = 0xFFFFFFFF; + + void glFramebufferSamplePositionsfvAMD(int target, int numsamples, int pixelindex, @NativeType("const GLfloat *") MemorySegment values); + void glNamedFramebufferSamplePositionsfvAMD(int framebuffer, int numsamples, int pixelindex, @NativeType("const GLfloat *") MemorySegment values); + void glGetFramebufferParameterfvAMD(int target, int pname, int numsamples, int pixelindex, int size, @NativeType("GLfloat *") MemorySegment values); + void glGetNamedFramebufferParameterfvAMD(int framebuffer, int pname, int numsamples, int pixelindex, int size, @NativeType("GLfloat *") MemorySegment values); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java index 415aad7a..820aaf04 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java @@ -18,27 +18,24 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_gpu_shader_half_float} */ -public final class GLAMDGpuShaderHalfFloat { - public static final int GL_FLOAT16_NV = 0x8FF8; - public static final int GL_FLOAT16_VEC2_NV = 0x8FF9; - public static final int GL_FLOAT16_VEC3_NV = 0x8FFA; - public static final int GL_FLOAT16_VEC4_NV = 0x8FFB; - public static final int GL_FLOAT16_MAT2_AMD = 0x91C5; - public static final int GL_FLOAT16_MAT3_AMD = 0x91C6; - public static final int GL_FLOAT16_MAT4_AMD = 0x91C7; - public static final int GL_FLOAT16_MAT2x3_AMD = 0x91C8; - public static final int GL_FLOAT16_MAT2x4_AMD = 0x91C9; - public static final int GL_FLOAT16_MAT3x2_AMD = 0x91CA; - public static final int GL_FLOAT16_MAT3x4_AMD = 0x91CB; - public static final int GL_FLOAT16_MAT4x2_AMD = 0x91CC; - public static final int GL_FLOAT16_MAT4x3_AMD = 0x91CD; +public interface GLAMDGpuShaderHalfFloat { + int GL_FLOAT16_NV = 0x8FF8; + int GL_FLOAT16_VEC2_NV = 0x8FF9; + int GL_FLOAT16_VEC3_NV = 0x8FFA; + int GL_FLOAT16_VEC4_NV = 0x8FFB; + int GL_FLOAT16_MAT2_AMD = 0x91C5; + int GL_FLOAT16_MAT3_AMD = 0x91C6; + int GL_FLOAT16_MAT4_AMD = 0x91C7; + int GL_FLOAT16_MAT2x3_AMD = 0x91C8; + int GL_FLOAT16_MAT2x4_AMD = 0x91C9; + int GL_FLOAT16_MAT3x2_AMD = 0x91CA; + int GL_FLOAT16_MAT3x4_AMD = 0x91CB; + int GL_FLOAT16_MAT4x2_AMD = 0x91CC; + int GL_FLOAT16_MAT4x3_AMD = 0x91CD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java index 44e17aba..7e8ad8ea 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java @@ -18,314 +18,70 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_gpu_shader_int64} */ -public final class GLAMDGpuShaderInt64 { - public static final int GL_INT64_NV = 0x140E; - public static final int GL_UNSIGNED_INT64_NV = 0x140F; - public static final int GL_INT8_NV = 0x8FE0; - public static final int GL_INT8_VEC2_NV = 0x8FE1; - public static final int GL_INT8_VEC3_NV = 0x8FE2; - public static final int GL_INT8_VEC4_NV = 0x8FE3; - public static final int GL_INT16_NV = 0x8FE4; - public static final int GL_INT16_VEC2_NV = 0x8FE5; - public static final int GL_INT16_VEC3_NV = 0x8FE6; - public static final int GL_INT16_VEC4_NV = 0x8FE7; - public static final int GL_INT64_VEC2_NV = 0x8FE9; - public static final int GL_INT64_VEC3_NV = 0x8FEA; - public static final int GL_INT64_VEC4_NV = 0x8FEB; - public static final int GL_UNSIGNED_INT8_NV = 0x8FEC; - public static final int GL_UNSIGNED_INT8_VEC2_NV = 0x8FED; - public static final int GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE; - public static final int GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF; - public static final int GL_UNSIGNED_INT16_NV = 0x8FF0; - public static final int GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1; - public static final int GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2; - public static final int GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3; - public static final int GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5; - public static final int GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6; - public static final int GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_gpu_shader_int64) return; - ext.glUniform1i64NV = load.invoke("glUniform1i64NV", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glUniform2i64NV = load.invoke("glUniform2i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glUniform3i64NV = load.invoke("glUniform3i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform4i64NV = load.invoke("glUniform4i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform1i64vNV = load.invoke("glUniform1i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform2i64vNV = load.invoke("glUniform2i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform3i64vNV = load.invoke("glUniform3i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform4i64vNV = load.invoke("glUniform4i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform1ui64NV = load.invoke("glUniform1ui64NV", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glUniform2ui64NV = load.invoke("glUniform2ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glUniform3ui64NV = load.invoke("glUniform3ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform4ui64NV = load.invoke("glUniform4ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform1ui64vNV = load.invoke("glUniform1ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform2ui64vNV = load.invoke("glUniform2ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform3ui64vNV = load.invoke("glUniform3ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform4ui64vNV = load.invoke("glUniform4ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetUniformi64vNV = load.invoke("glGetUniformi64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetUniformui64vNV = load.invoke("glGetUniformui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform1i64NV = load.invoke("glProgramUniform1i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glProgramUniform2i64NV = load.invoke("glProgramUniform2i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform3i64NV = load.invoke("glProgramUniform3i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform4i64NV = load.invoke("glProgramUniform4i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform1i64vNV = load.invoke("glProgramUniform1i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2i64vNV = load.invoke("glProgramUniform2i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3i64vNV = load.invoke("glProgramUniform3i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4i64vNV = load.invoke("glProgramUniform4i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform1ui64NV = load.invoke("glProgramUniform1ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glProgramUniform2ui64NV = load.invoke("glProgramUniform2ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform3ui64NV = load.invoke("glProgramUniform3ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform4ui64NV = load.invoke("glProgramUniform4ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform1ui64vNV = load.invoke("glProgramUniform1ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2ui64vNV = load.invoke("glProgramUniform2ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3ui64vNV = load.invoke("glProgramUniform3ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4ui64vNV = load.invoke("glProgramUniform4ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glUniform1i64NV(int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1i64NV).invokeExact(location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2i64NV(int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2i64NV).invokeExact(location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3i64NV(int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3i64NV).invokeExact(location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4i64NV(int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4i64NV).invokeExact(location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1i64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2i64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3i64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4i64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1ui64NV(int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1ui64NV).invokeExact(location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2ui64NV(int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2ui64NV).invokeExact(location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3ui64NV(int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3ui64NV).invokeExact(location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4ui64NV(int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4ui64NV).invokeExact(location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1ui64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2ui64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3ui64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4ui64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetUniformi64vNV(int program, int location, @NativeType("GLint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUniformi64vNV).invokeExact(program, location, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetUniformui64vNV(int program, int location, @NativeType("GLuint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUniformui64vNV).invokeExact(program, location, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1i64NV(int program, int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1i64NV).invokeExact(program, location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2i64NV(int program, int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2i64NV).invokeExact(program, location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3i64NV(int program, int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3i64NV).invokeExact(program, location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4i64NV(int program, int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4i64NV).invokeExact(program, location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1i64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2i64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3i64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4i64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1ui64NV(int program, int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1ui64NV).invokeExact(program, location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2ui64NV(int program, int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2ui64NV).invokeExact(program, location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3ui64NV(int program, int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3ui64NV).invokeExact(program, location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4ui64NV(int program, int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4ui64NV).invokeExact(program, location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1ui64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2ui64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3ui64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4ui64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLAMDGpuShaderInt64 { + int GL_INT64_NV = 0x140E; + int GL_UNSIGNED_INT64_NV = 0x140F; + int GL_INT8_NV = 0x8FE0; + int GL_INT8_VEC2_NV = 0x8FE1; + int GL_INT8_VEC3_NV = 0x8FE2; + int GL_INT8_VEC4_NV = 0x8FE3; + int GL_INT16_NV = 0x8FE4; + int GL_INT16_VEC2_NV = 0x8FE5; + int GL_INT16_VEC3_NV = 0x8FE6; + int GL_INT16_VEC4_NV = 0x8FE7; + int GL_INT64_VEC2_NV = 0x8FE9; + int GL_INT64_VEC3_NV = 0x8FEA; + int GL_INT64_VEC4_NV = 0x8FEB; + int GL_UNSIGNED_INT8_NV = 0x8FEC; + int GL_UNSIGNED_INT8_VEC2_NV = 0x8FED; + int GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE; + int GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF; + int GL_UNSIGNED_INT16_NV = 0x8FF0; + int GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1; + int GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2; + int GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3; + int GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5; + int GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6; + int GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7; + + void glUniform1i64NV(int location, long x); + void glUniform2i64NV(int location, long x, long y); + void glUniform3i64NV(int location, long x, long y, long z); + void glUniform4i64NV(int location, long x, long y, long z, long w); + void glUniform1i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glUniform2i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glUniform3i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glUniform4i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glUniform1ui64NV(int location, long x); + void glUniform2ui64NV(int location, long x, long y); + void glUniform3ui64NV(int location, long x, long y, long z); + void glUniform4ui64NV(int location, long x, long y, long z, long w); + void glUniform1ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glUniform2ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glUniform3ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glUniform4ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glGetUniformi64vNV(int program, int location, @NativeType("GLint64EXT *") MemorySegment params); + void glGetUniformui64vNV(int program, int location, @NativeType("GLuint64EXT *") MemorySegment params); + void glProgramUniform1i64NV(int program, int location, long x); + void glProgramUniform2i64NV(int program, int location, long x, long y); + void glProgramUniform3i64NV(int program, int location, long x, long y, long z); + void glProgramUniform4i64NV(int program, int location, long x, long y, long z, long w); + void glProgramUniform1i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glProgramUniform2i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glProgramUniform3i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glProgramUniform4i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value); + void glProgramUniform1ui64NV(int program, int location, long x); + void glProgramUniform2ui64NV(int program, int location, long x, long y); + void glProgramUniform3ui64NV(int program, int location, long x, long y, long z); + void glProgramUniform4ui64NV(int program, int location, long x, long y, long z, long w); + void glProgramUniform1ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glProgramUniform2ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glProgramUniform3ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glProgramUniform4ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java index 432669ee..ee7c255b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_interleaved_elements} */ -public final class GLAMDInterleavedElements { - public static final int GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; - public static final int GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_interleaved_elements) return; - ext.glVertexAttribParameteriAMD = load.invoke("glVertexAttribParameteriAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glVertexAttribParameteriAMD(int index, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribParameteriAMD).invokeExact(index, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDInterleavedElements { + int GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; + int GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5; + void glVertexAttribParameteriAMD(int index, int pname, int param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java index 5f15112d..aa94e4ba 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_multi_draw_indirect} */ -public final class GLAMDMultiDrawIndirect { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_multi_draw_indirect) return; - ext.glMultiDrawArraysIndirectAMD = load.invoke("glMultiDrawArraysIndirectAMD", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT)); - ext.glMultiDrawElementsIndirectAMD = load.invoke("glMultiDrawElementsIndirectAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT)); - } - - public static void glMultiDrawArraysIndirectAMD(int mode, @NativeType("const void *") MemorySegment indirect, int primcount, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawArraysIndirectAMD).invokeExact(mode, indirect, primcount, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawElementsIndirectAMD(int mode, int type, @NativeType("const void *") MemorySegment indirect, int primcount, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawElementsIndirectAMD).invokeExact(mode, type, indirect, primcount, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDMultiDrawIndirect { + void glMultiDrawArraysIndirectAMD(int mode, @NativeType("const void *") MemorySegment indirect, int primcount, int stride); + void glMultiDrawElementsIndirectAMD(int mode, int type, @NativeType("const void *") MemorySegment indirect, int primcount, int stride); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java index 04dec874..a47b4f6d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java @@ -18,48 +18,20 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_name_gen_delete} */ -public final class GLAMDNameGenDelete { - public static final int GL_DATA_BUFFER_AMD = 0x9151; - public static final int GL_PERFORMANCE_MONITOR_AMD = 0x9152; - public static final int GL_QUERY_OBJECT_AMD = 0x9153; - public static final int GL_VERTEX_ARRAY_OBJECT_AMD = 0x9154; - public static final int GL_SAMPLER_OBJECT_AMD = 0x9155; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_name_gen_delete) return; - ext.glGenNamesAMD = load.invoke("glGenNamesAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDeleteNamesAMD = load.invoke("glDeleteNamesAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glIsNameAMD = load.invoke("glIsNameAMD", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); - } - - public static void glGenNamesAMD(int identifier, int num, @NativeType("GLuint *") MemorySegment names) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenNamesAMD).invokeExact(identifier, num, names); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteNamesAMD(int identifier, int num, @NativeType("const GLuint *") MemorySegment names) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteNamesAMD).invokeExact(identifier, num, names); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsNameAMD(int identifier, int name) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsNameAMD).invokeExact(identifier, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDNameGenDelete { + int GL_DATA_BUFFER_AMD = 0x9151; + int GL_PERFORMANCE_MONITOR_AMD = 0x9152; + int GL_QUERY_OBJECT_AMD = 0x9153; + int GL_VERTEX_ARRAY_OBJECT_AMD = 0x9154; + int GL_SAMPLER_OBJECT_AMD = 0x9155; + void glGenNamesAMD(int identifier, int num, @NativeType("GLuint *") MemorySegment names); + void glDeleteNamesAMD(int identifier, int num, @NativeType("const GLuint *") MemorySegment names); + boolean glIsNameAMD(int identifier, int name); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java index 8791bf02..777ae596 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java @@ -18,32 +18,19 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_occlusion_query_event} */ -public final class GLAMDOcclusionQueryEvent { - public static final int GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; - public static final int GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; - public static final int GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; - public static final int GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; - public static final int GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; - public static final int GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_occlusion_query_event) return; - ext.glQueryObjectParameteruiAMD = load.invoke("glQueryObjectParameteruiAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glQueryObjectParameteruiAMD(int target, int id, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glQueryObjectParameteruiAMD).invokeExact(target, id, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDOcclusionQueryEvent { + int GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; + int GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; + int GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; + int GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; + int GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; + int GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; + void glQueryObjectParameteruiAMD(int target, int id, int pname, int param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java index ef493fc2..fc4c6b21 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java @@ -18,113 +18,30 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_performance_monitor} */ -public final class GLAMDPerformanceMonitor { - public static final int GL_COUNTER_TYPE_AMD = 0x8BC0; - public static final int GL_COUNTER_RANGE_AMD = 0x8BC1; - public static final int GL_UNSIGNED_INT64_AMD = 0x8BC2; - public static final int GL_PERCENTAGE_AMD = 0x8BC3; - public static final int GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; - public static final int GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5; - public static final int GL_PERFMON_RESULT_AMD = 0x8BC6; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_performance_monitor) return; - ext.glGetPerfMonitorGroupsAMD = load.invoke("glGetPerfMonitorGroupsAMD", ofVoid(ADDRESS, JAVA_INT, ADDRESS)); - ext.glGetPerfMonitorCountersAMD = load.invoke("glGetPerfMonitorCountersAMD", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT, ADDRESS)); - ext.glGetPerfMonitorGroupStringAMD = load.invoke("glGetPerfMonitorGroupStringAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetPerfMonitorCounterStringAMD = load.invoke("glGetPerfMonitorCounterStringAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetPerfMonitorCounterInfoAMD = load.invoke("glGetPerfMonitorCounterInfoAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGenPerfMonitorsAMD = load.invoke("glGenPerfMonitorsAMD", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeletePerfMonitorsAMD = load.invoke("glDeletePerfMonitorsAMD", ofVoid(JAVA_INT, ADDRESS)); - ext.glSelectPerfMonitorCountersAMD = load.invoke("glSelectPerfMonitorCountersAMD", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glBeginPerfMonitorAMD = load.invoke("glBeginPerfMonitorAMD", ofVoid(JAVA_INT)); - ext.glEndPerfMonitorAMD = load.invoke("glEndPerfMonitorAMD", ofVoid(JAVA_INT)); - ext.glGetPerfMonitorCounterDataAMD = load.invoke("glGetPerfMonitorCounterDataAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glGetPerfMonitorGroupsAMD(@NativeType("GLint *") MemorySegment numGroups, int groupsSize, @NativeType("GLuint *") MemorySegment groups) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfMonitorGroupsAMD).invokeExact(numGroups, groupsSize, groups); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfMonitorCountersAMD(int group, @NativeType("GLint *") MemorySegment numCounters, @NativeType("GLint *") MemorySegment maxActiveCounters, int counterSize, @NativeType("GLuint *") MemorySegment counters) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfMonitorCountersAMD).invokeExact(group, numCounters, maxActiveCounters, counterSize, counters); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfMonitorGroupStringAMD(int group, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment groupString) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfMonitorGroupStringAMD).invokeExact(group, bufSize, length, groupString); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfMonitorCounterStringAMD(int group, int counter, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment counterString) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfMonitorCounterStringAMD).invokeExact(group, counter, bufSize, length, counterString); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfMonitorCounterInfoAMD(int group, int counter, int pname, @NativeType("void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfMonitorCounterInfoAMD).invokeExact(group, counter, pname, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenPerfMonitorsAMD(int n, @NativeType("GLuint *") MemorySegment monitors) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenPerfMonitorsAMD).invokeExact(n, monitors); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeletePerfMonitorsAMD(int n, @NativeType("GLuint *") MemorySegment monitors) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeletePerfMonitorsAMD).invokeExact(n, monitors); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSelectPerfMonitorCountersAMD(int monitor, boolean enable, int group, int numCounters, @NativeType("GLuint *") MemorySegment counterList) { - final var ext = getExtCapabilities(); - try { - check(ext.glSelectPerfMonitorCountersAMD).invokeExact(monitor, enable, group, numCounters, counterList); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBeginPerfMonitorAMD(int monitor) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginPerfMonitorAMD).invokeExact(monitor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndPerfMonitorAMD(int monitor) { - final var ext = getExtCapabilities(); - try { - check(ext.glEndPerfMonitorAMD).invokeExact(monitor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfMonitorCounterDataAMD(int monitor, int pname, int dataSize, @NativeType("GLuint *") MemorySegment data, @NativeType("GLint *") MemorySegment bytesWritten) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfMonitorCounterDataAMD).invokeExact(monitor, pname, dataSize, data, bytesWritten); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLAMDPerformanceMonitor { + int GL_COUNTER_TYPE_AMD = 0x8BC0; + int GL_COUNTER_RANGE_AMD = 0x8BC1; + int GL_UNSIGNED_INT64_AMD = 0x8BC2; + int GL_PERCENTAGE_AMD = 0x8BC3; + int GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; + int GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5; + int GL_PERFMON_RESULT_AMD = 0x8BC6; + + void glGetPerfMonitorGroupsAMD(@NativeType("GLint *") MemorySegment numGroups, int groupsSize, @NativeType("GLuint *") MemorySegment groups); + void glGetPerfMonitorCountersAMD(int group, @NativeType("GLint *") MemorySegment numCounters, @NativeType("GLint *") MemorySegment maxActiveCounters, int counterSize, @NativeType("GLuint *") MemorySegment counters); + void glGetPerfMonitorGroupStringAMD(int group, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment groupString); + void glGetPerfMonitorCounterStringAMD(int group, int counter, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment counterString); + void glGetPerfMonitorCounterInfoAMD(int group, int counter, int pname, @NativeType("void *") MemorySegment data); + void glGenPerfMonitorsAMD(int n, @NativeType("GLuint *") MemorySegment monitors); + void glDeletePerfMonitorsAMD(int n, @NativeType("GLuint *") MemorySegment monitors); + void glSelectPerfMonitorCountersAMD(int monitor, boolean enable, int group, int numCounters, @NativeType("GLuint *") MemorySegment counterList); + void glBeginPerfMonitorAMD(int monitor); + void glEndPerfMonitorAMD(int monitor); + void glGetPerfMonitorCounterDataAMD(int monitor, int pname, int dataSize, @NativeType("GLuint *") MemorySegment data, @NativeType("GLint *") MemorySegment bytesWritten); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java index 6eb5f498..f684d59d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_pinned_memory} */ -public final class GLAMDPinnedMemory { - public static final int GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; +public interface GLAMDPinnedMemory { + int GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java index 46d8d1b6..d407c6b2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_query_buffer_object} */ -public final class GLAMDQueryBufferObject { - public static final int GL_QUERY_BUFFER_AMD = 0x9192; - public static final int GL_QUERY_BUFFER_BINDING_AMD = 0x9193; - public static final int GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194; +public interface GLAMDQueryBufferObject { + int GL_QUERY_BUFFER_AMD = 0x9192; + int GL_QUERY_BUFFER_BINDING_AMD = 0x9193; + int GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java index 62932539..0c2664fa 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_sample_positions} */ -public final class GLAMDSamplePositions { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_sample_positions) return; - ext.glSetMultisamplefvAMD = load.invoke("glSetMultisamplefvAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glSetMultisamplefvAMD(int pname, int index, @NativeType("const GLfloat *") MemorySegment val) { - final var ext = getExtCapabilities(); - try { - check(ext.glSetMultisamplefvAMD).invokeExact(pname, index, val); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDSamplePositions { + void glSetMultisamplefvAMD(int pname, int index, @NativeType("const GLfloat *") MemorySegment val); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java index 6d05244c..90597020 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java @@ -18,43 +18,23 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_sparse_texture} */ -public final class GLAMDSparseTexture { - public static final int GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; - public static final int GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; - public static final int GL_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; - public static final int GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; - public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; - public static final int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A; - public static final int GL_MIN_SPARSE_LEVEL_AMD = 0x919B; - public static final int GL_MIN_LOD_WARNING_AMD = 0x919C; - public static final int GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_sparse_texture) return; - ext.glTexStorageSparseAMD = load.invoke("glTexStorageSparseAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTextureStorageSparseAMD = load.invoke("glTextureStorageSparseAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glTexStorageSparseAMD(int target, int internalFormat, int width, int height, int depth, int layers, int flags) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorageSparseAMD).invokeExact(target, internalFormat, width, height, depth, layers, flags); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorageSparseAMD(int texture, int target, int internalFormat, int width, int height, int depth, int layers, int flags) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorageSparseAMD).invokeExact(texture, target, internalFormat, width, height, depth, layers, flags); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDSparseTexture { + int GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; + int GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; + int GL_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; + int GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; + int GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; + int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A; + int GL_MIN_SPARSE_LEVEL_AMD = 0x919B; + int GL_MIN_LOD_WARNING_AMD = 0x919C; + int GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; + void glTexStorageSparseAMD(int target, int internalFormat, int width, int height, int depth, int layers, int flags); + void glTextureStorageSparseAMD(int texture, int target, int internalFormat, int width, int height, int depth, int layers, int flags); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java index e13807c1..09a8eb78 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_stencil_operation_extended} */ -public final class GLAMDStencilOperationExtended { - public static final int GL_SET_AMD = 0x874A; - public static final int GL_REPLACE_VALUE_AMD = 0x874B; - public static final int GL_STENCIL_OP_VALUE_AMD = 0x874C; - public static final int GL_STENCIL_BACK_OP_VALUE_AMD = 0x874D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_stencil_operation_extended) return; - ext.glStencilOpValueAMD = load.invoke("glStencilOpValueAMD", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glStencilOpValueAMD(int face, int value) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilOpValueAMD).invokeExact(face, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDStencilOperationExtended { + int GL_SET_AMD = 0x874A; + int GL_REPLACE_VALUE_AMD = 0x874B; + int GL_STENCIL_OP_VALUE_AMD = 0x874C; + int GL_STENCIL_BACK_OP_VALUE_AMD = 0x874D; + void glStencilOpValueAMD(int face, int value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java index 8a1250a7..9ccfc0bb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_transform_feedback4} */ -public final class GLAMDTransformFeedback4 { - public static final int GL_STREAM_RASTERIZATION_AMD = 0x91A0; +public interface GLAMDTransformFeedback4 { + int GL_STREAM_RASTERIZATION_AMD = 0x91A0; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java index a37f9d69..8764368d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java @@ -18,41 +18,21 @@ package overrungl.opengl.ext.amd; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_AMD_vertex_shader_tessellator} */ -public final class GLAMDVertexShaderTessellator { - public static final int GL_SAMPLER_BUFFER_AMD = 0x9001; - public static final int GL_INT_SAMPLER_BUFFER_AMD = 0x9002; - public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; - public static final int GL_TESSELLATION_MODE_AMD = 0x9004; - public static final int GL_TESSELLATION_FACTOR_AMD = 0x9005; - public static final int GL_DISCRETE_AMD = 0x9006; - public static final int GL_CONTINUOUS_AMD = 0x9007; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_AMD_vertex_shader_tessellator) return; - ext.glTessellationFactorAMD = load.invoke("glTessellationFactorAMD", ofVoid(JAVA_FLOAT)); - ext.glTessellationModeAMD = load.invoke("glTessellationModeAMD", ofVoid(JAVA_INT)); - } - - public static void glTessellationFactorAMD(float factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glTessellationFactorAMD).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTessellationModeAMD(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glTessellationModeAMD).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAMDVertexShaderTessellator { + int GL_SAMPLER_BUFFER_AMD = 0x9001; + int GL_INT_SAMPLER_BUFFER_AMD = 0x9002; + int GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; + int GL_TESSELLATION_MODE_AMD = 0x9004; + int GL_TESSELLATION_FACTOR_AMD = 0x9005; + int GL_DISCRETE_AMD = 0x9006; + int GL_CONTINUOUS_AMD = 0x9007; + void glTessellationFactorAMD(float factor); + void glTessellationModeAMD(int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java index 512f4dde..738d41a4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_aux_depth_stencil} */ -public final class GLAPPLEAuxDepthStencil { - public static final int GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14; +public interface GLAPPLEAuxDepthStencil { + int GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java index 904c1674..33a6b4fa 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_client_storage} */ -public final class GLAPPLEClientStorage { - public static final int GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; +public interface GLAPPLEClientStorage { + int GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java index ec27f40e..d7443e78 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java @@ -18,61 +18,20 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_element_array} */ -public final class GLAPPLEElementArray { - public static final int GL_ELEMENT_ARRAY_APPLE = 0x8A0C; - public static final int GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; - public static final int GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_element_array) return; - ext.glElementPointerAPPLE = load.invoke("glElementPointerAPPLE", ofVoid(JAVA_INT, ADDRESS)); - ext.glDrawElementArrayAPPLE = load.invoke("glDrawElementArrayAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glDrawRangeElementArrayAPPLE = load.invoke("glDrawRangeElementArrayAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiDrawElementArrayAPPLE = load.invoke("glMultiDrawElementArrayAPPLE", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); - ext.glMultiDrawRangeElementArrayAPPLE = load.invoke("glMultiDrawRangeElementArrayAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); - } - - public static void glElementPointerAPPLE(int type, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glElementPointerAPPLE).invokeExact(type, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawElementArrayAPPLE(int mode, int first, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawElementArrayAPPLE).invokeExact(mode, first, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawRangeElementArrayAPPLE(int mode, int start, int end, int first, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawRangeElementArrayAPPLE).invokeExact(mode, start, end, first, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawElementArrayAPPLE(int mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawElementArrayAPPLE).invokeExact(mode, first, count, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawRangeElementArrayAPPLE(int mode, int start, int end, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawRangeElementArrayAPPLE).invokeExact(mode, start, end, first, count, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLAPPLEElementArray { + int GL_ELEMENT_ARRAY_APPLE = 0x8A0C; + int GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; + int GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; + + void glElementPointerAPPLE(int type, @NativeType("const void *") MemorySegment pointer); + void glDrawElementArrayAPPLE(int mode, int first, int count); + void glDrawRangeElementArrayAPPLE(int mode, int start, int end, int first, int count); + void glMultiDrawElementArrayAPPLE(int mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount); + void glMultiDrawRangeElementArrayAPPLE(int mode, int start, int end, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java index 4b942e30..4a65baac 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java @@ -18,87 +18,22 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_fence} */ -public final class GLAPPLEFence { - public static final int GL_DRAW_PIXELS_APPLE = 0x8A0A; - public static final int GL_FENCE_APPLE = 0x8A0B; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_fence) return; - ext.glGenFencesAPPLE = load.invoke("glGenFencesAPPLE", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeleteFencesAPPLE = load.invoke("glDeleteFencesAPPLE", ofVoid(JAVA_INT, ADDRESS)); - ext.glSetFenceAPPLE = load.invoke("glSetFenceAPPLE", ofVoid(JAVA_INT)); - ext.glIsFenceAPPLE = load.invoke("glIsFenceAPPLE", of(JAVA_BYTE, JAVA_INT)); - ext.glTestFenceAPPLE = load.invoke("glTestFenceAPPLE", of(JAVA_BYTE, JAVA_INT)); - ext.glFinishFenceAPPLE = load.invoke("glFinishFenceAPPLE", ofVoid(JAVA_INT)); - ext.glTestObjectAPPLE = load.invoke("glTestObjectAPPLE", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); - ext.glFinishObjectAPPLE = load.invoke("glFinishObjectAPPLE", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glGenFencesAPPLE(int n, @NativeType("GLuint *") MemorySegment fences) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenFencesAPPLE).invokeExact(n, fences); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteFencesAPPLE(int n, @NativeType("const GLuint *") MemorySegment fences) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteFencesAPPLE).invokeExact(n, fences); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSetFenceAPPLE(int fence) { - final var ext = getExtCapabilities(); - try { - check(ext.glSetFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsFenceAPPLE(int fence) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glTestFenceAPPLE(int fence) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glTestFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFinishFenceAPPLE(int fence) { - final var ext = getExtCapabilities(); - try { - check(ext.glFinishFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glTestObjectAPPLE(int object, int name) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glTestObjectAPPLE).invokeExact(object, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFinishObjectAPPLE(int object, int name) { - final var ext = getExtCapabilities(); - try { - check(ext.glFinishObjectAPPLE).invokeExact(object, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLAPPLEFence { + int GL_DRAW_PIXELS_APPLE = 0x8A0A; + int GL_FENCE_APPLE = 0x8A0B; + + void glGenFencesAPPLE(int n, @NativeType("GLuint *") MemorySegment fences); + void glDeleteFencesAPPLE(int n, @NativeType("const GLuint *") MemorySegment fences); + void glSetFenceAPPLE(int fence); + boolean glIsFenceAPPLE(int fence); + boolean glTestFenceAPPLE(int fence); + void glFinishFenceAPPLE(int fence); + boolean glTestObjectAPPLE(int object, int name); + void glFinishObjectAPPLE(int object, int name); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java index ba6a44c5..fe135980 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java @@ -18,28 +18,25 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_float_pixels} */ -public final class GLAPPLEFloatPixels { - public static final int GL_HALF_APPLE = 0x140B; - public static final int GL_RGBA_FLOAT32_APPLE = 0x8814; - public static final int GL_RGB_FLOAT32_APPLE = 0x8815; - public static final int GL_ALPHA_FLOAT32_APPLE = 0x8816; - public static final int GL_INTENSITY_FLOAT32_APPLE = 0x8817; - public static final int GL_LUMINANCE_FLOAT32_APPLE = 0x8818; - public static final int GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; - public static final int GL_RGBA_FLOAT16_APPLE = 0x881A; - public static final int GL_RGB_FLOAT16_APPLE = 0x881B; - public static final int GL_ALPHA_FLOAT16_APPLE = 0x881C; - public static final int GL_INTENSITY_FLOAT16_APPLE = 0x881D; - public static final int GL_LUMINANCE_FLOAT16_APPLE = 0x881E; - public static final int GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; - public static final int GL_COLOR_FLOAT_APPLE = 0x8A0F; +public interface GLAPPLEFloatPixels { + int GL_HALF_APPLE = 0x140B; + int GL_RGBA_FLOAT32_APPLE = 0x8814; + int GL_RGB_FLOAT32_APPLE = 0x8815; + int GL_ALPHA_FLOAT32_APPLE = 0x8816; + int GL_INTENSITY_FLOAT32_APPLE = 0x8817; + int GL_LUMINANCE_FLOAT32_APPLE = 0x8818; + int GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; + int GL_RGBA_FLOAT16_APPLE = 0x881A; + int GL_RGB_FLOAT16_APPLE = 0x881B; + int GL_ALPHA_FLOAT16_APPLE = 0x881C; + int GL_INTENSITY_FLOAT16_APPLE = 0x881D; + int GL_LUMINANCE_FLOAT16_APPLE = 0x881E; + int GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; + int GL_COLOR_FLOAT_APPLE = 0x8A0F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java index 268ee357..8e689609 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java @@ -18,36 +18,16 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_flush_buffer_range} */ -public final class GLAPPLEFlushBufferRange { - public static final int GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; - public static final int GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_flush_buffer_range) return; - ext.glBufferParameteriAPPLE = load.invoke("glBufferParameteriAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFlushMappedBufferRangeAPPLE = load.invoke("glFlushMappedBufferRangeAPPLE", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - } - - public static void glBufferParameteriAPPLE(int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferParameteriAPPLE).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFlushMappedBufferRangeAPPLE(int target, long offset, long size) { - final var ext = getExtCapabilities(); - try { - check(ext.glFlushMappedBufferRangeAPPLE).invokeExact(target, offset, size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAPPLEFlushBufferRange { + int GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; + int GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; + void glBufferParameteriAPPLE(int target, int pname, int param); + void glFlushMappedBufferRangeAPPLE(int target, long offset, long size); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java index 3e684db4..68d8f331 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java @@ -18,50 +18,21 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_object_purgeable} */ -public final class GLAPPLEObjectPurgeable { - public static final int GL_BUFFER_OBJECT_APPLE = 0x85B3; - public static final int GL_RELEASED_APPLE = 0x8A19; - public static final int GL_VOLATILE_APPLE = 0x8A1A; - public static final int GL_RETAINED_APPLE = 0x8A1B; - public static final int GL_UNDEFINED_APPLE = 0x8A1C; - public static final int GL_PURGEABLE_APPLE = 0x8A1D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_object_purgeable) return; - ext.glObjectPurgeableAPPLE = load.invoke("glObjectPurgeableAPPLE", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glObjectUnpurgeableAPPLE = load.invoke("glObjectUnpurgeableAPPLE", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetObjectParameterivAPPLE = load.invoke("glGetObjectParameterivAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static int glObjectPurgeableAPPLE(int objectType, int name, int option) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glObjectPurgeableAPPLE).invokeExact(objectType, name, option); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glObjectUnpurgeableAPPLE(int objectType, int name, int option) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glObjectUnpurgeableAPPLE).invokeExact(objectType, name, option); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetObjectParameterivAPPLE(int objectType, int name, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetObjectParameterivAPPLE).invokeExact(objectType, name, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAPPLEObjectPurgeable { + int GL_BUFFER_OBJECT_APPLE = 0x85B3; + int GL_RELEASED_APPLE = 0x8A19; + int GL_VOLATILE_APPLE = 0x8A1A; + int GL_RETAINED_APPLE = 0x8A1B; + int GL_UNDEFINED_APPLE = 0x8A1C; + int GL_PURGEABLE_APPLE = 0x8A1D; + int glObjectPurgeableAPPLE(int objectType, int name, int option); + int glObjectUnpurgeableAPPLE(int objectType, int name, int option); + void glGetObjectParameterivAPPLE(int objectType, int name, int pname, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java index cfb42b2d..1cd57016 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_rgb_422} */ -public final class GLAPPLERgb422 { - public static final int GL_RGB_422_APPLE = 0x8A1F; - public static final int GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA; - public static final int GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; - public static final int GL_RGB_RAW_422_APPLE = 0x8A51; +public interface GLAPPLERgb422 { + int GL_RGB_422_APPLE = 0x8A1F; + int GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA; + int GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; + int GL_RGB_RAW_422_APPLE = 0x8A51; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java index 9348ad53..3e644484 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_row_bytes} */ -public final class GLAPPLERowBytes { - public static final int GL_PACK_ROW_BYTES_APPLE = 0x8A15; - public static final int GL_UNPACK_ROW_BYTES_APPLE = 0x8A16; +public interface GLAPPLERowBytes { + int GL_PACK_ROW_BYTES_APPLE = 0x8A15; + int GL_UNPACK_ROW_BYTES_APPLE = 0x8A16; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java index 9f78c2b3..c59df175 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_specular_vector} */ -public final class GLAPPLESpecularVector { - public static final int GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; +public interface GLAPPLESpecularVector { + int GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java index efafb323..47d74d95 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java @@ -18,40 +18,20 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_texture_range} */ -public final class GLAPPLETextureRange { - public static final int GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; - public static final int GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8; - public static final int GL_TEXTURE_STORAGE_HINT_APPLE = 0x85BC; - public static final int GL_STORAGE_PRIVATE_APPLE = 0x85BD; - public static final int GL_STORAGE_CACHED_APPLE = 0x85BE; - public static final int GL_STORAGE_SHARED_APPLE = 0x85BF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_texture_range) return; - ext.glTextureRangeAPPLE = load.invoke("glTextureRangeAPPLE", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTexParameterPointervAPPLE = load.invoke("glGetTexParameterPointervAPPLE", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glTextureRangeAPPLE(int target, int length, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureRangeAPPLE).invokeExact(target, length, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexParameterPointervAPPLE(int target, int pname, @NativeType("void **") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexParameterPointervAPPLE).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAPPLETextureRange { + int GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; + int GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8; + int GL_TEXTURE_STORAGE_HINT_APPLE = 0x85BC; + int GL_STORAGE_PRIVATE_APPLE = 0x85BD; + int GL_STORAGE_CACHED_APPLE = 0x85BE; + int GL_STORAGE_SHARED_APPLE = 0x85BF; + void glTextureRangeAPPLE(int target, int length, @NativeType("const void *") MemorySegment pointer); + void glGetTexParameterPointervAPPLE(int target, int pname, @NativeType("void **") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java index c674c0c7..a02de7a6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_transform_hint} */ -public final class GLAPPLETransformHint { - public static final int GL_TRANSFORM_HINT_APPLE = 0x85B1; +public interface GLAPPLETransformHint { + int GL_TRANSFORM_HINT_APPLE = 0x85B1; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java index 232d0369..5e7961ab 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java @@ -18,52 +18,17 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_vertex_array_object} */ -public final class GLAPPLEVertexArrayObject { - public static final int GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_vertex_array_object) return; - ext.glBindVertexArrayAPPLE = load.invoke("glBindVertexArrayAPPLE", ofVoid(JAVA_INT)); - ext.glDeleteVertexArraysAPPLE = load.invoke("glDeleteVertexArraysAPPLE", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenVertexArraysAPPLE = load.invoke("glGenVertexArraysAPPLE", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsVertexArrayAPPLE = load.invoke("glIsVertexArrayAPPLE", of(JAVA_BYTE, JAVA_INT)); - } - - public static void glBindVertexArrayAPPLE(int array) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindVertexArrayAPPLE).invokeExact(array); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteVertexArraysAPPLE(int n, @NativeType("const GLuint *") MemorySegment arrays) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteVertexArraysAPPLE).invokeExact(n, arrays); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenVertexArraysAPPLE(int n, @NativeType("GLuint *") MemorySegment arrays) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenVertexArraysAPPLE).invokeExact(n, arrays); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsVertexArrayAPPLE(int array) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsVertexArrayAPPLE).invokeExact(array); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAPPLEVertexArrayObject { + int GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5; + void glBindVertexArrayAPPLE(int array); + void glDeleteVertexArraysAPPLE(int n, @NativeType("const GLuint *") MemorySegment arrays); + void glGenVertexArraysAPPLE(int n, @NativeType("GLuint *") MemorySegment arrays); + boolean glIsVertexArrayAPPLE(int array); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java index 9c6be3d1..2fcea17a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java @@ -18,47 +18,20 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_vertex_array_range} */ -public final class GLAPPLEVertexArrayRange { - public static final int GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D; - public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; - public static final int GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; - public static final int GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; - public static final int GL_STORAGE_CLIENT_APPLE = 0x85B4; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_vertex_array_range) return; - ext.glVertexArrayRangeAPPLE = load.invoke("glVertexArrayRangeAPPLE", ofVoid(JAVA_INT, ADDRESS)); - ext.glFlushVertexArrayRangeAPPLE = load.invoke("glFlushVertexArrayRangeAPPLE", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexArrayParameteriAPPLE = load.invoke("glVertexArrayParameteriAPPLE", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glVertexArrayRangeAPPLE(int length, @NativeType("void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayRangeAPPLE).invokeExact(length, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFlushVertexArrayRangeAPPLE(int length, @NativeType("void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glFlushVertexArrayRangeAPPLE).invokeExact(length, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayParameteriAPPLE(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayParameteriAPPLE).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLAPPLEVertexArrayRange { + int GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D; + int GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; + int GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; + int GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; + int GL_STORAGE_CLIENT_APPLE = 0x85B4; + void glVertexArrayRangeAPPLE(int length, @NativeType("void *") MemorySegment pointer); + void glFlushVertexArrayRangeAPPLE(int length, @NativeType("void *") MemorySegment pointer); + void glVertexArrayParameteriAPPLE(int pname, int param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java index 4cb4bfa7..e1bf3ab5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java @@ -18,85 +18,29 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_vertex_program_evaluators} */ -public final class GLAPPLEVertexProgramEvaluators { - public static final int GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; - public static final int GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; - public static final int GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; - public static final int GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; - public static final int GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; - public static final int GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; - public static final int GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; - public static final int GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; - public static final int GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; - public static final int GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_APPLE_vertex_program_evaluators) return; - ext.glEnableVertexAttribAPPLE = load.invoke("glEnableVertexAttribAPPLE", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDisableVertexAttribAPPLE = load.invoke("glDisableVertexAttribAPPLE", ofVoid(JAVA_INT, JAVA_INT)); - ext.glIsVertexAttribEnabledAPPLE = load.invoke("glIsVertexAttribEnabledAPPLE", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); - ext.glMapVertexAttrib1dAPPLE = load.invoke("glMapVertexAttrib1dAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMapVertexAttrib1fAPPLE = load.invoke("glMapVertexAttrib1fAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMapVertexAttrib2dAPPLE = load.invoke("glMapVertexAttrib2dAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMapVertexAttrib2fAPPLE = load.invoke("glMapVertexAttrib2fAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glEnableVertexAttribAPPLE(int index, int pname) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableVertexAttribAPPLE).invokeExact(index, pname); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableVertexAttribAPPLE(int index, int pname) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableVertexAttribAPPLE).invokeExact(index, pname); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsVertexAttribEnabledAPPLE(int index, int pname) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsVertexAttribEnabledAPPLE).invokeExact(index, pname); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapVertexAttrib1dAPPLE(int index, int size, double u1, double u2, int stride, int order, @NativeType("const GLdouble *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapVertexAttrib1dAPPLE).invokeExact(index, size, u1, u2, stride, order, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapVertexAttrib1fAPPLE(int index, int size, float u1, float u2, int stride, int order, @NativeType("const GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapVertexAttrib1fAPPLE).invokeExact(index, size, u1, u2, stride, order, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapVertexAttrib2dAPPLE(int index, int size, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, @NativeType("const GLdouble *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapVertexAttrib2dAPPLE).invokeExact(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapVertexAttrib2fAPPLE(int index, int size, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, @NativeType("const GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapVertexAttrib2fAPPLE).invokeExact(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLAPPLEVertexProgramEvaluators { + int GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; + int GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; + int GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; + int GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; + int GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; + int GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; + int GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; + int GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; + int GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; + int GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; + + void glEnableVertexAttribAPPLE(int index, int pname); + void glDisableVertexAttribAPPLE(int index, int pname); + boolean glIsVertexAttribEnabledAPPLE(int index, int pname); + void glMapVertexAttrib1dAPPLE(int index, int size, double u1, double u2, int stride, int order, @NativeType("const GLdouble *") MemorySegment points); + void glMapVertexAttrib1fAPPLE(int index, int size, float u1, float u2, int stride, int order, @NativeType("const GLfloat *") MemorySegment points); + void glMapVertexAttrib2dAPPLE(int index, int size, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, @NativeType("const GLdouble *") MemorySegment points); + void glMapVertexAttrib2fAPPLE(int index, int size, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, @NativeType("const GLfloat *") MemorySegment points); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java index 398a9489..54c949ad 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.apple; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_APPLE_ycbcr_422} */ -public final class GLAPPLEYcbcr422 { - public static final int GL_YCBCR_422_APPLE = 0x85B9; +public interface GLAPPLEYcbcr422 { + int GL_YCBCR_422_APPLE = 0x85B9; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java index 85a1ba78..8a760a7a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java @@ -18,152 +18,29 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_bindless_texture} */ -public final class GLARBBindlessTexture { - public static final int GL_UNSIGNED_INT64_ARB = 0x140F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_bindless_texture) return; - ext.glGetTextureHandleARB = load.invoke("glGetTextureHandleARB", of(JAVA_LONG, JAVA_INT)); - ext.glGetTextureSamplerHandleARB = load.invoke("glGetTextureSamplerHandleARB", of(JAVA_LONG, JAVA_INT, JAVA_INT)); - ext.glMakeTextureHandleResidentARB = load.invoke("glMakeTextureHandleResidentARB", ofVoid(JAVA_LONG)); - ext.glMakeTextureHandleNonResidentARB = load.invoke("glMakeTextureHandleNonResidentARB", ofVoid(JAVA_LONG)); - ext.glGetImageHandleARB = load.invoke("glGetImageHandleARB", of(JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT)); - ext.glMakeImageHandleResidentARB = load.invoke("glMakeImageHandleResidentARB", ofVoid(JAVA_LONG, JAVA_INT)); - ext.glMakeImageHandleNonResidentARB = load.invoke("glMakeImageHandleNonResidentARB", ofVoid(JAVA_LONG)); - ext.glUniformHandleui64ARB = load.invoke("glUniformHandleui64ARB", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glUniformHandleui64vARB = load.invoke("glUniformHandleui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniformHandleui64ARB = load.invoke("glProgramUniformHandleui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glProgramUniformHandleui64vARB = load.invoke("glProgramUniformHandleui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glIsTextureHandleResidentARB = load.invoke("glIsTextureHandleResidentARB", of(JAVA_BYTE, JAVA_LONG)); - ext.glIsImageHandleResidentARB = load.invoke("glIsImageHandleResidentARB", of(JAVA_BYTE, JAVA_LONG)); - ext.glVertexAttribL1ui64ARB = load.invoke("glVertexAttribL1ui64ARB", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glVertexAttribL1ui64vARB = load.invoke("glVertexAttribL1ui64vARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetVertexAttribLui64vARB = load.invoke("glGetVertexAttribLui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static long glGetTextureHandleARB(int texture) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glGetTextureHandleARB).invokeExact(texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static long glGetTextureSamplerHandleARB(int texture, int sampler) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glGetTextureSamplerHandleARB).invokeExact(texture, sampler); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeTextureHandleResidentARB(long handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeTextureHandleResidentARB).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeTextureHandleNonResidentARB(long handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeTextureHandleNonResidentARB).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static long glGetImageHandleARB(int texture, int level, boolean layered, int layer, int format) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glGetImageHandleARB).invokeExact(texture, level, layered, layer, format); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeImageHandleResidentARB(long handle, int access) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeImageHandleResidentARB).invokeExact(handle, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeImageHandleNonResidentARB(long handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeImageHandleNonResidentARB).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformHandleui64ARB(int location, long value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformHandleui64ARB).invokeExact(location, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformHandleui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformHandleui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformHandleui64ARB(int program, int location, long value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformHandleui64ARB).invokeExact(program, location, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformHandleui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformHandleui64vARB).invokeExact(program, location, count, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsTextureHandleResidentARB(long handle) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsTextureHandleResidentARB).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsImageHandleResidentARB(long handle) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsImageHandleResidentARB).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL1ui64ARB(int index, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1ui64ARB).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL1ui64vARB(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1ui64vARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribLui64vARB(int index, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribLui64vARB).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBBindlessTexture { + int GL_UNSIGNED_INT64_ARB = 0x140F; + + long glGetTextureHandleARB(int texture); + long glGetTextureSamplerHandleARB(int texture, int sampler); + void glMakeTextureHandleResidentARB(long handle); + void glMakeTextureHandleNonResidentARB(long handle); + long glGetImageHandleARB(int texture, int level, boolean layered, int layer, int format); + void glMakeImageHandleResidentARB(long handle, int access); + void glMakeImageHandleNonResidentARB(long handle); + void glUniformHandleui64ARB(int location, long value); + void glUniformHandleui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glProgramUniformHandleui64ARB(int program, int location, long value); + void glProgramUniformHandleui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment values); + boolean glIsTextureHandleResidentARB(long handle); + boolean glIsImageHandleResidentARB(long handle); + void glVertexAttribL1ui64ARB(int index, long x); + void glVertexAttribL1ui64vARB(int index, @NativeType("const GLuint64EXT *") MemorySegment v); + void glGetVertexAttribLui64vARB(int index, int pname, @NativeType("GLuint64EXT *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java index 86a727a9..13a3ce5b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java @@ -18,29 +18,15 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_cl_event} */ -public final class GLARBCLEvent { - public static final int GL_SYNC_CL_EVENT_ARB = 0x8240; - public static final int GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_cl_event) return; - ext.glCreateSyncFromCLeventARB = load.invoke("glCreateSyncFromCLeventARB", of(ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); - } - - public static @NativeType("GLsync") MemorySegment glCreateSyncFromCLeventARB(@NativeType("struct _cl_context *") MemorySegment context, @NativeType("struct _cl_event *") MemorySegment event, int flags) { - final var ext = getExtCapabilities(); - try { - return (MemorySegment) - check(ext.glCreateSyncFromCLeventARB).invokeExact(context, event, flags); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBCLEvent { + int GL_SYNC_CL_EVENT_ARB = 0x8240; + int GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241; + @NativeType("GLsync") MemorySegment glCreateSyncFromCLeventARB(@NativeType("struct _cl_context *") MemorySegment context, @NativeType("struct _cl_event *") MemorySegment event, int flags); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java index 1181ef5f..00724ba8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java @@ -18,31 +18,18 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_color_buffer_float} */ -public final class GLARBColorBufferFloat { - public static final int GL_RGBA_FLOAT_MODE_ARB = 0x8820; - public static final int GL_CLAMP_VERTEX_COLOR_ARB = 0x891A; - public static final int GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B; - public static final int GL_CLAMP_READ_COLOR_ARB = 0x891C; - public static final int GL_FIXED_ONLY_ARB = 0x891D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_color_buffer_float) return; - ext.glClampColorARB = load.invoke("glClampColorARB", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glClampColorARB(int target, int clamp) { - final var ext = getExtCapabilities(); - try { - check(ext.glClampColorARB).invokeExact(target, clamp); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBColorBufferFloat { + int GL_RGBA_FLOAT_MODE_ARB = 0x8820; + int GL_CLAMP_VERTEX_COLOR_ARB = 0x891A; + int GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B; + int GL_CLAMP_READ_COLOR_ARB = 0x891C; + int GL_FIXED_ONLY_ARB = 0x891D; + void glClampColorARB(int target, int clamp); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java index c579e7b7..344e3376 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_compute_variable_group_size} */ -public final class GLARBComputeVariableGroupSize { - public static final int GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344; - public static final int GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB; - public static final int GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345; - public static final int GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_compute_variable_group_size) return; - ext.glDispatchComputeGroupSizeARB = load.invoke("glDispatchComputeGroupSizeARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glDispatchComputeGroupSizeARB(int num_groups_x, int num_groups_y, int num_groups_z, int group_size_x, int group_size_y, int group_size_z) { - final var ext = getExtCapabilities(); - try { - check(ext.glDispatchComputeGroupSizeARB).invokeExact(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBComputeVariableGroupSize { + int GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344; + int GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB; + int GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345; + int GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF; + void glDispatchComputeGroupSizeARB(int num_groups_x, int num_groups_y, int num_groups_z, int group_size_x, int group_size_y, int group_size_z); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java index 8d3a24de..2d785b54 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java @@ -18,77 +18,42 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_debug_output} */ -public final class GLARBDebugOutput { - public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242; - public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243; - public static final int GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244; - public static final int GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245; - public static final int GL_DEBUG_SOURCE_API_ARB = 0x8246; - public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247; - public static final int GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248; - public static final int GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249; - public static final int GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A; - public static final int GL_DEBUG_SOURCE_OTHER_ARB = 0x824B; - public static final int GL_DEBUG_TYPE_ERROR_ARB = 0x824C; - public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D; - public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E; - public static final int GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F; - public static final int GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250; - public static final int GL_DEBUG_TYPE_OTHER_ARB = 0x8251; - public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143; - public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144; - public static final int GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145; - public static final int GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146; - public static final int GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147; - public static final int GL_DEBUG_SEVERITY_LOW_ARB = 0x9148; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_debug_output) return; - ext.glDebugMessageControlARB = load.invoke("glDebugMessageControlARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_BYTE)); - ext.glDebugMessageInsertARB = load.invoke("glDebugMessageInsertARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDebugMessageCallbackARB = load.invoke("glDebugMessageCallbackARB", ofVoid(ADDRESS, ADDRESS)); - ext.glGetDebugMessageLogARB = load.invoke("glGetDebugMessageLogARB", of(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - } - - public static void glDebugMessageControlARB(int source, int type, int severity, int count, @NativeType("const GLuint *") MemorySegment ids, boolean enabled) { - final var ext = getExtCapabilities(); - try { - check(ext.glDebugMessageControlARB).invokeExact(source, type, severity, count, ids, enabled); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDebugMessageInsertARB(int source, int type, int id, int severity, int length, @NativeType("const GLchar *") MemorySegment buf) { - final var ext = getExtCapabilities(); - try { - check(ext.glDebugMessageInsertARB).invokeExact(source, type, id, severity, length, buf); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDebugMessageCallbackARB(@NativeType("GLDEBUGPROCARB") MemorySegment callback, @NativeType("const void *") MemorySegment userParam) { - final var ext = getExtCapabilities(); - try { - check(ext.glDebugMessageCallbackARB).invokeExact(callback, userParam); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDebugMessageCallbackARB(Arena arena, GLDebugProc callback, @NativeType("const void *") MemorySegment userParam) { +public interface GLARBDebugOutput { + int GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242; + int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243; + int GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244; + int GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245; + int GL_DEBUG_SOURCE_API_ARB = 0x8246; + int GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247; + int GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248; + int GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249; + int GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A; + int GL_DEBUG_SOURCE_OTHER_ARB = 0x824B; + int GL_DEBUG_TYPE_ERROR_ARB = 0x824C; + int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D; + int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E; + int GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F; + int GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250; + int GL_DEBUG_TYPE_OTHER_ARB = 0x8251; + int GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143; + int GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144; + int GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145; + int GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146; + int GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147; + int GL_DEBUG_SEVERITY_LOW_ARB = 0x9148; + + void glDebugMessageControlARB(int source, int type, int severity, int count, @NativeType("const GLuint *") MemorySegment ids, boolean enabled); + void glDebugMessageInsertARB(int source, int type, int id, int severity, int length, @NativeType("const GLchar *") MemorySegment buf); + void glDebugMessageCallbackARB(@NativeType("GLDEBUGPROCARB") MemorySegment callback, @NativeType("const void *") MemorySegment userParam); + @overrun.marshal.gen.Skip + default void glDebugMessageCallbackARB(Arena arena, overrungl.opengl.GLDebugProc callback, @NativeType("const void *") MemorySegment userParam) { glDebugMessageCallbackARB(callback.stub(arena), userParam); } - - public static int glGetDebugMessageLogARB(int count, int bufSize, @NativeType("GLenum *") MemorySegment sources, @NativeType("GLenum *") MemorySegment types, @NativeType("GLuint *") MemorySegment ids, @NativeType("GLenum *") MemorySegment severities, @NativeType("GLsizei *") MemorySegment lengths, @NativeType("GLchar *") MemorySegment messageLog) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetDebugMessageLogARB).invokeExact(count, bufSize, sources, types, ids, severities, lengths, messageLog); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - + int glGetDebugMessageLogARB(int count, int bufSize, @NativeType("GLenum *") MemorySegment sources, @NativeType("GLenum *") MemorySegment types, @NativeType("GLuint *") MemorySegment ids, @NativeType("GLenum *") MemorySegment severities, @NativeType("GLsizei *") MemorySegment lengths, @NativeType("GLchar *") MemorySegment messageLog); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java index 4edddeeb..1531431b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_depth_texture} */ -public final class GLARBDepthTexture { - public static final int GL_DEPTH_COMPONENT16_ARB = 0x81A5; - public static final int GL_DEPTH_COMPONENT24_ARB = 0x81A6; - public static final int GL_DEPTH_COMPONENT32_ARB = 0x81A7; - public static final int GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A; - public static final int GL_DEPTH_TEXTURE_MODE_ARB = 0x884B; +public interface GLARBDepthTexture { + int GL_DEPTH_COMPONENT16_ARB = 0x81A5; + int GL_DEPTH_COMPONENT24_ARB = 0x81A6; + int GL_DEPTH_COMPONENT32_ARB = 0x81A7; + int GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A; + int GL_DEPTH_TEXTURE_MODE_ARB = 0x884B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java index e18300a2..209d702c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java @@ -18,43 +18,30 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_draw_buffers} */ -public final class GLARBDrawBuffers { - public static final int GL_MAX_DRAW_BUFFERS_ARB = 0x8824; - public static final int GL_DRAW_BUFFER0_ARB = 0x8825; - public static final int GL_DRAW_BUFFER1_ARB = 0x8826; - public static final int GL_DRAW_BUFFER2_ARB = 0x8827; - public static final int GL_DRAW_BUFFER3_ARB = 0x8828; - public static final int GL_DRAW_BUFFER4_ARB = 0x8829; - public static final int GL_DRAW_BUFFER5_ARB = 0x882A; - public static final int GL_DRAW_BUFFER6_ARB = 0x882B; - public static final int GL_DRAW_BUFFER7_ARB = 0x882C; - public static final int GL_DRAW_BUFFER8_ARB = 0x882D; - public static final int GL_DRAW_BUFFER9_ARB = 0x882E; - public static final int GL_DRAW_BUFFER10_ARB = 0x882F; - public static final int GL_DRAW_BUFFER11_ARB = 0x8830; - public static final int GL_DRAW_BUFFER12_ARB = 0x8831; - public static final int GL_DRAW_BUFFER13_ARB = 0x8832; - public static final int GL_DRAW_BUFFER14_ARB = 0x8833; - public static final int GL_DRAW_BUFFER15_ARB = 0x8834; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_draw_buffers) return; - ext.glDrawBuffersARB = load.invoke("glDrawBuffersARB", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glDrawBuffersARB(int n, @NativeType("const GLenum *") MemorySegment bufs) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawBuffersARB).invokeExact(n, bufs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBDrawBuffers { + int GL_MAX_DRAW_BUFFERS_ARB = 0x8824; + int GL_DRAW_BUFFER0_ARB = 0x8825; + int GL_DRAW_BUFFER1_ARB = 0x8826; + int GL_DRAW_BUFFER2_ARB = 0x8827; + int GL_DRAW_BUFFER3_ARB = 0x8828; + int GL_DRAW_BUFFER4_ARB = 0x8829; + int GL_DRAW_BUFFER5_ARB = 0x882A; + int GL_DRAW_BUFFER6_ARB = 0x882B; + int GL_DRAW_BUFFER7_ARB = 0x882C; + int GL_DRAW_BUFFER8_ARB = 0x882D; + int GL_DRAW_BUFFER9_ARB = 0x882E; + int GL_DRAW_BUFFER10_ARB = 0x882F; + int GL_DRAW_BUFFER11_ARB = 0x8830; + int GL_DRAW_BUFFER12_ARB = 0x8831; + int GL_DRAW_BUFFER13_ARB = 0x8832; + int GL_DRAW_BUFFER14_ARB = 0x8833; + int GL_DRAW_BUFFER15_ARB = 0x8834; + void glDrawBuffersARB(int n, @NativeType("const GLenum *") MemorySegment bufs); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java index 07362c9c..6ea9b85d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java @@ -18,50 +18,16 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_draw_buffers_blend} */ -public final class GLARBDrawBuffersBlend { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_draw_buffers_blend) return; - ext.glBlendEquationiARB = load.invoke("glBlendEquationiARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glBlendEquationSeparateiARB = load.invoke("glBlendEquationSeparateiARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBlendFunciARB = load.invoke("glBlendFunciARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBlendFuncSeparateiARB = load.invoke("glBlendFuncSeparateiARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glBlendEquationiARB(int buf, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendEquationiARB).invokeExact(buf, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendEquationSeparateiARB(int buf, int modeRGB, int modeAlpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendEquationSeparateiARB).invokeExact(buf, modeRGB, modeAlpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendFunciARB(int buf, int src, int dst) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendFunciARB).invokeExact(buf, src, dst); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendFuncSeparateiARB(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendFuncSeparateiARB).invokeExact(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBDrawBuffersBlend { + void glBlendEquationiARB(int buf, int mode); + void glBlendEquationSeparateiARB(int buf, int modeRGB, int modeAlpha); + void glBlendFunciARB(int buf, int src, int dst); + void glBlendFuncSeparateiARB(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java index b1db3fae..598e1d20 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_draw_instanced} */ -public final class GLARBDrawInstanced { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_draw_instanced) return; - ext.glDrawArraysInstancedARB = load.invoke("glDrawArraysInstancedARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glDrawElementsInstancedARB = load.invoke("glDrawElementsInstancedARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - } - - public static void glDrawArraysInstancedARB(int mode, int first, int count, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawArraysInstancedARB).invokeExact(mode, first, count, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawElementsInstancedARB(int mode, int count, int type, @NativeType("const void *") MemorySegment indices, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawElementsInstancedARB).invokeExact(mode, count, type, indices, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBDrawInstanced { + void glDrawArraysInstancedARB(int mode, int first, int count, int primcount); + void glDrawElementsInstancedARB(int mode, int count, int type, @NativeType("const void *") MemorySegment indices, int primcount); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java index dbe2f2a2..b7c8b55f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_ES3_2_compatibility} */ -public final class GLARBES32Compatibility { - public static final int GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE; - public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381; - public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_ES3_2_compatibility) return; - ext.glPrimitiveBoundingBoxARB = load.invoke("glPrimitiveBoundingBoxARB", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - } - - public static void glPrimitiveBoundingBoxARB(float minX, float minY, float minZ, float minW, float maxX, float maxY, float maxZ, float maxW) { - final var ext = getExtCapabilities(); - try { - check(ext.glPrimitiveBoundingBoxARB).invokeExact(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBES32Compatibility { + int GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE; + int GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381; + int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; + void glPrimitiveBoundingBoxARB(float minX, float minY, float minZ, float minW, float maxX, float maxY, float maxZ, float maxW); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java index 61d07f40..1e0914ab 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java @@ -18,249 +18,109 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_fragment_program} */ -public final class GLARBFragmentProgram { - public static final int GL_FRAGMENT_PROGRAM_ARB = 0x8804; - public static final int GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; - public static final int GL_PROGRAM_LENGTH_ARB = 0x8627; - public static final int GL_PROGRAM_FORMAT_ARB = 0x8876; - public static final int GL_PROGRAM_BINDING_ARB = 0x8677; - public static final int GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; - public static final int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; - public static final int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; - public static final int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; - public static final int GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; - public static final int GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; - public static final int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; - public static final int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; - public static final int GL_PROGRAM_PARAMETERS_ARB = 0x88A8; - public static final int GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; - public static final int GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; - public static final int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; - public static final int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; - public static final int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; - public static final int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; - public static final int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; - public static final int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; - public static final int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; - public static final int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; - public static final int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; - public static final int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; - public static final int GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; - public static final int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; - public static final int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; - public static final int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; - public static final int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; - public static final int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; - public static final int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; - public static final int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; - public static final int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; - public static final int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; - public static final int GL_PROGRAM_STRING_ARB = 0x8628; - public static final int GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; - public static final int GL_CURRENT_MATRIX_ARB = 0x8641; - public static final int GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; - public static final int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; - public static final int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; - public static final int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; - public static final int GL_MAX_TEXTURE_COORDS_ARB = 0x8871; - public static final int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; - public static final int GL_PROGRAM_ERROR_STRING_ARB = 0x8874; - public static final int GL_MATRIX0_ARB = 0x88C0; - public static final int GL_MATRIX1_ARB = 0x88C1; - public static final int GL_MATRIX2_ARB = 0x88C2; - public static final int GL_MATRIX3_ARB = 0x88C3; - public static final int GL_MATRIX4_ARB = 0x88C4; - public static final int GL_MATRIX5_ARB = 0x88C5; - public static final int GL_MATRIX6_ARB = 0x88C6; - public static final int GL_MATRIX7_ARB = 0x88C7; - public static final int GL_MATRIX8_ARB = 0x88C8; - public static final int GL_MATRIX9_ARB = 0x88C9; - public static final int GL_MATRIX10_ARB = 0x88CA; - public static final int GL_MATRIX11_ARB = 0x88CB; - public static final int GL_MATRIX12_ARB = 0x88CC; - public static final int GL_MATRIX13_ARB = 0x88CD; - public static final int GL_MATRIX14_ARB = 0x88CE; - public static final int GL_MATRIX15_ARB = 0x88CF; - public static final int GL_MATRIX16_ARB = 0x88D0; - public static final int GL_MATRIX17_ARB = 0x88D1; - public static final int GL_MATRIX18_ARB = 0x88D2; - public static final int GL_MATRIX19_ARB = 0x88D3; - public static final int GL_MATRIX20_ARB = 0x88D4; - public static final int GL_MATRIX21_ARB = 0x88D5; - public static final int GL_MATRIX22_ARB = 0x88D6; - public static final int GL_MATRIX23_ARB = 0x88D7; - public static final int GL_MATRIX24_ARB = 0x88D8; - public static final int GL_MATRIX25_ARB = 0x88D9; - public static final int GL_MATRIX26_ARB = 0x88DA; - public static final int GL_MATRIX27_ARB = 0x88DB; - public static final int GL_MATRIX28_ARB = 0x88DC; - public static final int GL_MATRIX29_ARB = 0x88DD; - public static final int GL_MATRIX30_ARB = 0x88DE; - public static final int GL_MATRIX31_ARB = 0x88DF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_fragment_program) return; - ext.glProgramStringARB = load.invoke("glProgramStringARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glBindProgramARB = load.invoke("glBindProgramARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDeleteProgramsARB = load.invoke("glDeleteProgramsARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenProgramsARB = load.invoke("glGenProgramsARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glProgramEnvParameter4dARB = load.invoke("glProgramEnvParameter4dARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glProgramEnvParameter4dvARB = load.invoke("glProgramEnvParameter4dvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramEnvParameter4fARB = load.invoke("glProgramEnvParameter4fARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glProgramEnvParameter4fvARB = load.invoke("glProgramEnvParameter4fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramLocalParameter4dARB = load.invoke("glProgramLocalParameter4dARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glProgramLocalParameter4dvARB = load.invoke("glProgramLocalParameter4dvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramLocalParameter4fARB = load.invoke("glProgramLocalParameter4fARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glProgramLocalParameter4fvARB = load.invoke("glProgramLocalParameter4fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramEnvParameterdvARB = load.invoke("glGetProgramEnvParameterdvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramEnvParameterfvARB = load.invoke("glGetProgramEnvParameterfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramLocalParameterdvARB = load.invoke("glGetProgramLocalParameterdvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramLocalParameterfvARB = load.invoke("glGetProgramLocalParameterfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramivARB = load.invoke("glGetProgramivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramStringARB = load.invoke("glGetProgramStringARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glIsProgramARB = load.invoke("glIsProgramARB", of(JAVA_BYTE, JAVA_INT)); - } - - public static void glProgramStringARB(int target, int format, int len, @NativeType("const void *") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramStringARB).invokeExact(target, format, len, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindProgramARB(int target, int program) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindProgramARB).invokeExact(target, program); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteProgramsARB(int n, @NativeType("const GLuint *") MemorySegment programs) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteProgramsARB).invokeExact(n, programs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenProgramsARB(int n, @NativeType("GLuint *") MemorySegment programs) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenProgramsARB).invokeExact(n, programs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameter4dARB(int target, int index, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameter4dARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameter4dvARB(int target, int index, @NativeType("const GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameter4dvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameter4fARB(int target, int index, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameter4fARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameter4fvARB(int target, int index, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameter4fvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameter4dARB(int target, int index, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameter4dARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameter4dvARB(int target, int index, @NativeType("const GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameter4dvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameter4fARB(int target, int index, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameter4fARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameter4fvARB(int target, int index, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameter4fvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramEnvParameterdvARB(int target, int index, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramEnvParameterdvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramEnvParameterfvARB(int target, int index, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramEnvParameterfvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramLocalParameterdvARB(int target, int index, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramLocalParameterdvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramLocalParameterfvARB(int target, int index, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramLocalParameterfvARB).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramivARB(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramivARB).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramStringARB(int target, int pname, @NativeType("void *") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramStringARB).invokeExact(target, pname, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsProgramARB(int program) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsProgramARB).invokeExact(program); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBFragmentProgram { + int GL_FRAGMENT_PROGRAM_ARB = 0x8804; + int GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; + int GL_PROGRAM_LENGTH_ARB = 0x8627; + int GL_PROGRAM_FORMAT_ARB = 0x8876; + int GL_PROGRAM_BINDING_ARB = 0x8677; + int GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; + int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; + int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; + int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; + int GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; + int GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; + int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; + int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; + int GL_PROGRAM_PARAMETERS_ARB = 0x88A8; + int GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; + int GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; + int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; + int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; + int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; + int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; + int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; + int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; + int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; + int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; + int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; + int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; + int GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; + int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; + int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; + int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; + int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; + int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; + int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; + int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; + int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; + int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; + int GL_PROGRAM_STRING_ARB = 0x8628; + int GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; + int GL_CURRENT_MATRIX_ARB = 0x8641; + int GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; + int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; + int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; + int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; + int GL_MAX_TEXTURE_COORDS_ARB = 0x8871; + int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; + int GL_PROGRAM_ERROR_STRING_ARB = 0x8874; + int GL_MATRIX0_ARB = 0x88C0; + int GL_MATRIX1_ARB = 0x88C1; + int GL_MATRIX2_ARB = 0x88C2; + int GL_MATRIX3_ARB = 0x88C3; + int GL_MATRIX4_ARB = 0x88C4; + int GL_MATRIX5_ARB = 0x88C5; + int GL_MATRIX6_ARB = 0x88C6; + int GL_MATRIX7_ARB = 0x88C7; + int GL_MATRIX8_ARB = 0x88C8; + int GL_MATRIX9_ARB = 0x88C9; + int GL_MATRIX10_ARB = 0x88CA; + int GL_MATRIX11_ARB = 0x88CB; + int GL_MATRIX12_ARB = 0x88CC; + int GL_MATRIX13_ARB = 0x88CD; + int GL_MATRIX14_ARB = 0x88CE; + int GL_MATRIX15_ARB = 0x88CF; + int GL_MATRIX16_ARB = 0x88D0; + int GL_MATRIX17_ARB = 0x88D1; + int GL_MATRIX18_ARB = 0x88D2; + int GL_MATRIX19_ARB = 0x88D3; + int GL_MATRIX20_ARB = 0x88D4; + int GL_MATRIX21_ARB = 0x88D5; + int GL_MATRIX22_ARB = 0x88D6; + int GL_MATRIX23_ARB = 0x88D7; + int GL_MATRIX24_ARB = 0x88D8; + int GL_MATRIX25_ARB = 0x88D9; + int GL_MATRIX26_ARB = 0x88DA; + int GL_MATRIX27_ARB = 0x88DB; + int GL_MATRIX28_ARB = 0x88DC; + int GL_MATRIX29_ARB = 0x88DD; + int GL_MATRIX30_ARB = 0x88DE; + int GL_MATRIX31_ARB = 0x88DF; + + void glProgramStringARB(int target, int format, int len, @NativeType("const void *") MemorySegment string); + void glBindProgramARB(int target, int program); + void glDeleteProgramsARB(int n, @NativeType("const GLuint *") MemorySegment programs); + void glGenProgramsARB(int n, @NativeType("GLuint *") MemorySegment programs); + void glProgramEnvParameter4dARB(int target, int index, double x, double y, double z, double w); + void glProgramEnvParameter4dvARB(int target, int index, @NativeType("const GLdouble *") MemorySegment params); + void glProgramEnvParameter4fARB(int target, int index, float x, float y, float z, float w); + void glProgramEnvParameter4fvARB(int target, int index, @NativeType("const GLfloat *") MemorySegment params); + void glProgramLocalParameter4dARB(int target, int index, double x, double y, double z, double w); + void glProgramLocalParameter4dvARB(int target, int index, @NativeType("const GLdouble *") MemorySegment params); + void glProgramLocalParameter4fARB(int target, int index, float x, float y, float z, float w); + void glProgramLocalParameter4fvARB(int target, int index, @NativeType("const GLfloat *") MemorySegment params); + void glGetProgramEnvParameterdvARB(int target, int index, @NativeType("GLdouble *") MemorySegment params); + void glGetProgramEnvParameterfvARB(int target, int index, @NativeType("GLfloat *") MemorySegment params); + void glGetProgramLocalParameterdvARB(int target, int index, @NativeType("GLdouble *") MemorySegment params); + void glGetProgramLocalParameterfvARB(int target, int index, @NativeType("GLfloat *") MemorySegment params); + void glGetProgramivARB(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetProgramStringARB(int target, int pname, @NativeType("void *") MemorySegment string); + boolean glIsProgramARB(int program); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java index 9e414821..ce3272f9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_fragment_shader} */ -public final class GLARBFragmentShader { - public static final int GL_FRAGMENT_SHADER_ARB = 0x8B30; - public static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; - public static final int GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; +public interface GLARBFragmentShader { + int GL_FRAGMENT_SHADER_ARB = 0x8B30; + int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; + int GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java index c00670ef..05d54f02 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_gl_spirv} */ -public final class GLARBGLSpirv { - public static final int GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551; - public static final int GL_SPIR_V_BINARY_ARB = 0x9552; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_gl_spirv) return; - ext.glSpecializeShaderARB = load.invoke("glSpecializeShaderARB", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glSpecializeShaderARB(int shader, @NativeType("const GLchar *") MemorySegment pEntryPoint, int numSpecializationConstants, @NativeType("const GLuint *") MemorySegment pConstantIndex, @NativeType("const GLuint *") MemorySegment pConstantValue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSpecializeShaderARB).invokeExact(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBGLSpirv { + int GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551; + int GL_SPIR_V_BINARY_ARB = 0x9552; + void glSpecializeShaderARB(int shader, @NativeType("const GLchar *") MemorySegment pEntryPoint, int numSpecializationConstants, @NativeType("const GLuint *") MemorySegment pConstantIndex, @NativeType("const GLuint *") MemorySegment pConstantValue); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java index a2e61f4a..0f340104 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java @@ -18,68 +18,34 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_geometry_shader4} */ -public final class GLARBGeometryShader4 { - public static final int GL_LINES_ADJACENCY_ARB = 0x000A; - public static final int GL_LINE_STRIP_ADJACENCY_ARB = 0x000B; - public static final int GL_TRIANGLES_ADJACENCY_ARB = 0x000C; - public static final int GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D; - public static final int GL_PROGRAM_POINT_SIZE_ARB = 0x8642; - public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29; - public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7; - public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8; - public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9; - public static final int GL_GEOMETRY_SHADER_ARB = 0x8DD9; - public static final int GL_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA; - public static final int GL_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB; - public static final int GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC; - public static final int GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD; - public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE; - public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF; - public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0; - public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_geometry_shader4) return; - ext.glProgramParameteriARB = load.invoke("glProgramParameteriARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFramebufferTextureARB = load.invoke("glFramebufferTextureARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFramebufferTextureLayerARB = load.invoke("glFramebufferTextureLayerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFramebufferTextureFaceARB = load.invoke("glFramebufferTextureFaceARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glProgramParameteriARB(int program, int pname, int value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameteriARB).invokeExact(program, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTextureARB(int target, int attachment, int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTextureARB).invokeExact(target, attachment, texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTextureLayerARB(int target, int attachment, int texture, int level, int layer) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTextureLayerARB).invokeExact(target, attachment, texture, level, layer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTextureFaceARB(int target, int attachment, int texture, int level, int face) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTextureFaceARB).invokeExact(target, attachment, texture, level, face); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBGeometryShader4 { + int GL_LINES_ADJACENCY_ARB = 0x000A; + int GL_LINE_STRIP_ADJACENCY_ARB = 0x000B; + int GL_TRIANGLES_ADJACENCY_ARB = 0x000C; + int GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D; + int GL_PROGRAM_POINT_SIZE_ARB = 0x8642; + int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29; + int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7; + int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8; + int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9; + int GL_GEOMETRY_SHADER_ARB = 0x8DD9; + int GL_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA; + int GL_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB; + int GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC; + int GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD; + int GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE; + int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF; + int GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0; + int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1; + + void glProgramParameteriARB(int program, int pname, int value); + void glFramebufferTextureARB(int target, int attachment, int texture, int level); + void glFramebufferTextureLayerARB(int target, int attachment, int texture, int level, int layer); + void glFramebufferTextureFaceARB(int target, int attachment, int texture, int level, int face); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java index 366af38e..938da543 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java @@ -18,313 +18,55 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_gpu_shader_int64} */ -public final class GLARBGpuShaderInt64 { - public static final int GL_INT64_ARB = 0x140E; - public static final int GL_INT64_VEC2_ARB = 0x8FE9; - public static final int GL_INT64_VEC3_ARB = 0x8FEA; - public static final int GL_INT64_VEC4_ARB = 0x8FEB; - public static final int GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5; - public static final int GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6; - public static final int GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_gpu_shader_int64) return; - ext.glUniform1i64ARB = load.invoke("glUniform1i64ARB", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glUniform2i64ARB = load.invoke("glUniform2i64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glUniform3i64ARB = load.invoke("glUniform3i64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform4i64ARB = load.invoke("glUniform4i64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform1i64vARB = load.invoke("glUniform1i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform2i64vARB = load.invoke("glUniform2i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform3i64vARB = load.invoke("glUniform3i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform4i64vARB = load.invoke("glUniform4i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform1ui64ARB = load.invoke("glUniform1ui64ARB", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glUniform2ui64ARB = load.invoke("glUniform2ui64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glUniform3ui64ARB = load.invoke("glUniform3ui64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform4ui64ARB = load.invoke("glUniform4ui64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glUniform1ui64vARB = load.invoke("glUniform1ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform2ui64vARB = load.invoke("glUniform2ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform3ui64vARB = load.invoke("glUniform3ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform4ui64vARB = load.invoke("glUniform4ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetUniformi64vARB = load.invoke("glGetUniformi64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetUniformui64vARB = load.invoke("glGetUniformui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetnUniformi64vARB = load.invoke("glGetnUniformi64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetnUniformui64vARB = load.invoke("glGetnUniformui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform1i64ARB = load.invoke("glProgramUniform1i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glProgramUniform2i64ARB = load.invoke("glProgramUniform2i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform3i64ARB = load.invoke("glProgramUniform3i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform4i64ARB = load.invoke("glProgramUniform4i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform1i64vARB = load.invoke("glProgramUniform1i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2i64vARB = load.invoke("glProgramUniform2i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3i64vARB = load.invoke("glProgramUniform3i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4i64vARB = load.invoke("glProgramUniform4i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform1ui64ARB = load.invoke("glProgramUniform1ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glProgramUniform2ui64ARB = load.invoke("glProgramUniform2ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform3ui64ARB = load.invoke("glProgramUniform3ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform4ui64ARB = load.invoke("glProgramUniform4ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glProgramUniform1ui64vARB = load.invoke("glProgramUniform1ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2ui64vARB = load.invoke("glProgramUniform2ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3ui64vARB = load.invoke("glProgramUniform3ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4ui64vARB = load.invoke("glProgramUniform4ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glUniform1i64ARB(int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1i64ARB).invokeExact(location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2i64ARB(int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2i64ARB).invokeExact(location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3i64ARB(int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3i64ARB).invokeExact(location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4i64ARB(int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4i64ARB).invokeExact(location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1ui64ARB(int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1ui64ARB).invokeExact(location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2ui64ARB(int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2ui64ARB).invokeExact(location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3ui64ARB(int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3ui64ARB).invokeExact(location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4ui64ARB(int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4ui64ARB).invokeExact(location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetUniformi64vARB(int program, int location, @NativeType("GLint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUniformi64vARB).invokeExact(program, location, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetUniformui64vARB(int program, int location, @NativeType("GLuint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUniformui64vARB).invokeExact(program, location, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnUniformi64vARB(int program, int location, int bufSize, @NativeType("GLint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnUniformi64vARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnUniformui64vARB(int program, int location, int bufSize, @NativeType("GLuint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnUniformui64vARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1i64ARB(int program, int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1i64ARB).invokeExact(program, location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2i64ARB(int program, int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2i64ARB).invokeExact(program, location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3i64ARB(int program, int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3i64ARB).invokeExact(program, location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4i64ARB(int program, int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4i64ARB).invokeExact(program, location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1ui64ARB(int program, int location, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1ui64ARB).invokeExact(program, location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2ui64ARB(int program, int location, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2ui64ARB).invokeExact(program, location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3ui64ARB(int program, int location, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3ui64ARB).invokeExact(program, location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4ui64ARB(int program, int location, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4ui64ARB).invokeExact(program, location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBGpuShaderInt64 { + int GL_INT64_ARB = 0x140E; + int GL_INT64_VEC2_ARB = 0x8FE9; + int GL_INT64_VEC3_ARB = 0x8FEA; + int GL_INT64_VEC4_ARB = 0x8FEB; + int GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5; + int GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6; + int GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7; + + void glUniform1i64ARB(int location, long x); + void glUniform2i64ARB(int location, long x, long y); + void glUniform3i64ARB(int location, long x, long y, long z); + void glUniform4i64ARB(int location, long x, long y, long z, long w); + void glUniform1i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glUniform2i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glUniform3i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glUniform4i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glUniform1ui64ARB(int location, long x); + void glUniform2ui64ARB(int location, long x, long y); + void glUniform3ui64ARB(int location, long x, long y, long z); + void glUniform4ui64ARB(int location, long x, long y, long z, long w); + void glUniform1ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glUniform2ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glUniform3ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glUniform4ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glGetUniformi64vARB(int program, int location, @NativeType("GLint64 *") MemorySegment params); + void glGetUniformui64vARB(int program, int location, @NativeType("GLuint64 *") MemorySegment params); + void glGetnUniformi64vARB(int program, int location, int bufSize, @NativeType("GLint64 *") MemorySegment params); + void glGetnUniformui64vARB(int program, int location, int bufSize, @NativeType("GLuint64 *") MemorySegment params); + void glProgramUniform1i64ARB(int program, int location, long x); + void glProgramUniform2i64ARB(int program, int location, long x, long y); + void glProgramUniform3i64ARB(int program, int location, long x, long y, long z); + void glProgramUniform4i64ARB(int program, int location, long x, long y, long z, long w); + void glProgramUniform1i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glProgramUniform2i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glProgramUniform3i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glProgramUniform4i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value); + void glProgramUniform1ui64ARB(int program, int location, long x); + void glProgramUniform2ui64ARB(int program, int location, long x, long y); + void glProgramUniform3ui64ARB(int program, int location, long x, long y, long z); + void glProgramUniform4ui64ARB(int program, int location, long x, long y, long z, long w); + void glProgramUniform1ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glProgramUniform2ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glProgramUniform3ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glProgramUniform4ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java index a7531247..b65c5a16 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_half_float_pixel} */ -public final class GLARBHalfFloatPixel { - public static final int GL_HALF_FLOAT_ARB = 0x140B; +public interface GLARBHalfFloatPixel { + int GL_HALF_FLOAT_ARB = 0x140B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java index 67ca262a..36b081e0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java @@ -18,326 +18,96 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_imaging} */ -public final class GLARBImaging { - public static final int GL_CONVOLUTION_BORDER_MODE = 0x8013; - public static final int GL_CONVOLUTION_FILTER_SCALE = 0x8014; - public static final int GL_CONVOLUTION_FILTER_BIAS = 0x8015; - public static final int GL_REDUCE = 0x8016; - public static final int GL_CONVOLUTION_FORMAT = 0x8017; - public static final int GL_CONVOLUTION_WIDTH = 0x8018; - public static final int GL_CONVOLUTION_HEIGHT = 0x8019; - public static final int GL_MAX_CONVOLUTION_WIDTH = 0x801A; - public static final int GL_MAX_CONVOLUTION_HEIGHT = 0x801B; - public static final int GL_POST_CONVOLUTION_RED_SCALE = 0x801C; - public static final int GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D; - public static final int GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E; - public static final int GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F; - public static final int GL_POST_CONVOLUTION_RED_BIAS = 0x8020; - public static final int GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021; - public static final int GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022; - public static final int GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023; - public static final int GL_HISTOGRAM_WIDTH = 0x8026; - public static final int GL_HISTOGRAM_FORMAT = 0x8027; - public static final int GL_HISTOGRAM_RED_SIZE = 0x8028; - public static final int GL_HISTOGRAM_GREEN_SIZE = 0x8029; - public static final int GL_HISTOGRAM_BLUE_SIZE = 0x802A; - public static final int GL_HISTOGRAM_ALPHA_SIZE = 0x802B; - public static final int GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C; - public static final int GL_HISTOGRAM_SINK = 0x802D; - public static final int GL_MINMAX_FORMAT = 0x802F; - public static final int GL_MINMAX_SINK = 0x8030; - public static final int GL_TABLE_TOO_LARGE = 0x8031; - public static final int GL_COLOR_MATRIX = 0x80B1; - public static final int GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2; - public static final int GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3; - public static final int GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4; - public static final int GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5; - public static final int GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6; - public static final int GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7; - public static final int GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8; - public static final int GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9; - public static final int GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA; - public static final int GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB; - public static final int GL_COLOR_TABLE_SCALE = 0x80D6; - public static final int GL_COLOR_TABLE_BIAS = 0x80D7; - public static final int GL_COLOR_TABLE_FORMAT = 0x80D8; - public static final int GL_COLOR_TABLE_WIDTH = 0x80D9; - public static final int GL_COLOR_TABLE_RED_SIZE = 0x80DA; - public static final int GL_COLOR_TABLE_GREEN_SIZE = 0x80DB; - public static final int GL_COLOR_TABLE_BLUE_SIZE = 0x80DC; - public static final int GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD; - public static final int GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE; - public static final int GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF; - public static final int GL_CONSTANT_BORDER = 0x8151; - public static final int GL_REPLICATE_BORDER = 0x8153; - public static final int GL_CONVOLUTION_BORDER_COLOR = 0x8154; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_imaging) return; - ext.glColorTable = load.invoke("glColorTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glColorTableParameterfv = load.invoke("glColorTableParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glColorTableParameteriv = load.invoke("glColorTableParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyColorTable = load.invoke("glCopyColorTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetColorTable = load.invoke("glGetColorTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetColorTableParameterfv = load.invoke("glGetColorTableParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetColorTableParameteriv = load.invoke("glGetColorTableParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glColorSubTable = load.invoke("glColorSubTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyColorSubTable = load.invoke("glCopyColorSubTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glConvolutionFilter1D = load.invoke("glConvolutionFilter1D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glConvolutionFilter2D = load.invoke("glConvolutionFilter2D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glConvolutionParameterf = load.invoke("glConvolutionParameterf", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glConvolutionParameterfv = load.invoke("glConvolutionParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glConvolutionParameteri = load.invoke("glConvolutionParameteri", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glConvolutionParameteriv = load.invoke("glConvolutionParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyConvolutionFilter1D = load.invoke("glCopyConvolutionFilter1D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyConvolutionFilter2D = load.invoke("glCopyConvolutionFilter2D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetConvolutionFilter = load.invoke("glGetConvolutionFilter", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetConvolutionParameterfv = load.invoke("glGetConvolutionParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetConvolutionParameteriv = load.invoke("glGetConvolutionParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetSeparableFilter = load.invoke("glGetSeparableFilter", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS)); - ext.glSeparableFilter2D = load.invoke("glSeparableFilter2D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetHistogram = load.invoke("glGetHistogram", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetHistogramParameterfv = load.invoke("glGetHistogramParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetHistogramParameteriv = load.invoke("glGetHistogramParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMinmax = load.invoke("glGetMinmax", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMinmaxParameterfv = load.invoke("glGetMinmaxParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMinmaxParameteriv = load.invoke("glGetMinmaxParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glHistogram = load.invoke("glHistogram", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glMinmax = load.invoke("glMinmax", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glResetHistogram = load.invoke("glResetHistogram", ofVoid(JAVA_INT)); - ext.glResetMinmax = load.invoke("glResetMinmax", ofVoid(JAVA_INT)); - } - - public static void glColorTable(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment table) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorTable).invokeExact(target, internalformat, width, format, type, table); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorTableParameterfv(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorTableParameterfv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorTableParameteriv(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorTableParameteriv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyColorTable(int target, int internalformat, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyColorTable).invokeExact(target, internalformat, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTable(int target, int format, int type, @NativeType("void *") MemorySegment table) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTable).invokeExact(target, format, type, table); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableParameterfv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableParameteriv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorSubTable(int target, int start, int count, int format, int type, @NativeType("const void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorSubTable).invokeExact(target, start, count, format, type, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyColorSubTable(int target, int start, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyColorSubTable).invokeExact(target, start, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment image) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionFilter1D).invokeExact(target, internalformat, width, format, type, image); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment image) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionFilter2D).invokeExact(target, internalformat, width, height, format, type, image); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameterf(int target, int pname, float params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameterf).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameterfv(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameterfv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameteri(int target, int pname, int params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameteri).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameteriv(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameteriv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyConvolutionFilter1D).invokeExact(target, internalformat, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyConvolutionFilter2D).invokeExact(target, internalformat, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetConvolutionFilter(int target, int format, int type, @NativeType("void *") MemorySegment image) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetConvolutionFilter).invokeExact(target, format, type, image); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetConvolutionParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetConvolutionParameterfv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetConvolutionParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetConvolutionParameteriv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetSeparableFilter(int target, int format, int type, @NativeType("void *") MemorySegment row, @NativeType("void *") MemorySegment column, @NativeType("void *") MemorySegment span) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetSeparableFilter).invokeExact(target, format, type, row, column, span); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment row, @NativeType("const void *") MemorySegment column) { - final var ext = getExtCapabilities(); - try { - check(ext.glSeparableFilter2D).invokeExact(target, internalformat, width, height, format, type, row, column); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetHistogram(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetHistogram).invokeExact(target, reset, format, type, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetHistogramParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetHistogramParameterfv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetHistogramParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetHistogramParameteriv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMinmax(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMinmax).invokeExact(target, reset, format, type, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMinmaxParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMinmaxParameterfv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMinmaxParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMinmaxParameteriv).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glHistogram(int target, int width, int internalformat, boolean sink) { - final var ext = getExtCapabilities(); - try { - check(ext.glHistogram).invokeExact(target, width, internalformat, sink); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMinmax(int target, int internalformat, boolean sink) { - final var ext = getExtCapabilities(); - try { - check(ext.glMinmax).invokeExact(target, internalformat, sink); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glResetHistogram(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glResetHistogram).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glResetMinmax(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glResetMinmax).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBImaging { + int GL_CONVOLUTION_BORDER_MODE = 0x8013; + int GL_CONVOLUTION_FILTER_SCALE = 0x8014; + int GL_CONVOLUTION_FILTER_BIAS = 0x8015; + int GL_REDUCE = 0x8016; + int GL_CONVOLUTION_FORMAT = 0x8017; + int GL_CONVOLUTION_WIDTH = 0x8018; + int GL_CONVOLUTION_HEIGHT = 0x8019; + int GL_MAX_CONVOLUTION_WIDTH = 0x801A; + int GL_MAX_CONVOLUTION_HEIGHT = 0x801B; + int GL_POST_CONVOLUTION_RED_SCALE = 0x801C; + int GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D; + int GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E; + int GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F; + int GL_POST_CONVOLUTION_RED_BIAS = 0x8020; + int GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021; + int GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022; + int GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023; + int GL_HISTOGRAM_WIDTH = 0x8026; + int GL_HISTOGRAM_FORMAT = 0x8027; + int GL_HISTOGRAM_RED_SIZE = 0x8028; + int GL_HISTOGRAM_GREEN_SIZE = 0x8029; + int GL_HISTOGRAM_BLUE_SIZE = 0x802A; + int GL_HISTOGRAM_ALPHA_SIZE = 0x802B; + int GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C; + int GL_HISTOGRAM_SINK = 0x802D; + int GL_MINMAX_FORMAT = 0x802F; + int GL_MINMAX_SINK = 0x8030; + int GL_TABLE_TOO_LARGE = 0x8031; + int GL_COLOR_MATRIX = 0x80B1; + int GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2; + int GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3; + int GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4; + int GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5; + int GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6; + int GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7; + int GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8; + int GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9; + int GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA; + int GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB; + int GL_COLOR_TABLE_SCALE = 0x80D6; + int GL_COLOR_TABLE_BIAS = 0x80D7; + int GL_COLOR_TABLE_FORMAT = 0x80D8; + int GL_COLOR_TABLE_WIDTH = 0x80D9; + int GL_COLOR_TABLE_RED_SIZE = 0x80DA; + int GL_COLOR_TABLE_GREEN_SIZE = 0x80DB; + int GL_COLOR_TABLE_BLUE_SIZE = 0x80DC; + int GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD; + int GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE; + int GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF; + int GL_CONSTANT_BORDER = 0x8151; + int GL_REPLICATE_BORDER = 0x8153; + int GL_CONVOLUTION_BORDER_COLOR = 0x8154; + + void glColorTable(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment table); + void glColorTableParameterfv(int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glColorTableParameteriv(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glCopyColorTable(int target, int internalformat, int x, int y, int width); + void glGetColorTable(int target, int format, int type, @NativeType("void *") MemorySegment table); + void glGetColorTableParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetColorTableParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glColorSubTable(int target, int start, int count, int format, int type, @NativeType("const void *") MemorySegment data); + void glCopyColorSubTable(int target, int start, int x, int y, int width); + void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment image); + void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment image); + void glConvolutionParameterf(int target, int pname, float params); + void glConvolutionParameterfv(int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glConvolutionParameteri(int target, int pname, int params); + void glConvolutionParameteriv(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width); + void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height); + void glGetConvolutionFilter(int target, int format, int type, @NativeType("void *") MemorySegment image); + void glGetConvolutionParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetConvolutionParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetSeparableFilter(int target, int format, int type, @NativeType("void *") MemorySegment row, @NativeType("void *") MemorySegment column, @NativeType("void *") MemorySegment span); + void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment row, @NativeType("const void *") MemorySegment column); + void glGetHistogram(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values); + void glGetHistogramParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetHistogramParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetMinmax(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values); + void glGetMinmaxParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetMinmaxParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glHistogram(int target, int width, int internalformat, boolean sink); + void glMinmax(int target, int internalformat, boolean sink); + void glResetHistogram(int target); + void glResetMinmax(int target); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java index 366db1d4..14a79872 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java @@ -18,36 +18,16 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_indirect_parameters} */ -public final class GLARBIndirectParameters { - public static final int GL_PARAMETER_BUFFER_ARB = 0x80EE; - public static final int GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_indirect_parameters) return; - ext.glMultiDrawArraysIndirectCountARB = load.invoke("glMultiDrawArraysIndirectCountARB", ofVoid(JAVA_INT, ADDRESS, JAVA_LONG, JAVA_INT, JAVA_INT)); - ext.glMultiDrawElementsIndirectCountARB = load.invoke("glMultiDrawElementsIndirectCountARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_LONG, JAVA_INT, JAVA_INT)); - } - - public static void glMultiDrawArraysIndirectCountARB(int mode, @NativeType("const void *") MemorySegment indirect, long drawcount, int maxdrawcount, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawArraysIndirectCountARB).invokeExact(mode, indirect, drawcount, maxdrawcount, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawElementsIndirectCountARB(int mode, int type, @NativeType("const void *") MemorySegment indirect, long drawcount, int maxdrawcount, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawElementsIndirectCountARB).invokeExact(mode, type, indirect, drawcount, maxdrawcount, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBIndirectParameters { + int GL_PARAMETER_BUFFER_ARB = 0x80EE; + int GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF; + void glMultiDrawArraysIndirectCountARB(int mode, @NativeType("const void *") MemorySegment indirect, long drawcount, int maxdrawcount, int stride); + void glMultiDrawElementsIndirectCountARB(int mode, int type, @NativeType("const void *") MemorySegment indirect, long drawcount, int maxdrawcount, int stride); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java index 0fa02483..2cc7b900 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java @@ -18,27 +18,14 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_instanced_arrays} */ -public final class GLARBInstancedArrays { - public static final int GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_instanced_arrays) return; - ext.glVertexAttribDivisorARB = load.invoke("glVertexAttribDivisorARB", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glVertexAttribDivisorARB(int index, int divisor) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribDivisorARB).invokeExact(index, divisor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBInstancedArrays { + int GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE; + void glVertexAttribDivisorARB(int index, int divisor); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java index 28a501bc..6ef86dd3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java @@ -18,34 +18,31 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_internalformat_query2} */ -public final class GLARBInternalformatQuery2 { - public static final int GL_SRGB_DECODE_ARB = 0x8299; - public static final int GL_VIEW_CLASS_EAC_R11 = 0x9383; - public static final int GL_VIEW_CLASS_EAC_RG11 = 0x9384; - public static final int GL_VIEW_CLASS_ETC2_RGB = 0x9385; - public static final int GL_VIEW_CLASS_ETC2_RGBA = 0x9386; - public static final int GL_VIEW_CLASS_ETC2_EAC_RGBA = 0x9387; - public static final int GL_VIEW_CLASS_ASTC_4x4_RGBA = 0x9388; - public static final int GL_VIEW_CLASS_ASTC_5x4_RGBA = 0x9389; - public static final int GL_VIEW_CLASS_ASTC_5x5_RGBA = 0x938A; - public static final int GL_VIEW_CLASS_ASTC_6x5_RGBA = 0x938B; - public static final int GL_VIEW_CLASS_ASTC_6x6_RGBA = 0x938C; - public static final int GL_VIEW_CLASS_ASTC_8x5_RGBA = 0x938D; - public static final int GL_VIEW_CLASS_ASTC_8x6_RGBA = 0x938E; - public static final int GL_VIEW_CLASS_ASTC_8x8_RGBA = 0x938F; - public static final int GL_VIEW_CLASS_ASTC_10x5_RGBA = 0x9390; - public static final int GL_VIEW_CLASS_ASTC_10x6_RGBA = 0x9391; - public static final int GL_VIEW_CLASS_ASTC_10x8_RGBA = 0x9392; - public static final int GL_VIEW_CLASS_ASTC_10x10_RGBA = 0x9393; - public static final int GL_VIEW_CLASS_ASTC_12x10_RGBA = 0x9394; - public static final int GL_VIEW_CLASS_ASTC_12x12_RGBA = 0x9395; +public interface GLARBInternalformatQuery2 { + int GL_SRGB_DECODE_ARB = 0x8299; + int GL_VIEW_CLASS_EAC_R11 = 0x9383; + int GL_VIEW_CLASS_EAC_RG11 = 0x9384; + int GL_VIEW_CLASS_ETC2_RGB = 0x9385; + int GL_VIEW_CLASS_ETC2_RGBA = 0x9386; + int GL_VIEW_CLASS_ETC2_EAC_RGBA = 0x9387; + int GL_VIEW_CLASS_ASTC_4x4_RGBA = 0x9388; + int GL_VIEW_CLASS_ASTC_5x4_RGBA = 0x9389; + int GL_VIEW_CLASS_ASTC_5x5_RGBA = 0x938A; + int GL_VIEW_CLASS_ASTC_6x5_RGBA = 0x938B; + int GL_VIEW_CLASS_ASTC_6x6_RGBA = 0x938C; + int GL_VIEW_CLASS_ASTC_8x5_RGBA = 0x938D; + int GL_VIEW_CLASS_ASTC_8x6_RGBA = 0x938E; + int GL_VIEW_CLASS_ASTC_8x8_RGBA = 0x938F; + int GL_VIEW_CLASS_ASTC_10x5_RGBA = 0x9390; + int GL_VIEW_CLASS_ASTC_10x6_RGBA = 0x9391; + int GL_VIEW_CLASS_ASTC_10x8_RGBA = 0x9392; + int GL_VIEW_CLASS_ASTC_10x10_RGBA = 0x9393; + int GL_VIEW_CLASS_ASTC_12x10_RGBA = 0x9394; + int GL_VIEW_CLASS_ASTC_12x12_RGBA = 0x9395; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java index 4ec72c5d..8cf2e932 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java @@ -18,68 +18,27 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_matrix_palette} */ -public final class GLARBMatrixPalette { - public static final int GL_MATRIX_PALETTE_ARB = 0x8840; - public static final int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; - public static final int GL_MAX_PALETTE_MATRICES_ARB = 0x8842; - public static final int GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843; - public static final int GL_MATRIX_INDEX_ARRAY_ARB = 0x8844; - public static final int GL_CURRENT_MATRIX_INDEX_ARB = 0x8845; - public static final int GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; - public static final int GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; - public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; - public static final int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_matrix_palette) return; - ext.glCurrentPaletteMatrixARB = load.invoke("glCurrentPaletteMatrixARB", ofVoid(JAVA_INT)); - ext.glMatrixIndexubvARB = load.invoke("glMatrixIndexubvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixIndexusvARB = load.invoke("glMatrixIndexusvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixIndexuivARB = load.invoke("glMatrixIndexuivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixIndexPointerARB = load.invoke("glMatrixIndexPointerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glCurrentPaletteMatrixARB(int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glCurrentPaletteMatrixARB).invokeExact(index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixIndexubvARB(int size, @NativeType("const GLubyte *") MemorySegment indices) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixIndexubvARB).invokeExact(size, indices); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixIndexusvARB(int size, @NativeType("const GLushort *") MemorySegment indices) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixIndexusvARB).invokeExact(size, indices); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixIndexuivARB(int size, @NativeType("const GLuint *") MemorySegment indices) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixIndexuivARB).invokeExact(size, indices); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixIndexPointerARB(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixIndexPointerARB).invokeExact(size, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBMatrixPalette { + int GL_MATRIX_PALETTE_ARB = 0x8840; + int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; + int GL_MAX_PALETTE_MATRICES_ARB = 0x8842; + int GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843; + int GL_MATRIX_INDEX_ARRAY_ARB = 0x8844; + int GL_CURRENT_MATRIX_INDEX_ARB = 0x8845; + int GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; + int GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; + int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; + int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; + + void glCurrentPaletteMatrixARB(int index); + void glMatrixIndexubvARB(int size, @NativeType("const GLubyte *") MemorySegment indices); + void glMatrixIndexusvARB(int size, @NativeType("const GLushort *") MemorySegment indices); + void glMatrixIndexuivARB(int size, @NativeType("const GLuint *") MemorySegment indices); + void glMatrixIndexPointerARB(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java index 7307e93e..bd907a47 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java @@ -18,35 +18,22 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_multisample} */ -public final class GLARBMultisample { - public static final int GL_MULTISAMPLE_ARB = 0x809D; - public static final int GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; - public static final int GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; - public static final int GL_SAMPLE_COVERAGE_ARB = 0x80A0; - public static final int GL_SAMPLE_BUFFERS_ARB = 0x80A8; - public static final int GL_SAMPLES_ARB = 0x80A9; - public static final int GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; - public static final int GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; - public static final int GL_MULTISAMPLE_BIT_ARB = 0x20000000; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_multisample) return; - ext.glSampleCoverageARB = load.invoke("glSampleCoverageARB", ofVoid(JAVA_FLOAT, JAVA_BYTE)); - } - - public static void glSampleCoverageARB(float value, boolean invert) { - final var ext = getExtCapabilities(); - try { - check(ext.glSampleCoverageARB).invokeExact(value, invert); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBMultisample { + int GL_MULTISAMPLE_ARB = 0x809D; + int GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; + int GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; + int GL_SAMPLE_COVERAGE_ARB = 0x80A0; + int GL_SAMPLE_BUFFERS_ARB = 0x80A8; + int GL_SAMPLES_ARB = 0x80A9; + int GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; + int GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; + int GL_MULTISAMPLE_BIT_ARB = 0x20000000; + void glSampleCoverageARB(float value, boolean invert); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java index 95ddf7fb..8d19dde6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java @@ -18,325 +18,81 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_multitexture} */ -public final class GLARBMultitexture { - public static final int GL_TEXTURE0_ARB = 0x84C0; - public static final int GL_TEXTURE1_ARB = 0x84C1; - public static final int GL_TEXTURE2_ARB = 0x84C2; - public static final int GL_TEXTURE3_ARB = 0x84C3; - public static final int GL_TEXTURE4_ARB = 0x84C4; - public static final int GL_TEXTURE5_ARB = 0x84C5; - public static final int GL_TEXTURE6_ARB = 0x84C6; - public static final int GL_TEXTURE7_ARB = 0x84C7; - public static final int GL_TEXTURE8_ARB = 0x84C8; - public static final int GL_TEXTURE9_ARB = 0x84C9; - public static final int GL_TEXTURE10_ARB = 0x84CA; - public static final int GL_TEXTURE11_ARB = 0x84CB; - public static final int GL_TEXTURE12_ARB = 0x84CC; - public static final int GL_TEXTURE13_ARB = 0x84CD; - public static final int GL_TEXTURE14_ARB = 0x84CE; - public static final int GL_TEXTURE15_ARB = 0x84CF; - public static final int GL_TEXTURE16_ARB = 0x84D0; - public static final int GL_TEXTURE17_ARB = 0x84D1; - public static final int GL_TEXTURE18_ARB = 0x84D2; - public static final int GL_TEXTURE19_ARB = 0x84D3; - public static final int GL_TEXTURE20_ARB = 0x84D4; - public static final int GL_TEXTURE21_ARB = 0x84D5; - public static final int GL_TEXTURE22_ARB = 0x84D6; - public static final int GL_TEXTURE23_ARB = 0x84D7; - public static final int GL_TEXTURE24_ARB = 0x84D8; - public static final int GL_TEXTURE25_ARB = 0x84D9; - public static final int GL_TEXTURE26_ARB = 0x84DA; - public static final int GL_TEXTURE27_ARB = 0x84DB; - public static final int GL_TEXTURE28_ARB = 0x84DC; - public static final int GL_TEXTURE29_ARB = 0x84DD; - public static final int GL_TEXTURE30_ARB = 0x84DE; - public static final int GL_TEXTURE31_ARB = 0x84DF; - public static final int GL_ACTIVE_TEXTURE_ARB = 0x84E0; - public static final int GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; - public static final int GL_MAX_TEXTURE_UNITS_ARB = 0x84E2; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_multitexture) return; - ext.glActiveTextureARB = load.invoke("glActiveTextureARB", ofVoid(JAVA_INT)); - ext.glClientActiveTextureARB = load.invoke("glClientActiveTextureARB", ofVoid(JAVA_INT)); - ext.glMultiTexCoord1dARB = load.invoke("glMultiTexCoord1dARB", ofVoid(JAVA_INT, JAVA_DOUBLE)); - ext.glMultiTexCoord1dvARB = load.invoke("glMultiTexCoord1dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord1fARB = load.invoke("glMultiTexCoord1fARB", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glMultiTexCoord1fvARB = load.invoke("glMultiTexCoord1fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord1iARB = load.invoke("glMultiTexCoord1iARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glMultiTexCoord1ivARB = load.invoke("glMultiTexCoord1ivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord1sARB = load.invoke("glMultiTexCoord1sARB", ofVoid(JAVA_INT, JAVA_SHORT)); - ext.glMultiTexCoord1svARB = load.invoke("glMultiTexCoord1svARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord2dARB = load.invoke("glMultiTexCoord2dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMultiTexCoord2dvARB = load.invoke("glMultiTexCoord2dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord2fARB = load.invoke("glMultiTexCoord2fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glMultiTexCoord2fvARB = load.invoke("glMultiTexCoord2fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord2iARB = load.invoke("glMultiTexCoord2iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexCoord2ivARB = load.invoke("glMultiTexCoord2ivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord2sARB = load.invoke("glMultiTexCoord2sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); - ext.glMultiTexCoord2svARB = load.invoke("glMultiTexCoord2svARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord3dARB = load.invoke("glMultiTexCoord3dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMultiTexCoord3dvARB = load.invoke("glMultiTexCoord3dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord3fARB = load.invoke("glMultiTexCoord3fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glMultiTexCoord3fvARB = load.invoke("glMultiTexCoord3fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord3iARB = load.invoke("glMultiTexCoord3iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexCoord3ivARB = load.invoke("glMultiTexCoord3ivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord3sARB = load.invoke("glMultiTexCoord3sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glMultiTexCoord3svARB = load.invoke("glMultiTexCoord3svARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord4dARB = load.invoke("glMultiTexCoord4dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMultiTexCoord4dvARB = load.invoke("glMultiTexCoord4dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord4fARB = load.invoke("glMultiTexCoord4fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glMultiTexCoord4fvARB = load.invoke("glMultiTexCoord4fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord4iARB = load.invoke("glMultiTexCoord4iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexCoord4ivARB = load.invoke("glMultiTexCoord4ivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord4sARB = load.invoke("glMultiTexCoord4sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glMultiTexCoord4svARB = load.invoke("glMultiTexCoord4svARB", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glActiveTextureARB(int texture) { - final var ext = getExtCapabilities(); - try { - check(ext.glActiveTextureARB).invokeExact(texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClientActiveTextureARB(int texture) { - final var ext = getExtCapabilities(); - try { - check(ext.glClientActiveTextureARB).invokeExact(texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1dARB(int target, double s) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1dARB).invokeExact(target, s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1dvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1fARB(int target, float s) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1fARB).invokeExact(target, s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1fvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1iARB(int target, int s) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1iARB).invokeExact(target, s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1ivARB(int target, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1ivARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1sARB(int target, short s) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1sARB).invokeExact(target, s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1svARB(int target, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1svARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2dARB(int target, double s, double t) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2dARB).invokeExact(target, s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2dvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2fARB(int target, float s, float t) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2fARB).invokeExact(target, s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2fvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2iARB(int target, int s, int t) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2iARB).invokeExact(target, s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2ivARB(int target, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2ivARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2sARB(int target, short s, short t) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2sARB).invokeExact(target, s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2svARB(int target, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2svARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3dARB(int target, double s, double t, double r) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3dARB).invokeExact(target, s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3dvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3fARB(int target, float s, float t, float r) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3fARB).invokeExact(target, s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3fvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3iARB(int target, int s, int t, int r) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3iARB).invokeExact(target, s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3ivARB(int target, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3ivARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3sARB(int target, short s, short t, short r) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3sARB).invokeExact(target, s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3svARB(int target, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3svARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4dARB(int target, double s, double t, double r, double q) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4dARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4dvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4fARB(int target, float s, float t, float r, float q) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4fARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4fvARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4iARB(int target, int s, int t, int r, int q) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4iARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4ivARB(int target, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4ivARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4sARB(int target, short s, short t, short r, short q) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4sARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4svARB(int target, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4svARB).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBMultitexture { + int GL_TEXTURE0_ARB = 0x84C0; + int GL_TEXTURE1_ARB = 0x84C1; + int GL_TEXTURE2_ARB = 0x84C2; + int GL_TEXTURE3_ARB = 0x84C3; + int GL_TEXTURE4_ARB = 0x84C4; + int GL_TEXTURE5_ARB = 0x84C5; + int GL_TEXTURE6_ARB = 0x84C6; + int GL_TEXTURE7_ARB = 0x84C7; + int GL_TEXTURE8_ARB = 0x84C8; + int GL_TEXTURE9_ARB = 0x84C9; + int GL_TEXTURE10_ARB = 0x84CA; + int GL_TEXTURE11_ARB = 0x84CB; + int GL_TEXTURE12_ARB = 0x84CC; + int GL_TEXTURE13_ARB = 0x84CD; + int GL_TEXTURE14_ARB = 0x84CE; + int GL_TEXTURE15_ARB = 0x84CF; + int GL_TEXTURE16_ARB = 0x84D0; + int GL_TEXTURE17_ARB = 0x84D1; + int GL_TEXTURE18_ARB = 0x84D2; + int GL_TEXTURE19_ARB = 0x84D3; + int GL_TEXTURE20_ARB = 0x84D4; + int GL_TEXTURE21_ARB = 0x84D5; + int GL_TEXTURE22_ARB = 0x84D6; + int GL_TEXTURE23_ARB = 0x84D7; + int GL_TEXTURE24_ARB = 0x84D8; + int GL_TEXTURE25_ARB = 0x84D9; + int GL_TEXTURE26_ARB = 0x84DA; + int GL_TEXTURE27_ARB = 0x84DB; + int GL_TEXTURE28_ARB = 0x84DC; + int GL_TEXTURE29_ARB = 0x84DD; + int GL_TEXTURE30_ARB = 0x84DE; + int GL_TEXTURE31_ARB = 0x84DF; + int GL_ACTIVE_TEXTURE_ARB = 0x84E0; + int GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; + int GL_MAX_TEXTURE_UNITS_ARB = 0x84E2; + + void glActiveTextureARB(int texture); + void glClientActiveTextureARB(int texture); + void glMultiTexCoord1dARB(int target, double s); + void glMultiTexCoord1dvARB(int target, @NativeType("const GLdouble *") MemorySegment v); + void glMultiTexCoord1fARB(int target, float s); + void glMultiTexCoord1fvARB(int target, @NativeType("const GLfloat *") MemorySegment v); + void glMultiTexCoord1iARB(int target, int s); + void glMultiTexCoord1ivARB(int target, @NativeType("const GLint *") MemorySegment v); + void glMultiTexCoord1sARB(int target, short s); + void glMultiTexCoord1svARB(int target, @NativeType("const GLshort *") MemorySegment v); + void glMultiTexCoord2dARB(int target, double s, double t); + void glMultiTexCoord2dvARB(int target, @NativeType("const GLdouble *") MemorySegment v); + void glMultiTexCoord2fARB(int target, float s, float t); + void glMultiTexCoord2fvARB(int target, @NativeType("const GLfloat *") MemorySegment v); + void glMultiTexCoord2iARB(int target, int s, int t); + void glMultiTexCoord2ivARB(int target, @NativeType("const GLint *") MemorySegment v); + void glMultiTexCoord2sARB(int target, short s, short t); + void glMultiTexCoord2svARB(int target, @NativeType("const GLshort *") MemorySegment v); + void glMultiTexCoord3dARB(int target, double s, double t, double r); + void glMultiTexCoord3dvARB(int target, @NativeType("const GLdouble *") MemorySegment v); + void glMultiTexCoord3fARB(int target, float s, float t, float r); + void glMultiTexCoord3fvARB(int target, @NativeType("const GLfloat *") MemorySegment v); + void glMultiTexCoord3iARB(int target, int s, int t, int r); + void glMultiTexCoord3ivARB(int target, @NativeType("const GLint *") MemorySegment v); + void glMultiTexCoord3sARB(int target, short s, short t, short r); + void glMultiTexCoord3svARB(int target, @NativeType("const GLshort *") MemorySegment v); + void glMultiTexCoord4dARB(int target, double s, double t, double r, double q); + void glMultiTexCoord4dvARB(int target, @NativeType("const GLdouble *") MemorySegment v); + void glMultiTexCoord4fARB(int target, float s, float t, float r, float q); + void glMultiTexCoord4fvARB(int target, @NativeType("const GLfloat *") MemorySegment v); + void glMultiTexCoord4iARB(int target, int s, int t, int r, int q); + void glMultiTexCoord4ivARB(int target, @NativeType("const GLint *") MemorySegment v); + void glMultiTexCoord4sARB(int target, short s, short t, short r, short q); + void glMultiTexCoord4svARB(int target, @NativeType("const GLshort *") MemorySegment v); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java index 1d388905..cb510a95 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java @@ -18,88 +18,25 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_occlusion_query} */ -public final class GLARBOcclusionQuery { - public static final int GL_QUERY_COUNTER_BITS_ARB = 0x8864; - public static final int GL_CURRENT_QUERY_ARB = 0x8865; - public static final int GL_QUERY_RESULT_ARB = 0x8866; - public static final int GL_QUERY_RESULT_AVAILABLE_ARB = 0x8867; - public static final int GL_SAMPLES_PASSED_ARB = 0x8914; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_occlusion_query) return; - ext.glGenQueriesARB = load.invoke("glGenQueriesARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeleteQueriesARB = load.invoke("glDeleteQueriesARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsQueryARB = load.invoke("glIsQueryARB", of(JAVA_BYTE, JAVA_INT)); - ext.glBeginQueryARB = load.invoke("glBeginQueryARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glEndQueryARB = load.invoke("glEndQueryARB", ofVoid(JAVA_INT)); - ext.glGetQueryivARB = load.invoke("glGetQueryivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetQueryObjectivARB = load.invoke("glGetQueryObjectivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetQueryObjectuivARB = load.invoke("glGetQueryObjectuivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glGenQueriesARB(int n, @NativeType("GLuint *") MemorySegment ids) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenQueriesARB).invokeExact(n, ids); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteQueriesARB(int n, @NativeType("const GLuint *") MemorySegment ids) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteQueriesARB).invokeExact(n, ids); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsQueryARB(int id) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsQueryARB).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBeginQueryARB(int target, int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginQueryARB).invokeExact(target, id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndQueryARB(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glEndQueryARB).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetQueryivARB(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetQueryivARB).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetQueryObjectivARB(int id, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetQueryObjectivARB).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetQueryObjectuivARB(int id, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetQueryObjectuivARB).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBOcclusionQuery { + int GL_QUERY_COUNTER_BITS_ARB = 0x8864; + int GL_CURRENT_QUERY_ARB = 0x8865; + int GL_QUERY_RESULT_ARB = 0x8866; + int GL_QUERY_RESULT_AVAILABLE_ARB = 0x8867; + int GL_SAMPLES_PASSED_ARB = 0x8914; + + void glGenQueriesARB(int n, @NativeType("GLuint *") MemorySegment ids); + void glDeleteQueriesARB(int n, @NativeType("const GLuint *") MemorySegment ids); + boolean glIsQueryARB(int id); + void glBeginQueryARB(int target, int id); + void glEndQueryARB(int target); + void glGetQueryivARB(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetQueryObjectivARB(int id, int pname, @NativeType("GLint *") MemorySegment params); + void glGetQueryObjectuivARB(int id, int pname, @NativeType("GLuint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java index e244de40..1f04de7b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_parallel_shader_compile} */ -public final class GLARBParallelShaderCompile { - public static final int GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0; - public static final int GL_COMPLETION_STATUS_ARB = 0x91B1; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_parallel_shader_compile) return; - ext.glMaxShaderCompilerThreadsARB = load.invoke("glMaxShaderCompilerThreadsARB", ofVoid(JAVA_INT)); - } - - public static void glMaxShaderCompilerThreadsARB(int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glMaxShaderCompilerThreadsARB).invokeExact(count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBParallelShaderCompile { + int GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0; + int GL_COMPLETION_STATUS_ARB = 0x91B1; + void glMaxShaderCompilerThreadsARB(int count); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java index 90f8d82b..25d35468 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java @@ -18,24 +18,21 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_pipeline_statistics_query} */ -public final class GLARBPipelineStatisticsQuery { - public static final int GL_VERTICES_SUBMITTED_ARB = 0x82EE; - public static final int GL_PRIMITIVES_SUBMITTED_ARB = 0x82EF; - public static final int GL_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0; - public static final int GL_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1; - public static final int GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2; - public static final int GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3; - public static final int GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4; - public static final int GL_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5; - public static final int GL_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6; - public static final int GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7; +public interface GLARBPipelineStatisticsQuery { + int GL_VERTICES_SUBMITTED_ARB = 0x82EE; + int GL_PRIMITIVES_SUBMITTED_ARB = 0x82EF; + int GL_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0; + int GL_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1; + int GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2; + int GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3; + int GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4; + int GL_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5; + int GL_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6; + int GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java index 3a9331ec..4bb6e3d1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_pixel_buffer_object} */ -public final class GLARBPixelBufferObject { - public static final int GL_PIXEL_PACK_BUFFER_ARB = 0x88EB; - public static final int GL_PIXEL_UNPACK_BUFFER_ARB = 0x88EC; - public static final int GL_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED; - public static final int GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF; +public interface GLARBPixelBufferObject { + int GL_PIXEL_PACK_BUFFER_ARB = 0x88EB; + int GL_PIXEL_UNPACK_BUFFER_ARB = 0x88EC; + int GL_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED; + int GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java index e4ca8279..c452e8a1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java @@ -18,38 +18,18 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_point_parameters} */ -public final class GLARBPointParameters { - public static final int GL_POINT_SIZE_MIN_ARB = 0x8126; - public static final int GL_POINT_SIZE_MAX_ARB = 0x8127; - public static final int GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; - public static final int GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_point_parameters) return; - ext.glPointParameterfARB = load.invoke("glPointParameterfARB", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glPointParameterfvARB = load.invoke("glPointParameterfvARB", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glPointParameterfARB(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterfARB).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPointParameterfvARB(int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterfvARB).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBPointParameters { + int GL_POINT_SIZE_MIN_ARB = 0x8126; + int GL_POINT_SIZE_MAX_ARB = 0x8127; + int GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; + int GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129; + void glPointParameterfARB(int pname, float param); + void glPointParameterfvARB(int pname, @NativeType("const GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java index 3b6bbf3d..f5976b49 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_point_sprite} */ -public final class GLARBPointSprite { - public static final int GL_POINT_SPRITE_ARB = 0x8861; - public static final int GL_COORD_REPLACE_ARB = 0x8862; +public interface GLARBPointSprite { + int GL_POINT_SPRITE_ARB = 0x8861; + int GL_COORD_REPLACE_ARB = 0x8862; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java index 47efb739..21661dd7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java @@ -18,90 +18,27 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_robustness} */ -public final class GLARBRobustness { - public static final int GL_NO_RESET_NOTIFICATION_ARB = 0x8261; - public static final int GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; - public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004; - public static final int GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255; - public static final int GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252; - public static final int GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254; - public static final int GL_GUILTY_CONTEXT_RESET_ARB = 0x8253; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_robustness) return; - ext.glGetGraphicsResetStatusARB = load.invoke("glGetGraphicsResetStatusARB", of(JAVA_INT)); - ext.glGetnCompressedTexImageARB = load.invoke("glGetnCompressedTexImageARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetnTexImageARB = load.invoke("glGetnTexImageARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetnUniformdvARB = load.invoke("glGetnUniformdvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetnUniformfvARB = load.invoke("glGetnUniformfvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetnUniformivARB = load.invoke("glGetnUniformivARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetnUniformuivARB = load.invoke("glGetnUniformuivARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glReadnPixelsARB = load.invoke("glReadnPixelsARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static int glGetGraphicsResetStatusARB() { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetGraphicsResetStatusARB).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnCompressedTexImageARB(int target, int lod, int bufSize, @NativeType("void*") MemorySegment img) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnCompressedTexImageARB).invokeExact(target, lod, bufSize, img); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnTexImageARB(int target, int level, int format, int type, int bufSize, @NativeType("void*") MemorySegment img) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnTexImageARB).invokeExact(target, level, format, type, bufSize, img); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnUniformdvARB(int program, int location, int bufSize, @NativeType("GLdouble*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnUniformdvARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnUniformfvARB(int program, int location, int bufSize, @NativeType("GLfloat*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnUniformfvARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnUniformivARB(int program, int location, int bufSize, @NativeType("GLint*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnUniformivARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetnUniformuivARB(int program, int location, int bufSize, @NativeType("GLuint*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetnUniformuivARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, int bufSize, @NativeType("void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glReadnPixelsARB).invokeExact(x, y, width, height, format, type, bufSize, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBRobustness { + int GL_NO_RESET_NOTIFICATION_ARB = 0x8261; + int GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; + int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004; + int GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255; + int GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252; + int GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254; + int GL_GUILTY_CONTEXT_RESET_ARB = 0x8253; + + int glGetGraphicsResetStatusARB(); + void glGetnCompressedTexImageARB(int target, int lod, int bufSize, @NativeType("void*") MemorySegment img); + void glGetnTexImageARB(int target, int level, int format, int type, int bufSize, @NativeType("void*") MemorySegment img); + void glGetnUniformdvARB(int program, int location, int bufSize, @NativeType("GLdouble*") MemorySegment params); + void glGetnUniformfvARB(int program, int location, int bufSize, @NativeType("GLfloat*") MemorySegment params); + void glGetnUniformivARB(int program, int location, int bufSize, @NativeType("GLint*") MemorySegment params); + void glGetnUniformuivARB(int program, int location, int bufSize, @NativeType("GLuint*") MemorySegment params); + void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, int bufSize, @NativeType("void*") MemorySegment data); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java index f1059e61..93d92e62 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java @@ -18,50 +18,23 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_sample_locations} */ -public final class GLARBSampleLocations { - public static final int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; - public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; - public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; - public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; - public static final int GL_SAMPLE_LOCATION_ARB = 0x8E50; - public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; - public static final int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; - public static final int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_sample_locations) return; - ext.glEvaluateDepthValuesARB = load.invoke("glEvaluateDepthValuesARB", ofVoid()); - ext.glFramebufferSampleLocationsfvARB = load.invoke("glFramebufferSampleLocationsfvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedFramebufferSampleLocationsfvARB = load.invoke("glNamedFramebufferSampleLocationsfvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glEvaluateDepthValuesARB() { - final var ext = getExtCapabilities(); - try { - check(ext.glEvaluateDepthValuesARB).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferSampleLocationsfvARB(int target, int start, int count, @NativeType("const GLfloat *v") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferSampleLocationsfvARB).invokeExact(target, start, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferSampleLocationsfvARB(int framebuffer, int start, int count, @NativeType("const GLfloat *v") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferSampleLocationsfvARB).invokeExact(framebuffer, start, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBSampleLocations { + int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; + int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; + int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; + int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; + int GL_SAMPLE_LOCATION_ARB = 0x8E50; + int GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; + int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; + int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; + void glEvaluateDepthValuesARB(); + void glFramebufferSampleLocationsfvARB(int target, int start, int count, @NativeType("const GLfloat *v") MemorySegment v); + void glNamedFramebufferSampleLocationsfvARB(int framebuffer, int start, int count, @NativeType("const GLfloat *v") MemorySegment v); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java index 2ce7f94a..5bc7a42e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_sample_shading} */ -public final class GLARBSampleShading { - public static final int GL_SAMPLE_SHADING_ARB = 0x8C36; - public static final int GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_sample_shading) return; - ext.glMinSampleShadingARB = load.invoke("glMinSampleShadingARB", ofVoid(JAVA_FLOAT)); - } - - public static void glMinSampleShadingARB(float value) { - final var ext = getExtCapabilities(); - try { - check(ext.glMinSampleShadingARB).invokeExact(value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBSampleShading { + int GL_SAMPLE_SHADING_ARB = 0x8C36; + int GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; + void glMinSampleShadingARB(float value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java index 4f0c6ebd..fb3fa28e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java @@ -18,368 +18,85 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_shader_objects} */ -public final class GLARBShaderObjects { - public static final int GL_PROGRAM_OBJECT_ARB = 0x8B40; - public static final int GL_SHADER_OBJECT_ARB = 0x8B48; - public static final int GL_OBJECT_TYPE_ARB = 0x8B4E; - public static final int GL_OBJECT_SUBTYPE_ARB = 0x8B4F; - public static final int GL_FLOAT_VEC2_ARB = 0x8B50; - public static final int GL_FLOAT_VEC3_ARB = 0x8B51; - public static final int GL_FLOAT_VEC4_ARB = 0x8B52; - public static final int GL_INT_VEC2_ARB = 0x8B53; - public static final int GL_INT_VEC3_ARB = 0x8B54; - public static final int GL_INT_VEC4_ARB = 0x8B55; - public static final int GL_BOOL_ARB = 0x8B56; - public static final int GL_BOOL_VEC2_ARB = 0x8B57; - public static final int GL_BOOL_VEC3_ARB = 0x8B58; - public static final int GL_BOOL_VEC4_ARB = 0x8B59; - public static final int GL_FLOAT_MAT2_ARB = 0x8B5A; - public static final int GL_FLOAT_MAT3_ARB = 0x8B5B; - public static final int GL_FLOAT_MAT4_ARB = 0x8B5C; - public static final int GL_SAMPLER_1D_ARB = 0x8B5D; - public static final int GL_SAMPLER_2D_ARB = 0x8B5E; - public static final int GL_SAMPLER_3D_ARB = 0x8B5F; - public static final int GL_SAMPLER_CUBE_ARB = 0x8B60; - public static final int GL_SAMPLER_1D_SHADOW_ARB = 0x8B61; - public static final int GL_SAMPLER_2D_SHADOW_ARB = 0x8B62; - public static final int GL_SAMPLER_2D_RECT_ARB = 0x8B63; - public static final int GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; - public static final int GL_OBJECT_DELETE_STATUS_ARB = 0x8B80; - public static final int GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81; - public static final int GL_OBJECT_LINK_STATUS_ARB = 0x8B82; - public static final int GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83; - public static final int GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; - public static final int GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; - public static final int GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; - public static final int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; - public static final int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_shader_objects) return; - ext.glDeleteObjectARB = load.invoke("glDeleteObjectARB", ofVoid(JAVA_INT)); - ext.glGetHandleARB = load.invoke("glGetHandleARB", of(JAVA_INT, JAVA_INT)); - ext.glDetachObjectARB = load.invoke("glDetachObjectARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glCreateShaderObjectARB = load.invoke("glCreateShaderObjectARB", of(JAVA_INT, JAVA_INT)); - ext.glShaderSourceARB = load.invoke("glShaderSourceARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glCompileShaderARB = load.invoke("glCompileShaderARB", ofVoid(JAVA_INT)); - ext.glCreateProgramObjectARB = load.invoke("glCreateProgramObjectARB", of(JAVA_INT)); - ext.glAttachObjectARB = load.invoke("glAttachObjectARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glLinkProgramARB = load.invoke("glLinkProgramARB", ofVoid(JAVA_INT)); - ext.glUseProgramObjectARB = load.invoke("glUseProgramObjectARB", ofVoid(JAVA_INT)); - ext.glValidateProgramARB = load.invoke("glValidateProgramARB", ofVoid(JAVA_INT)); - ext.glUniform1fARB = load.invoke("glUniform1fARB", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glUniform2fARB = load.invoke("glUniform2fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glUniform3fARB = load.invoke("glUniform3fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glUniform4fARB = load.invoke("glUniform4fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glUniform1iARB = load.invoke("glUniform1iARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glUniform2iARB = load.invoke("glUniform2iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glUniform3iARB = load.invoke("glUniform3iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glUniform4iARB = load.invoke("glUniform4iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glUniform1fvARB = load.invoke("glUniform1fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform2fvARB = load.invoke("glUniform2fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform3fvARB = load.invoke("glUniform3fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform4fvARB = load.invoke("glUniform4fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform1ivARB = load.invoke("glUniform1ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform2ivARB = load.invoke("glUniform2ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform3ivARB = load.invoke("glUniform3ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform4ivARB = load.invoke("glUniform4ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniformMatrix2fvARB = load.invoke("glUniformMatrix2fvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glUniformMatrix3fvARB = load.invoke("glUniformMatrix3fvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glUniformMatrix4fvARB = load.invoke("glUniformMatrix4fvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glGetObjectParameterfvARB = load.invoke("glGetObjectParameterfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetObjectParameterivARB = load.invoke("glGetObjectParameterivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetInfoLogARB = load.invoke("glGetInfoLogARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetAttachedObjectsARB = load.invoke("glGetAttachedObjectsARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetUniformLocationARB = load.invoke("glGetUniformLocationARB", of(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetActiveUniformARB = load.invoke("glGetActiveUniformARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glGetUniformfvARB = load.invoke("glGetUniformfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetUniformivARB = load.invoke("glGetUniformivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetShaderSourceARB = load.invoke("glGetShaderSourceARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glDeleteObjectARB(int obj) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteObjectARB).invokeExact(obj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGetHandleARB(int pname) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetHandleARB).invokeExact(pname); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDetachObjectARB(int containerObj, int attachedObj) { - final var ext = getExtCapabilities(); - try { - check(ext.glDetachObjectARB).invokeExact(containerObj, attachedObj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glCreateShaderObjectARB(int shaderType) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glCreateShaderObjectARB).invokeExact(shaderType); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShaderSourceARB(int shaderObj, int count, @NativeType("const GLcharARB**") MemorySegment string, @NativeType("const GLint*") MemorySegment length) { - final var ext = getExtCapabilities(); - try { - check(ext.glShaderSourceARB).invokeExact(shaderObj, count, string, length); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompileShaderARB(int shaderObj) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompileShaderARB).invokeExact(shaderObj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glCreateProgramObjectARB() { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glCreateProgramObjectARB).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glAttachObjectARB(int containerObj, int obj) { - final var ext = getExtCapabilities(); - try { - check(ext.glAttachObjectARB).invokeExact(containerObj, obj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLinkProgramARB(int programObj) { - final var ext = getExtCapabilities(); - try { - check(ext.glLinkProgramARB).invokeExact(programObj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUseProgramObjectARB(int programObj) { - final var ext = getExtCapabilities(); - try { - check(ext.glUseProgramObjectARB).invokeExact(programObj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glValidateProgramARB(int programObj) { - final var ext = getExtCapabilities(); - try { - check(ext.glValidateProgramARB).invokeExact(programObj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1fARB(int location, float v0) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1fARB).invokeExact(location, v0); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2fARB(int location, float v0, float v1) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2fARB).invokeExact(location, v0, v1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3fARB(int location, float v0, float v1, float v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3fARB).invokeExact(location, v0, v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4fARB(int location, float v0, float v1, float v2, float v3) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4fARB).invokeExact(location, v0, v1, v2, v3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1iARB(int location, int v0) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1iARB).invokeExact(location, v0); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2iARB(int location, int v0, int v1) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2iARB).invokeExact(location, v0, v1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3iARB(int location, int v0, int v1, int v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3iARB).invokeExact(location, v0, v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4iARB(int location, int v0, int v1, int v2, int v3) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4iARB).invokeExact(location, v0, v1, v2, v3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1fvARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2fvARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3fvARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4fvARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1ivARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2ivARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3ivARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4ivARB).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformMatrix2fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformMatrix2fvARB).invokeExact(location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformMatrix3fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformMatrix3fvARB).invokeExact(location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformMatrix4fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformMatrix4fvARB).invokeExact(location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetObjectParameterfvARB(int obj, int pname, @NativeType("GLfloat*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetObjectParameterfvARB).invokeExact(obj, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetObjectParameterivARB(int obj, int pname, @NativeType("GLint*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetObjectParameterivARB).invokeExact(obj, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetInfoLogARB(int obj, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLcharARB*") MemorySegment infoLog) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetInfoLogARB).invokeExact(obj, maxLength, length, infoLog); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetAttachedObjectsARB(int containerObj, int maxCount, @NativeType("GLsizei*") MemorySegment count, @NativeType("GLhandleARB*") MemorySegment obj) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetAttachedObjectsARB).invokeExact(containerObj, maxCount, count, obj); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGetUniformLocationARB(int programObj, @NativeType("const GLcharARB*") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetUniformLocationARB).invokeExact(programObj, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetActiveUniformARB(int programObj, int index, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLint*") MemorySegment size, @NativeType("GLenum*") MemorySegment type, @NativeType("GLcharARB*") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetActiveUniformARB).invokeExact(programObj, index, maxLength, length, size, type, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetUniformfvARB(int programObj, int location, @NativeType("GLfloat*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUniformfvARB).invokeExact(programObj, location, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetUniformivARB(int programObj, int location, @NativeType("GLint*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUniformivARB).invokeExact(programObj, location, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetShaderSourceARB(int obj, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLcharARB*") MemorySegment source) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetShaderSourceARB).invokeExact(obj, maxLength, length, source); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBShaderObjects { + int GL_PROGRAM_OBJECT_ARB = 0x8B40; + int GL_SHADER_OBJECT_ARB = 0x8B48; + int GL_OBJECT_TYPE_ARB = 0x8B4E; + int GL_OBJECT_SUBTYPE_ARB = 0x8B4F; + int GL_FLOAT_VEC2_ARB = 0x8B50; + int GL_FLOAT_VEC3_ARB = 0x8B51; + int GL_FLOAT_VEC4_ARB = 0x8B52; + int GL_INT_VEC2_ARB = 0x8B53; + int GL_INT_VEC3_ARB = 0x8B54; + int GL_INT_VEC4_ARB = 0x8B55; + int GL_BOOL_ARB = 0x8B56; + int GL_BOOL_VEC2_ARB = 0x8B57; + int GL_BOOL_VEC3_ARB = 0x8B58; + int GL_BOOL_VEC4_ARB = 0x8B59; + int GL_FLOAT_MAT2_ARB = 0x8B5A; + int GL_FLOAT_MAT3_ARB = 0x8B5B; + int GL_FLOAT_MAT4_ARB = 0x8B5C; + int GL_SAMPLER_1D_ARB = 0x8B5D; + int GL_SAMPLER_2D_ARB = 0x8B5E; + int GL_SAMPLER_3D_ARB = 0x8B5F; + int GL_SAMPLER_CUBE_ARB = 0x8B60; + int GL_SAMPLER_1D_SHADOW_ARB = 0x8B61; + int GL_SAMPLER_2D_SHADOW_ARB = 0x8B62; + int GL_SAMPLER_2D_RECT_ARB = 0x8B63; + int GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; + int GL_OBJECT_DELETE_STATUS_ARB = 0x8B80; + int GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81; + int GL_OBJECT_LINK_STATUS_ARB = 0x8B82; + int GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83; + int GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; + int GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; + int GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; + int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; + int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; + + void glDeleteObjectARB(int obj); + int glGetHandleARB(int pname); + void glDetachObjectARB(int containerObj, int attachedObj); + int glCreateShaderObjectARB(int shaderType); + void glShaderSourceARB(int shaderObj, int count, @NativeType("const GLcharARB**") MemorySegment string, @NativeType("const GLint*") MemorySegment length); + void glCompileShaderARB(int shaderObj); + int glCreateProgramObjectARB(); + void glAttachObjectARB(int containerObj, int obj); + void glLinkProgramARB(int programObj); + void glUseProgramObjectARB(int programObj); + void glValidateProgramARB(int programObj); + void glUniform1fARB(int location, float v0); + void glUniform2fARB(int location, float v0, float v1); + void glUniform3fARB(int location, float v0, float v1, float v2); + void glUniform4fARB(int location, float v0, float v1, float v2, float v3); + void glUniform1iARB(int location, int v0); + void glUniform2iARB(int location, int v0, int v1); + void glUniform3iARB(int location, int v0, int v1, int v2); + void glUniform4iARB(int location, int v0, int v1, int v2, int v3); + void glUniform1fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value); + void glUniform2fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value); + void glUniform3fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value); + void glUniform4fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value); + void glUniform1ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value); + void glUniform2ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value); + void glUniform3ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value); + void glUniform4ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value); + void glUniformMatrix2fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value); + void glUniformMatrix3fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value); + void glUniformMatrix4fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value); + void glGetObjectParameterfvARB(int obj, int pname, @NativeType("GLfloat*") MemorySegment params); + void glGetObjectParameterivARB(int obj, int pname, @NativeType("GLint*") MemorySegment params); + void glGetInfoLogARB(int obj, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLcharARB*") MemorySegment infoLog); + void glGetAttachedObjectsARB(int containerObj, int maxCount, @NativeType("GLsizei*") MemorySegment count, @NativeType("GLhandleARB*") MemorySegment obj); + int glGetUniformLocationARB(int programObj, @NativeType("const GLcharARB*") MemorySegment name); + void glGetActiveUniformARB(int programObj, int index, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLint*") MemorySegment size, @NativeType("GLenum*") MemorySegment type, @NativeType("GLcharARB*") MemorySegment name); + void glGetUniformfvARB(int programObj, int location, @NativeType("GLfloat*") MemorySegment params); + void glGetUniformivARB(int programObj, int location, @NativeType("GLint*") MemorySegment params); + void glGetShaderSourceARB(int obj, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLcharARB*") MemorySegment source); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java index 5dfc355f..1a871688 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java @@ -18,70 +18,21 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_shading_language_include} */ -public final class GLARBShadingLanguageInclude { - public static final int GL_SHADER_INCLUDE_ARB = 0x8DAE; - public static final int GL_NAMED_STRING_LENGTH_ARB = 0x8DE9; - public static final int GL_NAMED_STRING_TYPE_ARB = 0x8DEA; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_shading_language_include) return; - ext.glNamedStringARB = load.invoke("glNamedStringARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS)); - ext.glDeleteNamedStringARB = load.invoke("glDeleteNamedStringARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glCompileShaderIncludeARB = load.invoke("glCompileShaderIncludeARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glIsNamedStringARB = load.invoke("glIsNamedStringARB", of(JAVA_BYTE, JAVA_INT, ADDRESS)); - ext.glGetNamedStringARB = load.invoke("glGetNamedStringARB", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetNamedStringivARB = load.invoke("glGetNamedStringivARB", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS)); - } - - public static void glNamedStringARB(int type, int nameLen, @NativeType("const GLchar*") MemorySegment name, int stringLen, @NativeType("const GLchar*") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedStringARB).invokeExact(type, nameLen, name, stringLen, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteNamedStringARB).invokeExact(nameLen, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompileShaderIncludeARB(int shader, int count, @NativeType("const GLchar *const*") MemorySegment path, @NativeType("const GLint*") MemorySegment length) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompileShaderIncludeARB).invokeExact(shader, count, path, length); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsNamedStringARB).invokeExact(nameLen, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name, int bufSize, @NativeType("GLint*") MemorySegment stringLen, @NativeType("GLchar*") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedStringARB).invokeExact(nameLen, name, bufSize, stringLen, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedStringivARB(int nameLen, @NativeType("const GLchar*") MemorySegment name, int pname, @NativeType("GLint*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedStringivARB).invokeExact(nameLen, name, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBShadingLanguageInclude { + int GL_SHADER_INCLUDE_ARB = 0x8DAE; + int GL_NAMED_STRING_LENGTH_ARB = 0x8DE9; + int GL_NAMED_STRING_TYPE_ARB = 0x8DEA; + + void glNamedStringARB(int type, int nameLen, @NativeType("const GLchar*") MemorySegment name, int stringLen, @NativeType("const GLchar*") MemorySegment string); + void glDeleteNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name); + void glCompileShaderIncludeARB(int shader, int count, @NativeType("const GLchar *const*") MemorySegment path, @NativeType("const GLint*") MemorySegment length); + boolean glIsNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name); + void glGetNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name, int bufSize, @NativeType("GLint*") MemorySegment stringLen, @NativeType("GLchar*") MemorySegment string); + void glGetNamedStringivARB(int nameLen, @NativeType("const GLchar*") MemorySegment name, int pname, @NativeType("GLint*") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java index e410d045..503bf0b6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_shadow} */ -public final class GLARBShadow { - public static final int GL_TEXTURE_COMPARE_MODE_ARB = 0x884C; - public static final int GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D; - public static final int GL_COMPARE_R_TO_TEXTURE_ARB = 0x884E; +public interface GLARBShadow { + int GL_TEXTURE_COMPARE_MODE_ARB = 0x884C; + int GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D; + int GL_COMPARE_R_TO_TEXTURE_ARB = 0x884E; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java index d922b49e..0bf95f48 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_shadow_ambient} */ -public final class GLARBShadowAmbient { - public static final int GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; +public interface GLARBShadowAmbient { + int GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java index fa16c390..db1bd597 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java @@ -18,44 +18,17 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_sparse_buffer} */ -public final class GLARBSparseBuffer { - public static final int GL_SPARSE_STORAGE_BIT_ARB = 0x0400; - public static final int GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_sparse_buffer) return; - ext.glBufferPageCommitmentARB = load.invoke("glBufferPageCommitmentARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_BYTE)); - ext.glNamedBufferPageCommitmentEXT = load.invoke("glNamedBufferPageCommitmentEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_BYTE)); - ext.glNamedBufferPageCommitmentARB = load.invoke("glNamedBufferPageCommitmentARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_BYTE)); - } - - public static void glBufferPageCommitmentARB(int target, long offset, long size, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferPageCommitmentARB).invokeExact(target, offset, size, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferPageCommitmentEXT(int buffer, long offset, long size, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferPageCommitmentEXT).invokeExact(buffer, offset, size, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferPageCommitmentARB(int buffer, long offset, long size, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferPageCommitmentARB).invokeExact(buffer, offset, size, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBSparseBuffer { + int GL_SPARSE_STORAGE_BIT_ARB = 0x0400; + int GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; + void glBufferPageCommitmentARB(int target, long offset, long size, boolean commit); + void glNamedBufferPageCommitmentEXT(int buffer, long offset, long size, boolean commit); + void glNamedBufferPageCommitmentARB(int buffer, long offset, long size, boolean commit); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java index 61da4460..bf379694 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java @@ -18,37 +18,24 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_sparse_texture} */ -public final class GLARBSparseTexture { - public static final int GL_TEXTURE_SPARSE_ARB = 0x91A6; - public static final int GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; - public static final int GL_NUM_SPARSE_LEVELS_ARB = 0x91AA; - public static final int GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; - public static final int GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; - public static final int GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; - public static final int GL_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197; - public static final int GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198; - public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; - public static final int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; - public static final int GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_sparse_texture) return; - ext.glTexPageCommitmentARB = load.invoke("glTexPageCommitmentARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - } - - public static void glTexPageCommitmentARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexPageCommitmentARB).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBSparseTexture { + int GL_TEXTURE_SPARSE_ARB = 0x91A6; + int GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; + int GL_NUM_SPARSE_LEVELS_ARB = 0x91AA; + int GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; + int GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; + int GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; + int GL_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197; + int GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198; + int GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; + int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; + int GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; + void glTexPageCommitmentARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, boolean commit); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java index fc68f058..598ddaaa 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_border_clamp} */ -public final class GLARBTextureBorderClamp { - public static final int GL_CLAMP_TO_BORDER_ARB = 0x812D; +public interface GLARBTextureBorderClamp { + int GL_CLAMP_TO_BORDER_ARB = 0x812D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java index 8b3ec23c..3d042c07 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java @@ -18,31 +18,18 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_buffer_object} */ -public final class GLARBTextureBufferObject { - public static final int GL_TEXTURE_BUFFER_ARB = 0x8C2A; - public static final int GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; - public static final int GL_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; - public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; - public static final int GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_texture_buffer_object) return; - ext.glTexBufferARB = load.invoke("glTexBufferARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glTexBufferARB(int target, int internalFormat, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexBufferARB).invokeExact(target, internalFormat, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBTextureBufferObject { + int GL_TEXTURE_BUFFER_ARB = 0x8C2A; + int GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; + int GL_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; + int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; + int GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; + void glTexBufferARB(int target, int internalFormat, int buffer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java index d6e1ff9a..81e4b7d7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java @@ -18,85 +18,30 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_compression} */ -public final class GLARBTextureCompression { - public static final int GL_COMPRESSED_ALPHA_ARB = 0x84E9; - public static final int GL_COMPRESSED_LUMINANCE_ARB = 0x84EA; - public static final int GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; - public static final int GL_COMPRESSED_INTENSITY_ARB = 0x84EC; - public static final int GL_COMPRESSED_RGB_ARB = 0x84ED; - public static final int GL_COMPRESSED_RGBA_ARB = 0x84EE; - public static final int GL_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF; - public static final int GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; - public static final int GL_TEXTURE_COMPRESSED_ARB = 0x86A1; - public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; - public static final int GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_texture_compression) return; - ext.glCompressedTexImage3DARB = load.invoke("glCompressedTexImage3DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTexImage2DARB = load.invoke("glCompressedTexImage2DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTexImage1DARB = load.invoke("glCompressedTexImage1DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTexSubImage3DARB = load.invoke("glCompressedTexSubImage3DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTexSubImage2DARB = load.invoke("glCompressedTexSubImage2DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTexSubImage1DARB = load.invoke("glCompressedTexSubImage1DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetCompressedTexImageARB = load.invoke("glGetCompressedTexImageARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glCompressedTexImage3DARB(int target, int level, int internalFormat, int width, int height, int depth, int border, int imageSize, @NativeType("const void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTexImage3DARB).invokeExact(target, level, internalFormat, width, height, depth, border, imageSize, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTexImage2DARB(int target, int level, int internalFormat, int width, int height, int border, int imageSize, @NativeType("const void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTexImage2DARB).invokeExact(target, level, internalFormat, width, height, border, imageSize, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTexImage1DARB(int target, int level, int internalFormat, int width, int border, int imageSize, @NativeType("const void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTexImage1DARB).invokeExact(target, level, internalFormat, width, border, imageSize, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTexSubImage3DARB).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTexSubImage2DARB).invokeExact(target, level, xoffset, yoffset, width, height, format, imageSize, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTexSubImage1DARB).invokeExact(target, level, xoffset, width, format, imageSize, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCompressedTexImageARB(int target, int level, @NativeType("void*") MemorySegment img) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCompressedTexImageARB).invokeExact(target, level, img); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBTextureCompression { + int GL_COMPRESSED_ALPHA_ARB = 0x84E9; + int GL_COMPRESSED_LUMINANCE_ARB = 0x84EA; + int GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; + int GL_COMPRESSED_INTENSITY_ARB = 0x84EC; + int GL_COMPRESSED_RGB_ARB = 0x84ED; + int GL_COMPRESSED_RGBA_ARB = 0x84EE; + int GL_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF; + int GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; + int GL_TEXTURE_COMPRESSED_ARB = 0x86A1; + int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; + int GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; + + void glCompressedTexImage3DARB(int target, int level, int internalFormat, int width, int height, int depth, int border, int imageSize, @NativeType("const void*") MemorySegment data); + void glCompressedTexImage2DARB(int target, int level, int internalFormat, int width, int height, int border, int imageSize, @NativeType("const void*") MemorySegment data); + void glCompressedTexImage1DARB(int target, int level, int internalFormat, int width, int border, int imageSize, @NativeType("const void*") MemorySegment data); + void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void*") MemorySegment data); + void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void*") MemorySegment data); + void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void*") MemorySegment data); + void glGetCompressedTexImageARB(int target, int level, @NativeType("void*") MemorySegment img); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java index 70b3bb71..7123996a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_compression_bptc} */ -public final class GLARBTextureCompressionBptc { - public static final int GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; - public static final int GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; - public static final int GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E; - public static final int GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; +public interface GLARBTextureCompressionBptc { + int GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; + int GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; + int GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E; + int GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java index 39341c22..ed357c56 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java @@ -18,26 +18,23 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_cube_map} */ -public final class GLARBTextureCubeMap { - public static final int GL_NORMAL_MAP_ARB = 0x8511; - public static final int GL_REFLECTION_MAP_ARB = 0x8512; - public static final int GL_TEXTURE_CUBE_MAP_ARB = 0x8513; - public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; - public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; - public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; +public interface GLARBTextureCubeMap { + int GL_NORMAL_MAP_ARB = 0x8511; + int GL_REFLECTION_MAP_ARB = 0x8512; + int GL_TEXTURE_CUBE_MAP_ARB = 0x8513; + int GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; + int GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; + int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516; + int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; + int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; + int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519; + int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; + int GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; + int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java index 1226fb4e..81677195 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java @@ -18,21 +18,18 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_cube_map_array} */ -public final class GLARBTextureCubeMapArray { - public static final int GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; - public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; - public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; - public static final int GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; - public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; - public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; - public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; +public interface GLARBTextureCubeMapArray { + int GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; + int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; + int GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; + int GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; + int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; + int GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; + int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java index b57c6400..2bb47c38 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java @@ -18,36 +18,33 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_env_combine} */ -public final class GLARBTextureEnvCombine { - public static final int GL_COMBINE_ARB = 0x8570; - public static final int GL_COMBINE_RGB_ARB = 0x8571; - public static final int GL_COMBINE_ALPHA_ARB = 0x8572; - public static final int GL_SOURCE0_RGB_ARB = 0x8580; - public static final int GL_SOURCE1_RGB_ARB = 0x8581; - public static final int GL_SOURCE2_RGB_ARB = 0x8582; - public static final int GL_SOURCE0_ALPHA_ARB = 0x8588; - public static final int GL_SOURCE1_ALPHA_ARB = 0x8589; - public static final int GL_SOURCE2_ALPHA_ARB = 0x858A; - public static final int GL_OPERAND0_RGB_ARB = 0x8590; - public static final int GL_OPERAND1_RGB_ARB = 0x8591; - public static final int GL_OPERAND2_RGB_ARB = 0x8592; - public static final int GL_OPERAND0_ALPHA_ARB = 0x8598; - public static final int GL_OPERAND1_ALPHA_ARB = 0x8599; - public static final int GL_OPERAND2_ALPHA_ARB = 0x859A; - public static final int GL_RGB_SCALE_ARB = 0x8573; - public static final int GL_ADD_SIGNED_ARB = 0x8574; - public static final int GL_INTERPOLATE_ARB = 0x8575; - public static final int GL_SUBTRACT_ARB = 0x84E7; - public static final int GL_CONSTANT_ARB = 0x8576; - public static final int GL_PRIMARY_COLOR_ARB = 0x8577; - public static final int GL_PREVIOUS_ARB = 0x8578; +public interface GLARBTextureEnvCombine { + int GL_COMBINE_ARB = 0x8570; + int GL_COMBINE_RGB_ARB = 0x8571; + int GL_COMBINE_ALPHA_ARB = 0x8572; + int GL_SOURCE0_RGB_ARB = 0x8580; + int GL_SOURCE1_RGB_ARB = 0x8581; + int GL_SOURCE2_RGB_ARB = 0x8582; + int GL_SOURCE0_ALPHA_ARB = 0x8588; + int GL_SOURCE1_ALPHA_ARB = 0x8589; + int GL_SOURCE2_ALPHA_ARB = 0x858A; + int GL_OPERAND0_RGB_ARB = 0x8590; + int GL_OPERAND1_RGB_ARB = 0x8591; + int GL_OPERAND2_RGB_ARB = 0x8592; + int GL_OPERAND0_ALPHA_ARB = 0x8598; + int GL_OPERAND1_ALPHA_ARB = 0x8599; + int GL_OPERAND2_ALPHA_ARB = 0x859A; + int GL_RGB_SCALE_ARB = 0x8573; + int GL_ADD_SIGNED_ARB = 0x8574; + int GL_INTERPOLATE_ARB = 0x8575; + int GL_SUBTRACT_ARB = 0x84E7; + int GL_CONSTANT_ARB = 0x8576; + int GL_PRIMARY_COLOR_ARB = 0x8577; + int GL_PREVIOUS_ARB = 0x8578; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java index d52bff2d..9cfc4055 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_env_dot3} */ -public final class GLARBTextureEnvDot3 { - public static final int GL_DOT3_RGB_ARB = 0x86AE; - public static final int GL_DOT3_RGBA_ARB = 0x86AF; +public interface GLARBTextureEnvDot3 { + int GL_DOT3_RGB_ARB = 0x86AE; + int GL_DOT3_RGBA_ARB = 0x86AF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java index d8ecf803..c767f9ee 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_filter_minmax} */ -public final class GLARBTextureFilterMinmax { - public static final int GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366; - public static final int GL_WEIGHTED_AVERAGE_ARB = 0x9367; +public interface GLARBTextureFilterMinmax { + int GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366; + int GL_WEIGHTED_AVERAGE_ARB = 0x9367; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java index 421125e3..45ab5d98 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java @@ -18,34 +18,31 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_float} */ -public final class GLARBTextureFloat { - public static final int GL_TEXTURE_RED_TYPE_ARB = 0x8C10; - public static final int GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11; - public static final int GL_TEXTURE_BLUE_TYPE_ARB = 0x8C12; - public static final int GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13; - public static final int GL_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14; - public static final int GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; - public static final int GL_TEXTURE_DEPTH_TYPE_ARB = 0x8C16; - public static final int GL_UNSIGNED_NORMALIZED_ARB = 0x8C17; - public static final int GL_RGBA32F_ARB = 0x8814; - public static final int GL_RGB32F_ARB = 0x8815; - public static final int GL_ALPHA32F_ARB = 0x8816; - public static final int GL_INTENSITY32F_ARB = 0x8817; - public static final int GL_LUMINANCE32F_ARB = 0x8818; - public static final int GL_LUMINANCE_ALPHA32F_ARB = 0x8819; - public static final int GL_RGBA16F_ARB = 0x881A; - public static final int GL_RGB16F_ARB = 0x881B; - public static final int GL_ALPHA16F_ARB = 0x881C; - public static final int GL_INTENSITY16F_ARB = 0x881D; - public static final int GL_LUMINANCE16F_ARB = 0x881E; - public static final int GL_LUMINANCE_ALPHA16F_ARB = 0x881F; +public interface GLARBTextureFloat { + int GL_TEXTURE_RED_TYPE_ARB = 0x8C10; + int GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11; + int GL_TEXTURE_BLUE_TYPE_ARB = 0x8C12; + int GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13; + int GL_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14; + int GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; + int GL_TEXTURE_DEPTH_TYPE_ARB = 0x8C16; + int GL_UNSIGNED_NORMALIZED_ARB = 0x8C17; + int GL_RGBA32F_ARB = 0x8814; + int GL_RGB32F_ARB = 0x8815; + int GL_ALPHA32F_ARB = 0x8816; + int GL_INTENSITY32F_ARB = 0x8817; + int GL_LUMINANCE32F_ARB = 0x8818; + int GL_LUMINANCE_ALPHA32F_ARB = 0x8819; + int GL_RGBA16F_ARB = 0x881A; + int GL_RGB16F_ARB = 0x881B; + int GL_ALPHA16F_ARB = 0x881C; + int GL_INTENSITY16F_ARB = 0x881D; + int GL_LUMINANCE16F_ARB = 0x881E; + int GL_LUMINANCE_ALPHA16F_ARB = 0x881F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java index b25a38c3..ab9c1b24 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_gather} */ -public final class GLARBTextureGather { - public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; - public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; - public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; +public interface GLARBTextureGather { + int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; + int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; + int GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java index 6349ccab..da8ed21a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_mirrored_repeat} */ -public final class GLARBTextureMirroredRepeat { - public static final int GL_MIRRORED_REPEAT_ARB = 0x8370; +public interface GLARBTextureMirroredRepeat { + int GL_MIRRORED_REPEAT_ARB = 0x8370; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java index 7b30e5c3..a8285b54 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_texture_rectangle} */ -public final class GLARBTextureRectangle { - public static final int GL_TEXTURE_RECTANGLE_ARB = 0x84F5; - public static final int GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; - public static final int GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; - public static final int GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; +public interface GLARBTextureRectangle { + int GL_TEXTURE_RECTANGLE_ARB = 0x84F5; + int GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; + int GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; + int GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java index 46c310eb..cb5a874c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_transform_feedback_overflow_query} */ -public final class GLARBTransformFeedbackOverflowQuery { - public static final int GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; - public static final int GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; +public interface GLARBTransformFeedbackOverflowQuery { + int GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; + int GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java index 8e848adc..63208c80 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java @@ -18,54 +18,20 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_transpose_matrix} */ -public final class GLARBTransposeMatrix { - public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; - public static final int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; - public static final int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; - public static final int GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_transpose_matrix) return; - ext.glLoadTransposeMatrixfARB = load.invoke("glLoadTransposeMatrixfARB", ofVoid(ADDRESS)); - ext.glLoadTransposeMatrixdARB = load.invoke("glLoadTransposeMatrixdARB", ofVoid(ADDRESS)); - ext.glMultTransposeMatrixfARB = load.invoke("glMultTransposeMatrixfARB", ofVoid(ADDRESS)); - ext.glMultTransposeMatrixdARB = load.invoke("glMultTransposeMatrixdARB", ofVoid(ADDRESS)); - } - - public static void glLoadTransposeMatrixfARB(@NativeType("const GLfloat*") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glLoadTransposeMatrixfARB).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLoadTransposeMatrixdARB(@NativeType("const GLdouble*") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glLoadTransposeMatrixdARB).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultTransposeMatrixfARB(@NativeType("const GLfloat*") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultTransposeMatrixfARB).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultTransposeMatrixdARB(@NativeType("const GLdouble*") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultTransposeMatrixdARB).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBTransposeMatrix { + int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; + int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; + int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; + int GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; + + void glLoadTransposeMatrixfARB(@NativeType("const GLfloat*") MemorySegment m); + void glLoadTransposeMatrixdARB(@NativeType("const GLdouble*") MemorySegment m); + void glMultTransposeMatrixfARB(@NativeType("const GLfloat*") MemorySegment m); + void glMultTransposeMatrixdARB(@NativeType("const GLdouble*") MemorySegment m); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java index b8c90f24..6bfb752e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java @@ -18,140 +18,64 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_vertex_blend} */ -public final class GLARBVertexBlend { - public static final int GL_MAX_VERTEX_UNITS_ARB = 0x86A4; - public static final int GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5; - public static final int GL_WEIGHT_SUM_UNITY_ARB = 0x86A6; - public static final int GL_VERTEX_BLEND_ARB = 0x86A7; - public static final int GL_CURRENT_WEIGHT_ARB = 0x86A8; - public static final int GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9; - public static final int GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; - public static final int GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB; - public static final int GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC; - public static final int GL_WEIGHT_ARRAY_ARB = 0x86AD; - public static final int GL_MODELVIEW0_ARB = 0x1700; - public static final int GL_MODELVIEW1_ARB = 0x850A; - public static final int GL_MODELVIEW2_ARB = 0x8722; - public static final int GL_MODELVIEW3_ARB = 0x8723; - public static final int GL_MODELVIEW4_ARB = 0x8724; - public static final int GL_MODELVIEW5_ARB = 0x8725; - public static final int GL_MODELVIEW6_ARB = 0x8726; - public static final int GL_MODELVIEW7_ARB = 0x8727; - public static final int GL_MODELVIEW8_ARB = 0x8728; - public static final int GL_MODELVIEW9_ARB = 0x8729; - public static final int GL_MODELVIEW10_ARB = 0x872A; - public static final int GL_MODELVIEW11_ARB = 0x872B; - public static final int GL_MODELVIEW12_ARB = 0x872C; - public static final int GL_MODELVIEW13_ARB = 0x872D; - public static final int GL_MODELVIEW14_ARB = 0x872E; - public static final int GL_MODELVIEW15_ARB = 0x872F; - public static final int GL_MODELVIEW16_ARB = 0x8730; - public static final int GL_MODELVIEW17_ARB = 0x8731; - public static final int GL_MODELVIEW18_ARB = 0x8732; - public static final int GL_MODELVIEW19_ARB = 0x8733; - public static final int GL_MODELVIEW20_ARB = 0x8734; - public static final int GL_MODELVIEW21_ARB = 0x8735; - public static final int GL_MODELVIEW22_ARB = 0x8736; - public static final int GL_MODELVIEW23_ARB = 0x8737; - public static final int GL_MODELVIEW24_ARB = 0x8738; - public static final int GL_MODELVIEW25_ARB = 0x8739; - public static final int GL_MODELVIEW26_ARB = 0x873A; - public static final int GL_MODELVIEW27_ARB = 0x873B; - public static final int GL_MODELVIEW28_ARB = 0x873C; - public static final int GL_MODELVIEW29_ARB = 0x873D; - public static final int GL_MODELVIEW30_ARB = 0x873E; - public static final int GL_MODELVIEW31_ARB = 0x873F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_vertex_blend) return; - ext.glWeightbvARB = load.invoke("glWeightbvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightsvARB = load.invoke("glWeightsvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightivARB = load.invoke("glWeightivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightfvARB = load.invoke("glWeightfvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightdvARB = load.invoke("glWeightdvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightubvARB = load.invoke("glWeightubvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightusvARB = load.invoke("glWeightusvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightuivARB = load.invoke("glWeightuivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glWeightPointerARB = load.invoke("glWeightPointerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexBlendARB = load.invoke("glVertexBlendARB", ofVoid(JAVA_INT)); - } - - public static void glWeightbvARB(int size, @NativeType("const GLbyte*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightbvARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightsvARB(int size, @NativeType("const GLshort*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightsvARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightivARB(int size, @NativeType("const GLint*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightivARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightfvARB(int size, @NativeType("const GLfloat*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightfvARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightdvARB(int size, @NativeType("const GLdouble*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightdvARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightubvARB(int size, @NativeType("const GLubyte*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightubvARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightusvARB(int size, @NativeType("const GLushort*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightusvARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightuivARB(int size, @NativeType("const GLuint*") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightuivARB).invokeExact(size, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightPointerARB(int size, int type, int stride, @NativeType("const void*") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightPointerARB).invokeExact(size, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexBlendARB(int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexBlendARB).invokeExact(count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBVertexBlend { + int GL_MAX_VERTEX_UNITS_ARB = 0x86A4; + int GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5; + int GL_WEIGHT_SUM_UNITY_ARB = 0x86A6; + int GL_VERTEX_BLEND_ARB = 0x86A7; + int GL_CURRENT_WEIGHT_ARB = 0x86A8; + int GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9; + int GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; + int GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB; + int GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC; + int GL_WEIGHT_ARRAY_ARB = 0x86AD; + int GL_MODELVIEW0_ARB = 0x1700; + int GL_MODELVIEW1_ARB = 0x850A; + int GL_MODELVIEW2_ARB = 0x8722; + int GL_MODELVIEW3_ARB = 0x8723; + int GL_MODELVIEW4_ARB = 0x8724; + int GL_MODELVIEW5_ARB = 0x8725; + int GL_MODELVIEW6_ARB = 0x8726; + int GL_MODELVIEW7_ARB = 0x8727; + int GL_MODELVIEW8_ARB = 0x8728; + int GL_MODELVIEW9_ARB = 0x8729; + int GL_MODELVIEW10_ARB = 0x872A; + int GL_MODELVIEW11_ARB = 0x872B; + int GL_MODELVIEW12_ARB = 0x872C; + int GL_MODELVIEW13_ARB = 0x872D; + int GL_MODELVIEW14_ARB = 0x872E; + int GL_MODELVIEW15_ARB = 0x872F; + int GL_MODELVIEW16_ARB = 0x8730; + int GL_MODELVIEW17_ARB = 0x8731; + int GL_MODELVIEW18_ARB = 0x8732; + int GL_MODELVIEW19_ARB = 0x8733; + int GL_MODELVIEW20_ARB = 0x8734; + int GL_MODELVIEW21_ARB = 0x8735; + int GL_MODELVIEW22_ARB = 0x8736; + int GL_MODELVIEW23_ARB = 0x8737; + int GL_MODELVIEW24_ARB = 0x8738; + int GL_MODELVIEW25_ARB = 0x8739; + int GL_MODELVIEW26_ARB = 0x873A; + int GL_MODELVIEW27_ARB = 0x873B; + int GL_MODELVIEW28_ARB = 0x873C; + int GL_MODELVIEW29_ARB = 0x873D; + int GL_MODELVIEW30_ARB = 0x873E; + int GL_MODELVIEW31_ARB = 0x873F; + void glWeightbvARB(int size, @NativeType("const GLbyte*") MemorySegment weights); + void glWeightsvARB(int size, @NativeType("const GLshort*") MemorySegment weights); + void glWeightivARB(int size, @NativeType("const GLint*") MemorySegment weights); + void glWeightfvARB(int size, @NativeType("const GLfloat*") MemorySegment weights); + void glWeightdvARB(int size, @NativeType("const GLdouble*") MemorySegment weights); + void glWeightubvARB(int size, @NativeType("const GLubyte*") MemorySegment weights); + void glWeightusvARB(int size, @NativeType("const GLushort*") MemorySegment weights); + void glWeightuivARB(int size, @NativeType("const GLuint*") MemorySegment weights); + void glWeightPointerARB(int size, int type, int stride, @NativeType("const void*") MemorySegment pointer); + void glVertexBlendARB(int count); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java index b88324d2..9566b4bb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java @@ -18,140 +18,54 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_vertex_buffer_object} */ -public final class GLARBVertexBufferObject { - public static final int GL_BUFFER_SIZE_ARB = 0x8764; - public static final int GL_BUFFER_USAGE_ARB = 0x8765; - public static final int GL_ARRAY_BUFFER_ARB = 0x8892; - public static final int GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893; - public static final int GL_ARRAY_BUFFER_BINDING_ARB = 0x8894; - public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; - public static final int GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; - public static final int GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; - public static final int GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; - public static final int GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; - public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; - public static final int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; - public static final int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; - public static final int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; - public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; - public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; - public static final int GL_READ_ONLY_ARB = 0x88B8; - public static final int GL_WRITE_ONLY_ARB = 0x88B9; - public static final int GL_READ_WRITE_ARB = 0x88BA; - public static final int GL_BUFFER_ACCESS_ARB = 0x88BB; - public static final int GL_BUFFER_MAPPED_ARB = 0x88BC; - public static final int GL_BUFFER_MAP_POINTER_ARB = 0x88BD; - public static final int GL_STREAM_DRAW_ARB = 0x88E0; - public static final int GL_STREAM_READ_ARB = 0x88E1; - public static final int GL_STREAM_COPY_ARB = 0x88E2; - public static final int GL_STATIC_DRAW_ARB = 0x88E4; - public static final int GL_STATIC_READ_ARB = 0x88E5; - public static final int GL_STATIC_COPY_ARB = 0x88E6; - public static final int GL_DYNAMIC_DRAW_ARB = 0x88E8; - public static final int GL_DYNAMIC_READ_ARB = 0x88E9; - public static final int GL_DYNAMIC_COPY_ARB = 0x88EA; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_vertex_buffer_object) return; - ext.glBindBufferARB = load.invoke("glBindBufferARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDeleteBuffersARB = load.invoke("glDeleteBuffersARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenBuffersARB = load.invoke("glGenBuffersARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsBufferARB = load.invoke("glIsBufferARB", of(JAVA_BYTE, JAVA_INT)); - ext.glBufferDataARB = load.invoke("glBufferDataARB", ofVoid(JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT)); - ext.glBufferSubDataARB = load.invoke("glBufferSubDataARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); - ext.glGetBufferSubDataARB = load.invoke("glGetBufferSubDataARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); - ext.glMapBufferARB = load.invoke("glMapBufferARB", of(ADDRESS, JAVA_INT, JAVA_INT)); - ext.glUnmapBufferARB = load.invoke("glUnmapBufferARB", of(JAVA_BYTE, JAVA_INT)); - ext.glGetBufferParameterivARB = load.invoke("glGetBufferParameterivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetBufferPointervARB = load.invoke("glGetBufferPointervARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glBindBufferARB(int target, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindBufferARB).invokeExact(target, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteBuffersARB(int n, @NativeType("const GLuint*") MemorySegment buffers) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteBuffersARB).invokeExact(n, buffers); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenBuffersARB(int n, @NativeType("GLuint*") MemorySegment buffers) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenBuffersARB).invokeExact(n, buffers); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsBufferARB(int buffer) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsBufferARB).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBufferDataARB(int target, long size, @NativeType("const void*") MemorySegment data, int usage) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferDataARB).invokeExact(target, size, data, usage); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBufferSubDataARB(int target, long offset, long size, @NativeType("const void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferSubDataARB).invokeExact(target, offset, size, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetBufferSubDataARB(int target, long offset, long size, @NativeType("void*") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetBufferSubDataARB).invokeExact(target, offset, size, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static @NativeType("void*") MemorySegment glMapBufferARB(int target, int access) { - final var ext = getExtCapabilities(); - try { - return (MemorySegment) - check(ext.glMapBufferARB).invokeExact(target, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glUnmapBufferARB(int target) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glUnmapBufferARB).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetBufferParameterivARB(int target, int pname, @NativeType("GLint*") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetBufferParameterivARB).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetBufferPointervARB(int target, int pname, @NativeType("void**") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetBufferPointervARB).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBVertexBufferObject { + int GL_BUFFER_SIZE_ARB = 0x8764; + int GL_BUFFER_USAGE_ARB = 0x8765; + int GL_ARRAY_BUFFER_ARB = 0x8892; + int GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893; + int GL_ARRAY_BUFFER_BINDING_ARB = 0x8894; + int GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; + int GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; + int GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; + int GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; + int GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; + int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; + int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; + int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; + int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; + int GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; + int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; + int GL_READ_ONLY_ARB = 0x88B8; + int GL_WRITE_ONLY_ARB = 0x88B9; + int GL_READ_WRITE_ARB = 0x88BA; + int GL_BUFFER_ACCESS_ARB = 0x88BB; + int GL_BUFFER_MAPPED_ARB = 0x88BC; + int GL_BUFFER_MAP_POINTER_ARB = 0x88BD; + int GL_STREAM_DRAW_ARB = 0x88E0; + int GL_STREAM_READ_ARB = 0x88E1; + int GL_STREAM_COPY_ARB = 0x88E2; + int GL_STATIC_DRAW_ARB = 0x88E4; + int GL_STATIC_READ_ARB = 0x88E5; + int GL_STATIC_COPY_ARB = 0x88E6; + int GL_DYNAMIC_DRAW_ARB = 0x88E8; + int GL_DYNAMIC_READ_ARB = 0x88E9; + int GL_DYNAMIC_COPY_ARB = 0x88EA; + void glBindBufferARB(int target, int buffer); + void glDeleteBuffersARB(int n, @NativeType("const GLuint*") MemorySegment buffers); + void glGenBuffersARB(int n, @NativeType("GLuint*") MemorySegment buffers); + boolean glIsBufferARB(int buffer); + void glBufferDataARB(int target, long size, @NativeType("const void*") MemorySegment data, int usage); + void glBufferSubDataARB(int target, long offset, long size, @NativeType("const void*") MemorySegment data); + void glGetBufferSubDataARB(int target, long offset, long size, @NativeType("void*") MemorySegment data); + @NativeType("void*") MemorySegment glMapBufferARB(int target, int access); + boolean glUnmapBufferARB(int target); + void glGetBufferParameterivARB(int target, int pname, @NativeType("GLint*") MemorySegment params); + void glGetBufferPointervARB(int target, int pname, @NativeType("void**") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java index dd1f839f..c9b3a516 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java @@ -18,378 +18,71 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_vertex_program} */ -public final class GLARBVertexProgram { - public static final int GL_COLOR_SUM_ARB = 0x8458; - public static final int GL_VERTEX_PROGRAM_ARB = 0x8620; - public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; - public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; - public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; - public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; - public static final int GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; - public static final int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; - public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; - public static final int GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869; - public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; - public static final int GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; - public static final int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; - public static final int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; - public static final int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_vertex_program) return; - ext.glVertexAttrib1dARB = load.invoke("glVertexAttrib1dARB", ofVoid(JAVA_INT, JAVA_DOUBLE)); - ext.glVertexAttrib1dvARB = load.invoke("glVertexAttrib1dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib1fARB = load.invoke("glVertexAttrib1fARB", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glVertexAttrib1fvARB = load.invoke("glVertexAttrib1fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib1sARB = load.invoke("glVertexAttrib1sARB", ofVoid(JAVA_INT, JAVA_SHORT)); - ext.glVertexAttrib1svARB = load.invoke("glVertexAttrib1svARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib2dARB = load.invoke("glVertexAttrib2dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttrib2dvARB = load.invoke("glVertexAttrib2dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib2fARB = load.invoke("glVertexAttrib2fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexAttrib2fvARB = load.invoke("glVertexAttrib2fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib2sARB = load.invoke("glVertexAttrib2sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib2svARB = load.invoke("glVertexAttrib2svARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib3dARB = load.invoke("glVertexAttrib3dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttrib3dvARB = load.invoke("glVertexAttrib3dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib3fARB = load.invoke("glVertexAttrib3fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexAttrib3fvARB = load.invoke("glVertexAttrib3fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib3sARB = load.invoke("glVertexAttrib3sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib3svARB = load.invoke("glVertexAttrib3svARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4NbvARB = load.invoke("glVertexAttrib4NbvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4NivARB = load.invoke("glVertexAttrib4NivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4NsvARB = load.invoke("glVertexAttrib4NsvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4NubARB = load.invoke("glVertexAttrib4NubARB", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glVertexAttrib4NubvARB = load.invoke("glVertexAttrib4NubvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4NuivARB = load.invoke("glVertexAttrib4NuivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4NusvARB = load.invoke("glVertexAttrib4NusvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4bvARB = load.invoke("glVertexAttrib4bvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4dARB = load.invoke("glVertexAttrib4dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttrib4dvARB = load.invoke("glVertexAttrib4dvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4fARB = load.invoke("glVertexAttrib4fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexAttrib4fvARB = load.invoke("glVertexAttrib4fvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4ivARB = load.invoke("glVertexAttrib4ivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4sARB = load.invoke("glVertexAttrib4sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib4svARB = load.invoke("glVertexAttrib4svARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4ubvARB = load.invoke("glVertexAttrib4ubvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4uivARB = load.invoke("glVertexAttrib4uivARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4usvARB = load.invoke("glVertexAttrib4usvARB", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribPointerARB = load.invoke("glVertexAttribPointerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, ADDRESS)); - ext.glEnableVertexAttribArrayARB = load.invoke("glEnableVertexAttribArrayARB", ofVoid(JAVA_INT)); - ext.glDisableVertexAttribArrayARB = load.invoke("glDisableVertexAttribArrayARB", ofVoid(JAVA_INT)); - ext.glGetVertexAttribdvARB = load.invoke("glGetVertexAttribdvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribfvARB = load.invoke("glGetVertexAttribfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribivARB = load.invoke("glGetVertexAttribivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribPointervARB = load.invoke("glGetVertexAttribPointervARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glVertexAttrib1dARB(int index, double x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1dARB).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1dvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1fARB(int index, float x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1fARB).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1fvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1sARB(int index, short x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1sARB).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1svARB(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1svARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2dARB(int index, double x, double y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2dARB).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2dvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2fARB(int index, float x, float y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2fARB).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2fvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2sARB(int index, short x, short y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2sARB).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2svARB(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2svARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3dARB(int index, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3dARB).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3dvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3fARB(int index, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3fARB).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3fvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3sARB(int index, short x, short y, short z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3sARB).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3svARB(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3svARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4NbvARB(int index, @NativeType("const GLbyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4NbvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4NivARB(int index, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4NivARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4NsvARB(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4NsvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4NubARB).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4NubvARB(int index, @NativeType("const GLubyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4NubvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4NuivARB(int index, @NativeType("const GLuint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4NuivARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4NusvARB(int index, @NativeType("const GLushort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4NusvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4bvARB(int index, @NativeType("const GLbyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4bvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4dARB(int index, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4dARB).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4dvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4fARB(int index, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4fARB).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4fvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4ivARB(int index, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4ivARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4sARB(int index, short x, short y, short z, short w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4sARB).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4svARB(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4svARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4ubvARB(int index, @NativeType("const GLubyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4ubvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4uivARB(int index, @NativeType("const GLuint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4uivARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4usvARB(int index, @NativeType("const GLushort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4usvARB).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribPointerARB).invokeExact(index, size, type, normalized, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEnableVertexAttribArrayARB(int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableVertexAttribArrayARB).invokeExact(index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableVertexAttribArrayARB(int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableVertexAttribArrayARB).invokeExact(index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribdvARB(int index, int pname, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribdvARB).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribfvARB(int index, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribfvARB).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribivARB(int index, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribivARB).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribPointervARB(int index, int pname, @NativeType("void **") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribPointervARB).invokeExact(index, pname, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBVertexProgram { + int GL_COLOR_SUM_ARB = 0x8458; + int GL_VERTEX_PROGRAM_ARB = 0x8620; + int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; + int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; + int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; + int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; + int GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626; + int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; + int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; + int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; + int GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869; + int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; + int GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; + int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; + int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; + int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; + + void glVertexAttrib1dARB(int index, double x); + void glVertexAttrib1dvARB(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib1fARB(int index, float x); + void glVertexAttrib1fvARB(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib1sARB(int index, short x); + void glVertexAttrib1svARB(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib2dARB(int index, double x, double y); + void glVertexAttrib2dvARB(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib2fARB(int index, float x, float y); + void glVertexAttrib2fvARB(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib2sARB(int index, short x, short y); + void glVertexAttrib2svARB(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib3dARB(int index, double x, double y, double z); + void glVertexAttrib3dvARB(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib3fARB(int index, float x, float y, float z); + void glVertexAttrib3fvARB(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib3sARB(int index, short x, short y, short z); + void glVertexAttrib3svARB(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib4NbvARB(int index, @NativeType("const GLbyte *") MemorySegment v); + void glVertexAttrib4NivARB(int index, @NativeType("const GLint *") MemorySegment v); + void glVertexAttrib4NsvARB(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w); + void glVertexAttrib4NubvARB(int index, @NativeType("const GLubyte *") MemorySegment v); + void glVertexAttrib4NuivARB(int index, @NativeType("const GLuint *") MemorySegment v); + void glVertexAttrib4NusvARB(int index, @NativeType("const GLushort *") MemorySegment v); + void glVertexAttrib4bvARB(int index, @NativeType("const GLbyte *") MemorySegment v); + void glVertexAttrib4dARB(int index, double x, double y, double z, double w); + void glVertexAttrib4dvARB(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib4fARB(int index, float x, float y, float z, float w); + void glVertexAttrib4fvARB(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib4ivARB(int index, @NativeType("const GLint *") MemorySegment v); + void glVertexAttrib4sARB(int index, short x, short y, short z, short w); + void glVertexAttrib4svARB(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib4ubvARB(int index, @NativeType("const GLubyte *") MemorySegment v); + void glVertexAttrib4uivARB(int index, @NativeType("const GLuint *") MemorySegment v); + void glVertexAttrib4usvARB(int index, @NativeType("const GLushort *") MemorySegment v); + void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, @NativeType("const void *") MemorySegment pointer); + void glEnableVertexAttribArrayARB(int index); + void glDisableVertexAttribArrayARB(int index); + void glGetVertexAttribdvARB(int index, int pname, @NativeType("GLdouble *") MemorySegment params); + void glGetVertexAttribfvARB(int index, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetVertexAttribivARB(int index, int pname, @NativeType("GLint *") MemorySegment params); + void glGetVertexAttribPointervARB(int index, int pname, @NativeType("void **") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java index e8b4db31..123cdd76 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java @@ -18,50 +18,22 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_vertex_shader} */ -public final class GLARBVertexShader { - public static final int GL_VERTEX_SHADER_ARB = 0x8B31; - public static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; - public static final int GL_MAX_VARYING_FLOATS_ARB = 0x8B4B; - public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; - public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; - public static final int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; - public static final int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_vertex_shader) return; - ext.glBindAttribLocationARB = load.invoke("glBindAttribLocationARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetActiveAttribARB = load.invoke("glGetActiveAttribARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glGetAttribLocationARB = load.invoke("glGetAttribLocationARB", of(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glBindAttribLocationARB(int programObj, int index, @NativeType("const GLcharARB *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindAttribLocationARB).invokeExact(programObj, index, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetActiveAttribARB(int programObj, int index, int maxLength, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLint *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLcharARB *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetActiveAttribARB).invokeExact(programObj, index, maxLength, length, size, type, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGetAttribLocationARB(int programObj, @NativeType("const GLcharARB *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetAttribLocationARB).invokeExact(programObj, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBVertexShader { + int GL_VERTEX_SHADER_ARB = 0x8B31; + int GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; + int GL_MAX_VARYING_FLOATS_ARB = 0x8B4B; + int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; + int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; + int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; + int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; + void glBindAttribLocationARB(int programObj, int index, @NativeType("const GLcharARB *") MemorySegment name); + void glGetActiveAttribARB(int programObj, int index, int maxLength, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLint *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLcharARB *") MemorySegment name); + int glGetAttribLocationARB(int programObj, @NativeType("const GLcharARB *") MemorySegment name); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java index 6a7a402c..8fcf0f6d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_viewport_array} */ -public final class GLARBViewportArray { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_viewport_array) return; - ext.glDepthRangeArraydvNV = load.invoke("glDepthRangeArraydvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDepthRangeIndexeddNV = load.invoke("glDepthRangeIndexeddNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); - } - - public static void glDepthRangeArraydvNV(int first, int count, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glDepthRangeArraydvNV).invokeExact(first, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDepthRangeIndexeddNV(int index, double n, double f) { - final var ext = getExtCapabilities(); - try { - check(ext.glDepthRangeIndexeddNV).invokeExact(index, n, f); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLARBViewportArray { + void glDepthRangeArraydvNV(int first, int count, @NativeType("const GLdouble *") MemorySegment v); + void glDepthRangeIndexeddNV(int index, double n, double f); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java index 6a52a5da..f54b370d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java @@ -18,146 +18,28 @@ package overrungl.opengl.ext.arb; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_window_pos} */ -public final class GLARBWindowPos { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_window_pos) return; - ext.glWindowPos2dARB = load.invoke("glWindowPos2dARB", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glWindowPos2dvARB = load.invoke("glWindowPos2dvARB", ofVoid(ADDRESS)); - ext.glWindowPos2fARB = load.invoke("glWindowPos2fARB", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); - ext.glWindowPos2fvARB = load.invoke("glWindowPos2fvARB", ofVoid(ADDRESS)); - ext.glWindowPos2iARB = load.invoke("glWindowPos2iARB", ofVoid(JAVA_INT, JAVA_INT)); - ext.glWindowPos2ivARB = load.invoke("glWindowPos2ivARB", ofVoid(ADDRESS)); - ext.glWindowPos2sARB = load.invoke("glWindowPos2sARB", ofVoid(JAVA_SHORT, JAVA_SHORT)); - ext.glWindowPos2svARB = load.invoke("glWindowPos2svARB", ofVoid(ADDRESS)); - ext.glWindowPos3dARB = load.invoke("glWindowPos3dARB", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glWindowPos3dvARB = load.invoke("glWindowPos3dvARB", ofVoid(ADDRESS)); - ext.glWindowPos3fARB = load.invoke("glWindowPos3fARB", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glWindowPos3fvARB = load.invoke("glWindowPos3fvARB", ofVoid(ADDRESS)); - ext.glWindowPos3iARB = load.invoke("glWindowPos3iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glWindowPos3ivARB = load.invoke("glWindowPos3ivARB", ofVoid(ADDRESS)); - ext.glWindowPos3sARB = load.invoke("glWindowPos3sARB", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glWindowPos3svARB = load.invoke("glWindowPos3svARB", ofVoid(ADDRESS)); - } - - public static void glWindowPos2dARB(double x, double y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2dARB).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2dvARB(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2dvARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2fARB(float x, float y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2fARB).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2fvARB(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2fvARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2iARB(int x, int y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2iARB).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2ivARB(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2ivARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2sARB(short x, short y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2sARB).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2svARB(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2svARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3dARB(double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3dARB).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3dvARB(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3dvARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3fARB(float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3fARB).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3fvARB(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3fvARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3iARB(int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3iARB).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3ivARB(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3ivARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3sARB(short x, short y, short z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3sARB).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3svARB(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3svARB).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLARBWindowPos { + + void glWindowPos2dARB(double x, double y); + void glWindowPos2dvARB(@NativeType("const GLdouble *") MemorySegment v); + void glWindowPos2fARB(float x, float y); + void glWindowPos2fvARB(@NativeType("const GLfloat *") MemorySegment v); + void glWindowPos2iARB(int x, int y); + void glWindowPos2ivARB(@NativeType("const GLint *") MemorySegment v); + void glWindowPos2sARB(short x, short y); + void glWindowPos2svARB(@NativeType("const GLshort *") MemorySegment v); + void glWindowPos3dARB(double x, double y, double z); + void glWindowPos3dvARB(@NativeType("const GLdouble *") MemorySegment v); + void glWindowPos3fARB(float x, float y, float z); + void glWindowPos3fvARB(@NativeType("const GLfloat *") MemorySegment v); + void glWindowPos3iARB(int x, int y, int z); + void glWindowPos3ivARB(@NativeType("const GLint *") MemorySegment v); + void glWindowPos3sARB(short x, short y, short z); + void glWindowPos3svARB(@NativeType("const GLshort *") MemorySegment v); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java index d1aae866..a4c2c642 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java @@ -18,43 +18,30 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_draw_buffers} */ -public final class GLATIDrawBuffers { - public static final int GL_MAX_DRAW_BUFFERS_ATI = 0x8824; - public static final int GL_DRAW_BUFFER0_ATI = 0x8825; - public static final int GL_DRAW_BUFFER1_ATI = 0x8826; - public static final int GL_DRAW_BUFFER2_ATI = 0x8827; - public static final int GL_DRAW_BUFFER3_ATI = 0x8828; - public static final int GL_DRAW_BUFFER4_ATI = 0x8829; - public static final int GL_DRAW_BUFFER5_ATI = 0x882A; - public static final int GL_DRAW_BUFFER6_ATI = 0x882B; - public static final int GL_DRAW_BUFFER7_ATI = 0x882C; - public static final int GL_DRAW_BUFFER8_ATI = 0x882D; - public static final int GL_DRAW_BUFFER9_ATI = 0x882E; - public static final int GL_DRAW_BUFFER10_ATI = 0x882F; - public static final int GL_DRAW_BUFFER11_ATI = 0x8830; - public static final int GL_DRAW_BUFFER12_ATI = 0x8831; - public static final int GL_DRAW_BUFFER13_ATI = 0x8832; - public static final int GL_DRAW_BUFFER14_ATI = 0x8833; - public static final int GL_DRAW_BUFFER15_ATI = 0x8834; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_draw_buffers) return; - ext.glDrawBuffersATI = load.invoke("glDrawBuffersATI", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glDrawBuffersATI(int n, @NativeType("const GLenum *") MemorySegment bufs) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawBuffersATI).invokeExact(n, bufs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLATIDrawBuffers { + int GL_MAX_DRAW_BUFFERS_ATI = 0x8824; + int GL_DRAW_BUFFER0_ATI = 0x8825; + int GL_DRAW_BUFFER1_ATI = 0x8826; + int GL_DRAW_BUFFER2_ATI = 0x8827; + int GL_DRAW_BUFFER3_ATI = 0x8828; + int GL_DRAW_BUFFER4_ATI = 0x8829; + int GL_DRAW_BUFFER5_ATI = 0x882A; + int GL_DRAW_BUFFER6_ATI = 0x882B; + int GL_DRAW_BUFFER7_ATI = 0x882C; + int GL_DRAW_BUFFER8_ATI = 0x882D; + int GL_DRAW_BUFFER9_ATI = 0x882E; + int GL_DRAW_BUFFER10_ATI = 0x882F; + int GL_DRAW_BUFFER11_ATI = 0x8830; + int GL_DRAW_BUFFER12_ATI = 0x8831; + int GL_DRAW_BUFFER13_ATI = 0x8832; + int GL_DRAW_BUFFER14_ATI = 0x8833; + int GL_DRAW_BUFFER15_ATI = 0x8834; + void glDrawBuffersATI(int n, @NativeType("const GLenum *") MemorySegment bufs); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java index 9c142156..962c51b7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java @@ -18,45 +18,18 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_element_array} */ -public final class GLATIElementArray { - public static final int GL_ELEMENT_ARRAY_ATI = 0x8768; - public static final int GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769; - public static final int GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_element_array) return; - ext.glElementPointerATI = load.invoke("glElementPointerATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glDrawElementArrayATI = load.invoke("glDrawElementArrayATI", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDrawRangeElementArrayATI = load.invoke("glDrawRangeElementArrayATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glElementPointerATI(int type, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glElementPointerATI).invokeExact(type, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawElementArrayATI(int mode, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawElementArrayATI).invokeExact(mode, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawRangeElementArrayATI(int mode, int start, int end, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawRangeElementArrayATI).invokeExact(mode, start, end, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLATIElementArray { + int GL_ELEMENT_ARRAY_ATI = 0x8768; + int GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769; + int GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; + void glElementPointerATI(int type, @NativeType("const void *") MemorySegment pointer); + void glDrawElementArrayATI(int mode, int count); + void glDrawRangeElementArrayATI(int mode, int start, int end, int count); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java index a528be6d..0171ffb7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java @@ -18,58 +18,24 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_envmap_bumpmap} */ -public final class GLATIEnvmapBumpmap { - public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775; - public static final int GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; - public static final int GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777; - public static final int GL_BUMP_TEX_UNITS_ATI = 0x8778; - public static final int GL_DUDV_ATI = 0x8779; - public static final int GL_DU8DV8_ATI = 0x877A; - public static final int GL_BUMP_ENVMAP_ATI = 0x877B; - public static final int GL_BUMP_TARGET_ATI = 0x877C; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_envmap_bumpmap) return; - ext.glTexBumpParameterivATI = load.invoke("glTexBumpParameterivATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glTexBumpParameterfvATI = load.invoke("glTexBumpParameterfvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetTexBumpParameterivATI = load.invoke("glGetTexBumpParameterivATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetTexBumpParameterfvATI = load.invoke("glGetTexBumpParameterfvATI", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glTexBumpParameterivATI(int pname, @NativeType("const GLint *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexBumpParameterivATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexBumpParameterfvATI(int pname, @NativeType("const GLfloat *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexBumpParameterfvATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexBumpParameterivATI(int pname, @NativeType("GLint *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexBumpParameterivATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexBumpParameterfvATI(int pname, @NativeType("GLfloat *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexBumpParameterfvATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLATIEnvmapBumpmap { + int GL_BUMP_ROT_MATRIX_ATI = 0x8775; + int GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; + int GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777; + int GL_BUMP_TEX_UNITS_ATI = 0x8778; + int GL_DUDV_ATI = 0x8779; + int GL_DU8DV8_ATI = 0x877A; + int GL_BUMP_ENVMAP_ATI = 0x877B; + int GL_BUMP_TARGET_ATI = 0x877C; + + void glTexBumpParameterivATI(int pname, @NativeType("const GLint *") MemorySegment param); + void glTexBumpParameterfvATI(int pname, @NativeType("const GLfloat *") MemorySegment param); + void glGetTexBumpParameterivATI(int pname, @NativeType("GLint *") MemorySegment param); + void glGetTexBumpParameterfvATI(int pname, @NativeType("GLfloat *") MemorySegment param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java index 14118cae..9dd1f54f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java @@ -18,235 +18,130 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_fragment_shader} */ -public final class GLATIFragmentShader { - public static final int GL_FRAGMENT_SHADER_ATI = 0x8920; - public static final int GL_REG_0_ATI = 0x8921; - public static final int GL_REG_1_ATI = 0x8922; - public static final int GL_REG_2_ATI = 0x8923; - public static final int GL_REG_3_ATI = 0x8924; - public static final int GL_REG_4_ATI = 0x8925; - public static final int GL_REG_5_ATI = 0x8926; - public static final int GL_REG_6_ATI = 0x8927; - public static final int GL_REG_7_ATI = 0x8928; - public static final int GL_REG_8_ATI = 0x8929; - public static final int GL_REG_9_ATI = 0x892A; - public static final int GL_REG_10_ATI = 0x892B; - public static final int GL_REG_11_ATI = 0x892C; - public static final int GL_REG_12_ATI = 0x892D; - public static final int GL_REG_13_ATI = 0x892E; - public static final int GL_REG_14_ATI = 0x892F; - public static final int GL_REG_15_ATI = 0x8930; - public static final int GL_REG_16_ATI = 0x8931; - public static final int GL_REG_17_ATI = 0x8932; - public static final int GL_REG_18_ATI = 0x8933; - public static final int GL_REG_19_ATI = 0x8934; - public static final int GL_REG_20_ATI = 0x8935; - public static final int GL_REG_21_ATI = 0x8936; - public static final int GL_REG_22_ATI = 0x8937; - public static final int GL_REG_23_ATI = 0x8938; - public static final int GL_REG_24_ATI = 0x8939; - public static final int GL_REG_25_ATI = 0x893A; - public static final int GL_REG_26_ATI = 0x893B; - public static final int GL_REG_27_ATI = 0x893C; - public static final int GL_REG_28_ATI = 0x893D; - public static final int GL_REG_29_ATI = 0x893E; - public static final int GL_REG_30_ATI = 0x893F; - public static final int GL_REG_31_ATI = 0x8940; - public static final int GL_CON_0_ATI = 0x8941; - public static final int GL_CON_1_ATI = 0x8942; - public static final int GL_CON_2_ATI = 0x8943; - public static final int GL_CON_3_ATI = 0x8944; - public static final int GL_CON_4_ATI = 0x8945; - public static final int GL_CON_5_ATI = 0x8946; - public static final int GL_CON_6_ATI = 0x8947; - public static final int GL_CON_7_ATI = 0x8948; - public static final int GL_CON_8_ATI = 0x8949; - public static final int GL_CON_9_ATI = 0x894A; - public static final int GL_CON_10_ATI = 0x894B; - public static final int GL_CON_11_ATI = 0x894C; - public static final int GL_CON_12_ATI = 0x894D; - public static final int GL_CON_13_ATI = 0x894E; - public static final int GL_CON_14_ATI = 0x894F; - public static final int GL_CON_15_ATI = 0x8950; - public static final int GL_CON_16_ATI = 0x8951; - public static final int GL_CON_17_ATI = 0x8952; - public static final int GL_CON_18_ATI = 0x8953; - public static final int GL_CON_19_ATI = 0x8954; - public static final int GL_CON_20_ATI = 0x8955; - public static final int GL_CON_21_ATI = 0x8956; - public static final int GL_CON_22_ATI = 0x8957; - public static final int GL_CON_23_ATI = 0x8958; - public static final int GL_CON_24_ATI = 0x8959; - public static final int GL_CON_25_ATI = 0x895A; - public static final int GL_CON_26_ATI = 0x895B; - public static final int GL_CON_27_ATI = 0x895C; - public static final int GL_CON_28_ATI = 0x895D; - public static final int GL_CON_29_ATI = 0x895E; - public static final int GL_CON_30_ATI = 0x895F; - public static final int GL_CON_31_ATI = 0x8960; - public static final int GL_MOV_ATI = 0x8961; - public static final int GL_ADD_ATI = 0x8963; - public static final int GL_MUL_ATI = 0x8964; - public static final int GL_SUB_ATI = 0x8965; - public static final int GL_DOT3_ATI = 0x8966; - public static final int GL_DOT4_ATI = 0x8967; - public static final int GL_MAD_ATI = 0x8968; - public static final int GL_LERP_ATI = 0x8969; - public static final int GL_CND_ATI = 0x896A; - public static final int GL_CND0_ATI = 0x896B; - public static final int GL_DOT2_ADD_ATI = 0x896C; - public static final int GL_SECONDARY_INTERPOLATOR_ATI = 0x896D; - public static final int GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E; - public static final int GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; - public static final int GL_NUM_PASSES_ATI = 0x8970; - public static final int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; - public static final int GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; - public static final int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; - public static final int GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; - public static final int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; - public static final int GL_SWIZZLE_STR_ATI = 0x8976; - public static final int GL_SWIZZLE_STQ_ATI = 0x8977; - public static final int GL_SWIZZLE_STR_DR_ATI = 0x8978; - public static final int GL_SWIZZLE_STQ_DQ_ATI = 0x8979; - public static final int GL_SWIZZLE_STRQ_ATI = 0x897A; - public static final int GL_SWIZZLE_STRQ_DQ_ATI = 0x897B; - public static final int GL_RED_BIT_ATI = 0x00000001; - public static final int GL_GREEN_BIT_ATI = 0x00000002; - public static final int GL_BLUE_BIT_ATI = 0x00000004; - public static final int GL_2X_BIT_ATI = 0x00000001; - public static final int GL_4X_BIT_ATI = 0x00000002; - public static final int GL_8X_BIT_ATI = 0x00000004; - public static final int GL_HALF_BIT_ATI = 0x00000008; - public static final int GL_QUARTER_BIT_ATI = 0x00000010; - public static final int GL_EIGHTH_BIT_ATI = 0x00000020; - public static final int GL_SATURATE_BIT_ATI = 0x00000040; - public static final int GL_COMP_BIT_ATI = 0x00000002; - public static final int GL_NEGATE_BIT_ATI = 0x00000004; - public static final int GL_BIAS_BIT_ATI = 0x00000008; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_fragment_shader) return; - ext.glGenFragmentShadersATI = load.invoke("glGenFragmentShadersATI", of(JAVA_INT, JAVA_INT)); - ext.glBindFragmentShaderATI = load.invoke("glBindFragmentShaderATI", ofVoid(JAVA_INT)); - ext.glDeleteFragmentShaderATI = load.invoke("glDeleteFragmentShaderATI", ofVoid(JAVA_INT)); - ext.glBeginFragmentShaderATI = load.invoke("glBeginFragmentShaderATI", ofVoid()); - ext.glEndFragmentShaderATI = load.invoke("glEndFragmentShaderATI", ofVoid()); - ext.glPassTexCoordATI = load.invoke("glPassTexCoordATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glSampleMapATI = load.invoke("glSampleMapATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glColorFragmentOp1ATI = load.invoke("glColorFragmentOp1ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glColorFragmentOp2ATI = load.invoke("glColorFragmentOp2ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glColorFragmentOp3ATI = load.invoke("glColorFragmentOp3ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glAlphaFragmentOp1ATI = load.invoke("glAlphaFragmentOp1ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glAlphaFragmentOp2ATI = load.invoke("glAlphaFragmentOp2ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glAlphaFragmentOp3ATI = load.invoke("glAlphaFragmentOp3ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glSetFragmentShaderConstantATI = load.invoke("glSetFragmentShaderConstantATI", ofVoid(JAVA_INT, ADDRESS)); - } - - public static int glGenFragmentShadersATI(int range) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGenFragmentShadersATI).invokeExact(range); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindFragmentShaderATI(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindFragmentShaderATI).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteFragmentShaderATI(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteFragmentShaderATI).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBeginFragmentShaderATI() { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginFragmentShaderATI).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndFragmentShaderATI() { - final var ext = getExtCapabilities(); - try { - check(ext.glEndFragmentShaderATI).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPassTexCoordATI(int dst, int coord, int swizzle) { - final var ext = getExtCapabilities(); - try { - check(ext.glPassTexCoordATI).invokeExact(dst, coord, swizzle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSampleMapATI(int dst, int interp, int swizzle) { - final var ext = getExtCapabilities(); - try { - check(ext.glSampleMapATI).invokeExact(dst, interp, swizzle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorFragmentOp1ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorFragmentOp1ATI).invokeExact(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorFragmentOp2ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorFragmentOp2ATI).invokeExact(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorFragmentOp3ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorFragmentOp3ATI).invokeExact(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glAlphaFragmentOp1ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod) { - final var ext = getExtCapabilities(); - try { - check(ext.glAlphaFragmentOp1ATI).invokeExact(op, dst, dstMod, arg1, arg1Rep, arg1Mod); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glAlphaFragmentOp2ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod) { - final var ext = getExtCapabilities(); - try { - check(ext.glAlphaFragmentOp2ATI).invokeExact(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glAlphaFragmentOp3ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod) { - final var ext = getExtCapabilities(); - try { - check(ext.glAlphaFragmentOp3ATI).invokeExact(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSetFragmentShaderConstantATI(int dst, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glSetFragmentShaderConstantATI).invokeExact(dst, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLATIFragmentShader { + int GL_FRAGMENT_SHADER_ATI = 0x8920; + int GL_REG_0_ATI = 0x8921; + int GL_REG_1_ATI = 0x8922; + int GL_REG_2_ATI = 0x8923; + int GL_REG_3_ATI = 0x8924; + int GL_REG_4_ATI = 0x8925; + int GL_REG_5_ATI = 0x8926; + int GL_REG_6_ATI = 0x8927; + int GL_REG_7_ATI = 0x8928; + int GL_REG_8_ATI = 0x8929; + int GL_REG_9_ATI = 0x892A; + int GL_REG_10_ATI = 0x892B; + int GL_REG_11_ATI = 0x892C; + int GL_REG_12_ATI = 0x892D; + int GL_REG_13_ATI = 0x892E; + int GL_REG_14_ATI = 0x892F; + int GL_REG_15_ATI = 0x8930; + int GL_REG_16_ATI = 0x8931; + int GL_REG_17_ATI = 0x8932; + int GL_REG_18_ATI = 0x8933; + int GL_REG_19_ATI = 0x8934; + int GL_REG_20_ATI = 0x8935; + int GL_REG_21_ATI = 0x8936; + int GL_REG_22_ATI = 0x8937; + int GL_REG_23_ATI = 0x8938; + int GL_REG_24_ATI = 0x8939; + int GL_REG_25_ATI = 0x893A; + int GL_REG_26_ATI = 0x893B; + int GL_REG_27_ATI = 0x893C; + int GL_REG_28_ATI = 0x893D; + int GL_REG_29_ATI = 0x893E; + int GL_REG_30_ATI = 0x893F; + int GL_REG_31_ATI = 0x8940; + int GL_CON_0_ATI = 0x8941; + int GL_CON_1_ATI = 0x8942; + int GL_CON_2_ATI = 0x8943; + int GL_CON_3_ATI = 0x8944; + int GL_CON_4_ATI = 0x8945; + int GL_CON_5_ATI = 0x8946; + int GL_CON_6_ATI = 0x8947; + int GL_CON_7_ATI = 0x8948; + int GL_CON_8_ATI = 0x8949; + int GL_CON_9_ATI = 0x894A; + int GL_CON_10_ATI = 0x894B; + int GL_CON_11_ATI = 0x894C; + int GL_CON_12_ATI = 0x894D; + int GL_CON_13_ATI = 0x894E; + int GL_CON_14_ATI = 0x894F; + int GL_CON_15_ATI = 0x8950; + int GL_CON_16_ATI = 0x8951; + int GL_CON_17_ATI = 0x8952; + int GL_CON_18_ATI = 0x8953; + int GL_CON_19_ATI = 0x8954; + int GL_CON_20_ATI = 0x8955; + int GL_CON_21_ATI = 0x8956; + int GL_CON_22_ATI = 0x8957; + int GL_CON_23_ATI = 0x8958; + int GL_CON_24_ATI = 0x8959; + int GL_CON_25_ATI = 0x895A; + int GL_CON_26_ATI = 0x895B; + int GL_CON_27_ATI = 0x895C; + int GL_CON_28_ATI = 0x895D; + int GL_CON_29_ATI = 0x895E; + int GL_CON_30_ATI = 0x895F; + int GL_CON_31_ATI = 0x8960; + int GL_MOV_ATI = 0x8961; + int GL_ADD_ATI = 0x8963; + int GL_MUL_ATI = 0x8964; + int GL_SUB_ATI = 0x8965; + int GL_DOT3_ATI = 0x8966; + int GL_DOT4_ATI = 0x8967; + int GL_MAD_ATI = 0x8968; + int GL_LERP_ATI = 0x8969; + int GL_CND_ATI = 0x896A; + int GL_CND0_ATI = 0x896B; + int GL_DOT2_ADD_ATI = 0x896C; + int GL_SECONDARY_INTERPOLATOR_ATI = 0x896D; + int GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E; + int GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; + int GL_NUM_PASSES_ATI = 0x8970; + int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; + int GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; + int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; + int GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; + int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; + int GL_SWIZZLE_STR_ATI = 0x8976; + int GL_SWIZZLE_STQ_ATI = 0x8977; + int GL_SWIZZLE_STR_DR_ATI = 0x8978; + int GL_SWIZZLE_STQ_DQ_ATI = 0x8979; + int GL_SWIZZLE_STRQ_ATI = 0x897A; + int GL_SWIZZLE_STRQ_DQ_ATI = 0x897B; + int GL_RED_BIT_ATI = 0x00000001; + int GL_GREEN_BIT_ATI = 0x00000002; + int GL_BLUE_BIT_ATI = 0x00000004; + int GL_2X_BIT_ATI = 0x00000001; + int GL_4X_BIT_ATI = 0x00000002; + int GL_8X_BIT_ATI = 0x00000004; + int GL_HALF_BIT_ATI = 0x00000008; + int GL_QUARTER_BIT_ATI = 0x00000010; + int GL_EIGHTH_BIT_ATI = 0x00000020; + int GL_SATURATE_BIT_ATI = 0x00000040; + int GL_COMP_BIT_ATI = 0x00000002; + int GL_NEGATE_BIT_ATI = 0x00000004; + int GL_BIAS_BIT_ATI = 0x00000008; + + int glGenFragmentShadersATI(int range); + void glBindFragmentShaderATI(int id); + void glDeleteFragmentShaderATI(int id); + void glBeginFragmentShaderATI(); + void glEndFragmentShaderATI(); + void glPassTexCoordATI(int dst, int coord, int swizzle); + void glSampleMapATI(int dst, int interp, int swizzle); + void glColorFragmentOp1ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod); + void glColorFragmentOp2ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod); + void glColorFragmentOp3ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod); + void glAlphaFragmentOp1ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod); + void glAlphaFragmentOp2ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod); + void glAlphaFragmentOp3ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod); + void glSetFragmentShaderConstantATI(int dst, @NativeType("const GLfloat *") MemorySegment value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java index 4812b584..58b3277a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java @@ -18,35 +18,14 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_map_object_buffer} */ -public final class GLATIMapObjectBuffer { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_map_object_buffer) return; - ext.glMapObjectBufferATI = load.invoke("glMapObjectBufferATI", of(ADDRESS, JAVA_INT)); - ext.glUnmapObjectBufferATI = load.invoke("glUnmapObjectBufferATI", ofVoid(JAVA_INT)); - } - - public static @NativeType("void*") MemorySegment glMapObjectBufferATI(int buffer) { - final var ext = getExtCapabilities(); - try { - return (MemorySegment) - check(ext.glMapObjectBufferATI).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUnmapObjectBufferATI(int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glUnmapObjectBufferATI).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLATIMapObjectBuffer { + @NativeType("void*") MemorySegment glMapObjectBufferATI(int buffer); + void glUnmapObjectBufferATI(int buffer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java index 20d3dce6..323fdfcd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_meminfo} */ -public final class GLATIMeminfo { - public static final int GL_VBO_FREE_MEMORY_ATI = 0x87FB; - public static final int GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC; - public static final int GL_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; +public interface GLATIMeminfo { + int GL_VBO_FREE_MEMORY_ATI = 0x87FB; + int GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC; + int GL_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java index 2a125224..4525e399 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_pixel_format_float} */ -public final class GLATIPixelFormatFloat { - public static final int GL_RGBA_FLOAT_MODE_ATI = 0x8820; - public static final int GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; +public interface GLATIPixelFormatFloat { + int GL_RGBA_FLOAT_MODE_ATI = 0x8820; + int GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java index a15809c1..15c22bc5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java @@ -18,43 +18,23 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_pn_triangles} */ -public final class GLATIPnTriangles { - public static final int GL_PN_TRIANGLES_ATI = 0x87F0; - public static final int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; - public static final int GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; - public static final int GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; - public static final int GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; - public static final int GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; - public static final int GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; - public static final int GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; - public static final int GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_pn_triangles) return; - ext.glPNTrianglesiATI = load.invoke("glPNTrianglesiATI", ofVoid(JAVA_INT, JAVA_INT)); - ext.glPNTrianglesfATI = load.invoke("glPNTrianglesfATI", ofVoid(JAVA_INT, JAVA_FLOAT)); - } - - public static void glPNTrianglesiATI(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPNTrianglesiATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPNTrianglesfATI(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPNTrianglesfATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLATIPnTriangles { + int GL_PN_TRIANGLES_ATI = 0x87F0; + int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; + int GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; + int GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; + int GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; + int GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; + int GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; + int GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; + int GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; + void glPNTrianglesiATI(int pname, int param); + void glPNTrianglesfATI(int pname, float param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java index e5ab8f74..c91a8f56 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java @@ -18,38 +18,18 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_separate_stencil} */ -public final class GLATISeparateStencil { - public static final int GL_STENCIL_BACK_FUNC_ATI = 0x8800; - public static final int GL_STENCIL_BACK_FAIL_ATI = 0x8801; - public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; - public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_separate_stencil) return; - ext.glStencilOpSeparateATI = load.invoke("glStencilOpSeparateATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glStencilFuncSeparateATI = load.invoke("glStencilFuncSeparateATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilOpSeparateATI).invokeExact(face, sfail, dpfail, dppass); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilFuncSeparateATI(int frontfunc, int backfunc, int ref, int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilFuncSeparateATI).invokeExact(frontfunc, backfunc, ref, mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLATISeparateStencil { + int GL_STENCIL_BACK_FUNC_ATI = 0x8800; + int GL_STENCIL_BACK_FAIL_ATI = 0x8801; + int GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; + int GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; + void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass); + void glStencilFuncSeparateATI(int frontfunc, int backfunc, int ref, int mask); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java index 3e7f8a1a..85c0c96a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_text_fragment_shader} */ -public final class GLATITextFragmentShader { - public static final int GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200; +public interface GLATITextFragmentShader { + int GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java index f63ccd70..4354fe2b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_texture_env_combine3} */ -public final class GLATITextureEnvCombine3 { - public static final int GL_MODULATE_ADD_ATI = 0x8744; - public static final int GL_MODULATE_SIGNED_ADD_ATI = 0x8745; - public static final int GL_MODULATE_SUBTRACT_ATI = 0x8746; +public interface GLATITextureEnvCombine3 { + int GL_MODULATE_ADD_ATI = 0x8744; + int GL_MODULATE_SIGNED_ADD_ATI = 0x8745; + int GL_MODULATE_SUBTRACT_ATI = 0x8746; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java index 5c86a1ad..238fa1e4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java @@ -18,26 +18,23 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_texture_float} */ -public final class GLATITextureFloat { - public static final int GL_RGBA_FLOAT32_ATI = 0x8814; - public static final int GL_RGB_FLOAT32_ATI = 0x8815; - public static final int GL_ALPHA_FLOAT32_ATI = 0x8816; - public static final int GL_INTENSITY_FLOAT32_ATI = 0x8817; - public static final int GL_LUMINANCE_FLOAT32_ATI = 0x8818; - public static final int GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; - public static final int GL_RGBA_FLOAT16_ATI = 0x881A; - public static final int GL_RGB_FLOAT16_ATI = 0x881B; - public static final int GL_ALPHA_FLOAT16_ATI = 0x881C; - public static final int GL_INTENSITY_FLOAT16_ATI = 0x881D; - public static final int GL_LUMINANCE_FLOAT16_ATI = 0x881E; - public static final int GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; +public interface GLATITextureFloat { + int GL_RGBA_FLOAT32_ATI = 0x8814; + int GL_RGB_FLOAT32_ATI = 0x8815; + int GL_ALPHA_FLOAT32_ATI = 0x8816; + int GL_INTENSITY_FLOAT32_ATI = 0x8817; + int GL_LUMINANCE_FLOAT32_ATI = 0x8818; + int GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; + int GL_RGBA_FLOAT16_ATI = 0x881A; + int GL_RGB_FLOAT16_ATI = 0x881B; + int GL_ALPHA_FLOAT16_ATI = 0x881C; + int GL_INTENSITY_FLOAT16_ATI = 0x881D; + int GL_LUMINANCE_FLOAT16_ATI = 0x881E; + int GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java index edb6d808..32df2621 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_texture_mirror_once} */ -public final class GLATITextureMirrorOnce { - public static final int GL_MIRROR_CLAMP_ATI = 0x8742; - public static final int GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; +public interface GLATITextureMirrorOnce { + int GL_MIRROR_CLAMP_ATI = 0x8742; + int GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java index a4cac56a..25a657a3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java @@ -18,124 +18,32 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_vertex_array_object} */ -public final class GLATIVertexArrayObject { - public static final int GL_STATIC_ATI = 0x8760; - public static final int GL_DYNAMIC_ATI = 0x8761; - public static final int GL_PRESERVE_ATI = 0x8762; - public static final int GL_DISCARD_ATI = 0x8763; - public static final int GL_OBJECT_BUFFER_SIZE_ATI = 0x8764; - public static final int GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; - public static final int GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; - public static final int GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_vertex_array_object) return; - ext.glNewObjectBufferATI = load.invoke("glNewObjectBufferATI", of(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glIsObjectBufferATI = load.invoke("glIsObjectBufferATI", of(JAVA_BYTE, JAVA_INT)); - ext.glUpdateObjectBufferATI = load.invoke("glUpdateObjectBufferATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glGetObjectBufferfvATI = load.invoke("glGetObjectBufferfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetObjectBufferivATI = load.invoke("glGetObjectBufferivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFreeObjectBufferATI = load.invoke("glFreeObjectBufferATI", ofVoid(JAVA_INT)); - ext.glArrayObjectATI = load.invoke("glArrayObjectATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetArrayObjectfvATI = load.invoke("glGetArrayObjectfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetArrayObjectivATI = load.invoke("glGetArrayObjectivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVariantArrayObjectATI = load.invoke("glVariantArrayObjectATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetVariantArrayObjectfvATI = load.invoke("glGetVariantArrayObjectfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVariantArrayObjectivATI = load.invoke("glGetVariantArrayObjectivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static int glNewObjectBufferATI(int size, @NativeType("const void *") MemorySegment pointer, int usage) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glNewObjectBufferATI).invokeExact(size, pointer, usage); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsObjectBufferATI(int buffer) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsObjectBufferATI).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUpdateObjectBufferATI(int buffer, int offset, int size, @NativeType("const void *") MemorySegment pointer, int preserve) { - final var ext = getExtCapabilities(); - try { - check(ext.glUpdateObjectBufferATI).invokeExact(buffer, offset, size, pointer, preserve); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetObjectBufferfvATI(int buffer, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetObjectBufferfvATI).invokeExact(buffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetObjectBufferivATI(int buffer, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetObjectBufferivATI).invokeExact(buffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFreeObjectBufferATI(int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glFreeObjectBufferATI).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glArrayObjectATI(int array, int size, int type, int stride, int buffer, int offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glArrayObjectATI).invokeExact(array, size, type, stride, buffer, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetArrayObjectfvATI(int array, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetArrayObjectfvATI).invokeExact(array, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetArrayObjectivATI(int array, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetArrayObjectivATI).invokeExact(array, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantArrayObjectATI(int id, int type, int stride, int buffer, int offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantArrayObjectATI).invokeExact(id, type, stride, buffer, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVariantArrayObjectfvATI(int id, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVariantArrayObjectfvATI).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVariantArrayObjectivATI(int id, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVariantArrayObjectivATI).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLATIVertexArrayObject { + int GL_STATIC_ATI = 0x8760; + int GL_DYNAMIC_ATI = 0x8761; + int GL_PRESERVE_ATI = 0x8762; + int GL_DISCARD_ATI = 0x8763; + int GL_OBJECT_BUFFER_SIZE_ATI = 0x8764; + int GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; + int GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; + int GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767; + + int glNewObjectBufferATI(int size, @NativeType("const void *") MemorySegment pointer, int usage); + boolean glIsObjectBufferATI(int buffer); + void glUpdateObjectBufferATI(int buffer, int offset, int size, @NativeType("const void *") MemorySegment pointer, int preserve); + void glGetObjectBufferfvATI(int buffer, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetObjectBufferivATI(int buffer, int pname, @NativeType("GLint *") MemorySegment params); + void glFreeObjectBufferATI(int buffer); + void glArrayObjectATI(int array, int size, int type, int stride, int buffer, int offset); + void glGetArrayObjectfvATI(int array, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetArrayObjectivATI(int array, int pname, @NativeType("GLint *") MemorySegment params); + void glVariantArrayObjectATI(int id, int type, int stride, int buffer, int offset); + void glGetVariantArrayObjectfvATI(int id, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetVariantArrayObjectivATI(int id, int pname, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java index 0806c8b3..28f7bf88 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java @@ -18,42 +18,15 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_vertex_attrib_array_object} */ -public final class GLATIVertexAttribArrayObject { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_vertex_attrib_array_object) return; - ext.glVertexAttribArrayObjectATI = load.invoke("glVertexAttribArrayObjectATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetVertexAttribArrayObjectfvATI = load.invoke("glGetVertexAttribArrayObjectfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribArrayObjectivATI = load.invoke("glGetVertexAttribArrayObjectivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glVertexAttribArrayObjectATI(int index, int size, int type, boolean normalized, int stride, int buffer, int offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribArrayObjectATI).invokeExact(index, size, type, normalized, stride, buffer, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribArrayObjectfvATI(int index, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribArrayObjectfvATI).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribArrayObjectivATI(int index, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribArrayObjectivATI).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLATIVertexAttribArrayObject { + void glVertexAttribArrayObjectATI(int index, int size, int type, boolean normalized, int stride, int buffer, int offset); + void glGetVertexAttribArrayObjectfvATI(int index, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetVertexAttribArrayObjectivATI(int index, int pname, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java index 170a5911..2f31d8ea 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java @@ -18,388 +18,67 @@ package overrungl.opengl.ext.ati; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_ATI_vertex_streams} */ -public final class GLATIVertexStreams { - public static final int GL_MAX_VERTEX_STREAMS_ATI = 0x876B; - public static final int GL_VERTEX_STREAM0_ATI = 0x876C; - public static final int GL_VERTEX_STREAM1_ATI = 0x876D; - public static final int GL_VERTEX_STREAM2_ATI = 0x876E; - public static final int GL_VERTEX_STREAM3_ATI = 0x876F; - public static final int GL_VERTEX_STREAM4_ATI = 0x8770; - public static final int GL_VERTEX_STREAM5_ATI = 0x8771; - public static final int GL_VERTEX_STREAM6_ATI = 0x8772; - public static final int GL_VERTEX_STREAM7_ATI = 0x8773; - public static final int GL_VERTEX_SOURCE_ATI = 0x8774; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ATI_vertex_streams) return; - ext.glVertexStream1sATI = load.invoke("glVertexStream1sATI", ofVoid(JAVA_INT, JAVA_SHORT)); - ext.glVertexStream1svATI = load.invoke("glVertexStream1svATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream1iATI = load.invoke("glVertexStream1iATI", ofVoid(JAVA_INT, JAVA_INT)); - ext.glVertexStream1ivATI = load.invoke("glVertexStream1ivATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream1fATI = load.invoke("glVertexStream1fATI", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glVertexStream1fvATI = load.invoke("glVertexStream1fvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream1dATI = load.invoke("glVertexStream1dATI", ofVoid(JAVA_INT, JAVA_DOUBLE)); - ext.glVertexStream1dvATI = load.invoke("glVertexStream1dvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream2sATI = load.invoke("glVertexStream2sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexStream2svATI = load.invoke("glVertexStream2svATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream2iATI = load.invoke("glVertexStream2iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexStream2ivATI = load.invoke("glVertexStream2ivATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream2fATI = load.invoke("glVertexStream2fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexStream2fvATI = load.invoke("glVertexStream2fvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream2dATI = load.invoke("glVertexStream2dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexStream2dvATI = load.invoke("glVertexStream2dvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream3sATI = load.invoke("glVertexStream3sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexStream3svATI = load.invoke("glVertexStream3svATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream3iATI = load.invoke("glVertexStream3iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexStream3ivATI = load.invoke("glVertexStream3ivATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream3fATI = load.invoke("glVertexStream3fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexStream3fvATI = load.invoke("glVertexStream3fvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream3dATI = load.invoke("glVertexStream3dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexStream3dvATI = load.invoke("glVertexStream3dvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream4sATI = load.invoke("glVertexStream4sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexStream4svATI = load.invoke("glVertexStream4svATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream4iATI = load.invoke("glVertexStream4iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexStream4ivATI = load.invoke("glVertexStream4ivATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream4fATI = load.invoke("glVertexStream4fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexStream4fvATI = load.invoke("glVertexStream4fvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexStream4dATI = load.invoke("glVertexStream4dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexStream4dvATI = load.invoke("glVertexStream4dvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glNormalStream3bATI = load.invoke("glNormalStream3bATI", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glNormalStream3bvATI = load.invoke("glNormalStream3bvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glNormalStream3sATI = load.invoke("glNormalStream3sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glNormalStream3svATI = load.invoke("glNormalStream3svATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glNormalStream3iATI = load.invoke("glNormalStream3iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNormalStream3ivATI = load.invoke("glNormalStream3ivATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glNormalStream3fATI = load.invoke("glNormalStream3fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glNormalStream3fvATI = load.invoke("glNormalStream3fvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glNormalStream3dATI = load.invoke("glNormalStream3dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glNormalStream3dvATI = load.invoke("glNormalStream3dvATI", ofVoid(JAVA_INT, ADDRESS)); - ext.glClientActiveVertexStreamATI = load.invoke("glClientActiveVertexStreamATI", ofVoid(JAVA_INT)); - ext.glVertexBlendEnviATI = load.invoke("glVertexBlendEnviATI", ofVoid(JAVA_INT, JAVA_INT)); - ext.glVertexBlendEnvfATI = load.invoke("glVertexBlendEnvfATI", ofVoid(JAVA_INT, JAVA_FLOAT)); - } - - public static void glVertexStream1sATI(int stream, short x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1sATI).invokeExact(stream, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream1svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1svATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream1iATI(int stream, int x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1iATI).invokeExact(stream, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream1ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1ivATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream1fATI(int stream, float x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1fATI).invokeExact(stream, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream1fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1fvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream1dATI(int stream, double x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1dATI).invokeExact(stream, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream1dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream1dvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2sATI(int stream, short x, short y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2sATI).invokeExact(stream, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2svATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2iATI(int stream, int x, int y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2iATI).invokeExact(stream, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2ivATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2fATI(int stream, float x, float y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2fATI).invokeExact(stream, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2fvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2dATI(int stream, double x, double y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2dATI).invokeExact(stream, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream2dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream2dvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3sATI(int stream, short x, short y, short z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3sATI).invokeExact(stream, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3svATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3iATI(int stream, int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3iATI).invokeExact(stream, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3ivATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3fATI(int stream, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3fATI).invokeExact(stream, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3fvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3dATI(int stream, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3dATI).invokeExact(stream, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream3dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream3dvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4sATI(int stream, short x, short y, short z, short w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4sATI).invokeExact(stream, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4svATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4iATI(int stream, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4iATI).invokeExact(stream, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4ivATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4fATI(int stream, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4fATI).invokeExact(stream, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4fvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4dATI(int stream, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4dATI).invokeExact(stream, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexStream4dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexStream4dvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3bATI(int stream, byte nx, byte ny, byte nz) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3bATI).invokeExact(stream, nx, ny, nz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3bvATI(int stream, @NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3bvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3sATI(int stream, short nx, short ny, short nz) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3sATI).invokeExact(stream, nx, ny, nz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3svATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3iATI(int stream, int nx, int ny, int nz) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3iATI).invokeExact(stream, nx, ny, nz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3ivATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3fATI(int stream, float nx, float ny, float nz) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3fATI).invokeExact(stream, nx, ny, nz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3fvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3dATI(int stream, double nx, double ny, double nz) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3dATI).invokeExact(stream, nx, ny, nz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalStream3dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalStream3dvATI).invokeExact(stream, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClientActiveVertexStreamATI(int stream) { - final var ext = getExtCapabilities(); - try { - check(ext.glClientActiveVertexStreamATI).invokeExact(stream); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexBlendEnviATI(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexBlendEnviATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexBlendEnvfATI(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexBlendEnvfATI).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLATIVertexStreams { + int GL_MAX_VERTEX_STREAMS_ATI = 0x876B; + int GL_VERTEX_STREAM0_ATI = 0x876C; + int GL_VERTEX_STREAM1_ATI = 0x876D; + int GL_VERTEX_STREAM2_ATI = 0x876E; + int GL_VERTEX_STREAM3_ATI = 0x876F; + int GL_VERTEX_STREAM4_ATI = 0x8770; + int GL_VERTEX_STREAM5_ATI = 0x8771; + int GL_VERTEX_STREAM6_ATI = 0x8772; + int GL_VERTEX_STREAM7_ATI = 0x8773; + int GL_VERTEX_SOURCE_ATI = 0x8774; + + void glVertexStream1sATI(int stream, short x); + void glVertexStream1svATI(int stream, @NativeType("const GLshort *") MemorySegment coords); + void glVertexStream1iATI(int stream, int x); + void glVertexStream1ivATI(int stream, @NativeType("const GLint *") MemorySegment coords); + void glVertexStream1fATI(int stream, float x); + void glVertexStream1fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords); + void glVertexStream1dATI(int stream, double x); + void glVertexStream1dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords); + void glVertexStream2sATI(int stream, short x, short y); + void glVertexStream2svATI(int stream, @NativeType("const GLshort *") MemorySegment coords); + void glVertexStream2iATI(int stream, int x, int y); + void glVertexStream2ivATI(int stream, @NativeType("const GLint *") MemorySegment coords); + void glVertexStream2fATI(int stream, float x, float y); + void glVertexStream2fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords); + void glVertexStream2dATI(int stream, double x, double y); + void glVertexStream2dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords); + void glVertexStream3sATI(int stream, short x, short y, short z); + void glVertexStream3svATI(int stream, @NativeType("const GLshort *") MemorySegment coords); + void glVertexStream3iATI(int stream, int x, int y, int z); + void glVertexStream3ivATI(int stream, @NativeType("const GLint *") MemorySegment coords); + void glVertexStream3fATI(int stream, float x, float y, float z); + void glVertexStream3fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords); + void glVertexStream3dATI(int stream, double x, double y, double z); + void glVertexStream3dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords); + void glVertexStream4sATI(int stream, short x, short y, short z, short w); + void glVertexStream4svATI(int stream, @NativeType("const GLshort *") MemorySegment coords); + void glVertexStream4iATI(int stream, int x, int y, int z, int w); + void glVertexStream4ivATI(int stream, @NativeType("const GLint *") MemorySegment coords); + void glVertexStream4fATI(int stream, float x, float y, float z, float w); + void glVertexStream4fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords); + void glVertexStream4dATI(int stream, double x, double y, double z, double w); + void glVertexStream4dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords); + void glNormalStream3bATI(int stream, byte nx, byte ny, byte nz); + void glNormalStream3bvATI(int stream, @NativeType("const GLbyte *") MemorySegment coords); + void glNormalStream3sATI(int stream, short nx, short ny, short nz); + void glNormalStream3svATI(int stream, @NativeType("const GLshort *") MemorySegment coords); + void glNormalStream3iATI(int stream, int nx, int ny, int nz); + void glNormalStream3ivATI(int stream, @NativeType("const GLint *") MemorySegment coords); + void glNormalStream3fATI(int stream, float nx, float ny, float nz); + void glNormalStream3fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords); + void glNormalStream3dATI(int stream, double nx, double ny, double nz); + void glNormalStream3dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords); + void glClientActiveVertexStreamATI(int stream); + void glVertexBlendEnviATI(int pname, int param); + void glVertexBlendEnvfATI(int pname, float param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java index 5fc033ac..fd905467 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_422_pixels} */ -public final class GLEXT422Pixels { - public static final int GL_422_EXT = 0x80CC; - public static final int GL_422_REV_EXT = 0x80CD; - public static final int GL_422_AVERAGE_EXT = 0x80CE; - public static final int GL_422_REV_AVERAGE_EXT = 0x80CF; +public interface GLEXT422Pixels { + int GL_422_EXT = 0x80CC; + int GL_422_REV_EXT = 0x80CD; + int GL_422_AVERAGE_EXT = 0x80CE; + int GL_422_REV_AVERAGE_EXT = 0x80CF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java index 09cc274f..cd8fec5d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_abgr} */ -public final class GLEXTAbgr { - public static final int GL_ABGR_EXT = 0x8000; +public interface GLEXTAbgr { + int GL_ABGR_EXT = 0x8000; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java index b747954d..e8503633 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_bgra} */ -public final class GLEXTBgra { - public static final int GL_BGR_EXT = 0x80E0; - public static final int GL_BGRA_EXT = 0x80E1; +public interface GLEXTBgra { + int GL_BGR_EXT = 0x80E0; + int GL_BGRA_EXT = 0x80E1; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java index f0078417..6f106c96 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java @@ -18,50 +18,21 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_bindable_uniform} */ -public final class GLEXTBindableUniform { - public static final int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; - public static final int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; - public static final int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; - public static final int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; - public static final int GL_UNIFORM_BUFFER_EXT = 0x8DEE; - public static final int GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_bindable_uniform) return; - ext.glUniformBufferEXT = load.invoke("glUniformBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetUniformBufferSizeEXT = load.invoke("glGetUniformBufferSizeEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetUniformOffsetEXT = load.invoke("glGetUniformOffsetEXT", of(JAVA_LONG, JAVA_INT, JAVA_INT)); - } - - public static void glUniformBufferEXT(int program, int location, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformBufferEXT).invokeExact(program, location, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGetUniformBufferSizeEXT(int program, int location) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetUniformBufferSizeEXT).invokeExact(program, location); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static long glGetUniformOffsetEXT(int program, int location) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glGetUniformOffsetEXT).invokeExact(program, location); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTBindableUniform { + int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; + int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; + int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; + int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; + int GL_UNIFORM_BUFFER_EXT = 0x8DEE; + int GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; + void glUniformBufferEXT(int program, int location, int buffer); + int glGetUniformBufferSizeEXT(int program, int location); + long glGetUniformOffsetEXT(int program, int location); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java index 9aacab36..59ffdc80 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java @@ -18,31 +18,18 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_blend_color} */ -public final class GLEXTBlendColor { - public static final int GL_CONSTANT_COLOR_EXT = 0x8001; - public static final int GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; - public static final int GL_CONSTANT_ALPHA_EXT = 0x8003; - public static final int GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; - public static final int GL_BLEND_COLOR_EXT = 0x8005; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_blend_color) return; - ext.glBlendColorEXT = load.invoke("glBlendColorEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - } - - public static void glBlendColorEXT(float red, float green, float blue, float alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendColorEXT).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTBlendColor { + int GL_CONSTANT_COLOR_EXT = 0x8001; + int GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; + int GL_CONSTANT_ALPHA_EXT = 0x8003; + int GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; + int GL_BLEND_COLOR_EXT = 0x8005; + void glBlendColorEXT(float red, float green, float blue, float alpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java index 6a1ad785..c0945a1c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_blend_equation_separate} */ -public final class GLEXTBlendEquationSeparate { - public static final int GL_BLEND_EQUATION_RGB_EXT = 0x8009; - public static final int GL_BLEND_EQUATION_ALPHA_EXT = 0x883D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_blend_equation_separate) return; - ext.glBlendEquationSeparateEXT = load.invoke("glBlendEquationSeparateEXT", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glBlendEquationSeparateEXT(int modeRGB, int modeAlpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendEquationSeparateEXT).invokeExact(modeRGB, modeAlpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTBlendEquationSeparate { + int GL_BLEND_EQUATION_RGB_EXT = 0x8009; + int GL_BLEND_EQUATION_ALPHA_EXT = 0x883D; + void glBlendEquationSeparateEXT(int modeRGB, int modeAlpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java index d5bd751a..c101b5f8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_blend_func_separate} */ -public final class GLEXTBlendFuncSeparate { - public static final int GL_BLEND_DST_RGB_EXT = 0x80C8; - public static final int GL_BLEND_SRC_RGB_EXT = 0x80C9; - public static final int GL_BLEND_DST_ALPHA_EXT = 0x80CA; - public static final int GL_BLEND_SRC_ALPHA_EXT = 0x80CB; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_blend_func_separate) return; - ext.glBlendFuncSeparateEXT = load.invoke("glBlendFuncSeparateEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendFuncSeparateEXT).invokeExact(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTBlendFuncSeparate { + int GL_BLEND_DST_RGB_EXT = 0x80C8; + int GL_BLEND_SRC_RGB_EXT = 0x80C9; + int GL_BLEND_DST_ALPHA_EXT = 0x80CA; + int GL_BLEND_SRC_ALPHA_EXT = 0x80CB; + void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java index caa8ba1c..53d5b900 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_blend_minmax} */ -public final class GLEXTBlendMinmax { - public static final int GL_MIN_EXT = 0x8007; - public static final int GL_MAX_EXT = 0x8008; - public static final int GL_FUNC_ADD_EXT = 0x8006; - public static final int GL_BLEND_EQUATION_EXT = 0x8009; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_blend_minmax) return; - ext.glBlendEquationEXT = load.invoke("glBlendEquationEXT", ofVoid(JAVA_INT)); - } - - public static void glBlendEquationEXT(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendEquationEXT).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTBlendMinmax { + int GL_MIN_EXT = 0x8007; + int GL_MAX_EXT = 0x8008; + int GL_FUNC_ADD_EXT = 0x8006; + int GL_BLEND_EQUATION_EXT = 0x8009; + void glBlendEquationEXT(int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java index cb713676..4c95420b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_blend_subtract} */ -public final class GLEXTBlendSubtract { - public static final int GL_FUNC_SUBTRACT_EXT = 0x800A; - public static final int GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B; +public interface GLEXTBlendSubtract { + int GL_FUNC_SUBTRACT_EXT = 0x800A; + int GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java index 740364dc..f41f47bd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_clip_volume_hint} */ -public final class GLEXTClipVolumeHint { - public static final int GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; +public interface GLEXTClipVolumeHint { + int GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java index 3d8b83a6..b138d4bf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_cmyka} */ -public final class GLEXTCmyka { - public static final int GL_CMYK_EXT = 0x800C; - public static final int GL_CMYKA_EXT = 0x800D; - public static final int GL_PACK_CMYK_HINT_EXT = 0x800E; - public static final int GL_UNPACK_CMYK_HINT_EXT = 0x800F; +public interface GLEXTCmyka { + int GL_CMYK_EXT = 0x800C; + int GL_CMYKA_EXT = 0x800D; + int GL_PACK_CMYK_HINT_EXT = 0x800E; + int GL_UNPACK_CMYK_HINT_EXT = 0x800F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java index 430ccd55..d5a83a9c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_color_subtable} */ -public final class GLEXTColorSubtable { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_color_subtable) return; - ext.glColorSubTableEXT = load.invoke("glColorSubTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyColorSubTableEXT = load.invoke("glCopyColorSubTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glColorSubTableEXT(int target, int start, int count, int format, int type, @NativeType("const void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorSubTableEXT).invokeExact(target, start, count, format, type, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyColorSubTableEXT(int target, int start, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyColorSubTableEXT).invokeExact(target, start, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTColorSubtable { + void glColorSubTableEXT(int target, int start, int count, int format, int type, @NativeType("const void *") MemorySegment data); + void glCopyColorSubTableEXT(int target, int start, int x, int y, int width); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java index bf5df8e0..7c6f0b17 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java @@ -18,36 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_compiled_vertex_array} */ -public final class GLEXTCompiledVertexArray { - public static final int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; - public static final int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_compiled_vertex_array) return; - ext.glLockArraysEXT = load.invoke("glLockArraysEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glUnlockArraysEXT = load.invoke("glUnlockArraysEXT", ofVoid()); - } - - public static void glLockArraysEXT(int first, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glLockArraysEXT).invokeExact(first, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUnlockArraysEXT() { - final var ext = getExtCapabilities(); - try { - check(ext.glUnlockArraysEXT).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTCompiledVertexArray { + int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; + int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; + void glLockArraysEXT(int first, int count); + void glUnlockArraysEXT(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java index 45824b9a..fd507ea5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java @@ -18,142 +18,45 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_convolution} */ -public final class GLEXTConvolution { - public static final int GL_CONVOLUTION_1D_EXT = 0x8010; - public static final int GL_CONVOLUTION_2D_EXT = 0x8011; - public static final int GL_SEPARABLE_2D_EXT = 0x8012; - public static final int GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013; - public static final int GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014; - public static final int GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015; - public static final int GL_REDUCE_EXT = 0x8016; - public static final int GL_CONVOLUTION_FORMAT_EXT = 0x8017; - public static final int GL_CONVOLUTION_WIDTH_EXT = 0x8018; - public static final int GL_CONVOLUTION_HEIGHT_EXT = 0x8019; - public static final int GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A; - public static final int GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; - public static final int GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; - public static final int GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; - public static final int GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; - public static final int GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; - public static final int GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; - public static final int GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; - public static final int GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; - public static final int GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_convolution) return; - ext.glConvolutionFilter1DEXT = load.invoke("glConvolutionFilter1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glConvolutionFilter2DEXT = load.invoke("glConvolutionFilter2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glConvolutionParameterfEXT = load.invoke("glConvolutionParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glConvolutionParameterfvEXT = load.invoke("glConvolutionParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glConvolutionParameteriEXT = load.invoke("glConvolutionParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glConvolutionParameterivEXT = load.invoke("glConvolutionParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyConvolutionFilter1DEXT = load.invoke("glCopyConvolutionFilter1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyConvolutionFilter2DEXT = load.invoke("glCopyConvolutionFilter2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetConvolutionFilterEXT = load.invoke("glGetConvolutionFilterEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetConvolutionParameterfvEXT = load.invoke("glGetConvolutionParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetConvolutionParameterivEXT = load.invoke("glGetConvolutionParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetSeparableFilterEXT = load.invoke("glGetSeparableFilterEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS)); - ext.glSeparableFilter2DEXT = load.invoke("glSeparableFilter2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glConvolutionFilter1DEXT(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment image) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionFilter1DEXT).invokeExact(target, internalformat, width, format, type, image); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionFilter2DEXT(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment image) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionFilter2DEXT).invokeExact(target, internalformat, width, height, format, type, image); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameterfEXT(int target, int pname, float params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameterfEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameterfvEXT(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameterfvEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameteriEXT(int target, int pname, int params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameteriEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameterivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyConvolutionFilter1DEXT(int target, int internalformat, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyConvolutionFilter1DEXT).invokeExact(target, internalformat, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyConvolutionFilter2DEXT(int target, int internalformat, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyConvolutionFilter2DEXT).invokeExact(target, internalformat, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetConvolutionFilterEXT(int target, int format, int type, @NativeType("void *") MemorySegment image) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetConvolutionFilterEXT).invokeExact(target, format, type, image); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetConvolutionParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetConvolutionParameterfvEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetConvolutionParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetConvolutionParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetSeparableFilterEXT(int target, int format, int type, @NativeType("void *") MemorySegment row, @NativeType("void *") MemorySegment column, @NativeType("void *") MemorySegment span) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetSeparableFilterEXT).invokeExact(target, format, type, row, column, span); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSeparableFilter2DEXT(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment row, @NativeType("const void *") MemorySegment column) { - final var ext = getExtCapabilities(); - try { - check(ext.glSeparableFilter2DEXT).invokeExact(target, internalformat, width, height, format, type, row, column); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTConvolution { + int GL_CONVOLUTION_1D_EXT = 0x8010; + int GL_CONVOLUTION_2D_EXT = 0x8011; + int GL_SEPARABLE_2D_EXT = 0x8012; + int GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013; + int GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014; + int GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015; + int GL_REDUCE_EXT = 0x8016; + int GL_CONVOLUTION_FORMAT_EXT = 0x8017; + int GL_CONVOLUTION_WIDTH_EXT = 0x8018; + int GL_CONVOLUTION_HEIGHT_EXT = 0x8019; + int GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A; + int GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; + int GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; + int GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; + int GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; + int GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; + int GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; + int GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; + int GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; + int GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; + + void glConvolutionFilter1DEXT(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment image); + void glConvolutionFilter2DEXT(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment image); + void glConvolutionParameterfEXT(int target, int pname, float params); + void glConvolutionParameterfvEXT(int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glConvolutionParameteriEXT(int target, int pname, int params); + void glConvolutionParameterivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glCopyConvolutionFilter1DEXT(int target, int internalformat, int x, int y, int width); + void glCopyConvolutionFilter2DEXT(int target, int internalformat, int x, int y, int width, int height); + void glGetConvolutionFilterEXT(int target, int format, int type, @NativeType("void *") MemorySegment image); + void glGetConvolutionParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetConvolutionParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetSeparableFilterEXT(int target, int format, int type, @NativeType("void *") MemorySegment row, @NativeType("void *") MemorySegment column, @NativeType("void *") MemorySegment span); + void glSeparableFilter2DEXT(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment row, @NativeType("const void *") MemorySegment column); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java index 28b59fc6..3ac5c3c1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java @@ -18,208 +18,48 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_coordinate_frame} */ -public final class GLEXTCoordinateFrame { - public static final int GL_TANGENT_ARRAY_EXT = 0x8439; - public static final int GL_BINORMAL_ARRAY_EXT = 0x843A; - public static final int GL_CURRENT_TANGENT_EXT = 0x843B; - public static final int GL_CURRENT_BINORMAL_EXT = 0x843C; - public static final int GL_TANGENT_ARRAY_TYPE_EXT = 0x843E; - public static final int GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F; - public static final int GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440; - public static final int GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441; - public static final int GL_TANGENT_ARRAY_POINTER_EXT = 0x8442; - public static final int GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443; - public static final int GL_MAP1_TANGENT_EXT = 0x8444; - public static final int GL_MAP2_TANGENT_EXT = 0x8445; - public static final int GL_MAP1_BINORMAL_EXT = 0x8446; - public static final int GL_MAP2_BINORMAL_EXT = 0x8447; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_coordinate_frame) return; - ext.glTangent3bEXT = load.invoke("glTangent3bEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glTangent3bvEXT = load.invoke("glTangent3bvEXT", ofVoid(ADDRESS)); - ext.glTangent3dEXT = load.invoke("glTangent3dEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glTangent3dvEXT = load.invoke("glTangent3dvEXT", ofVoid(ADDRESS)); - ext.glTangent3fEXT = load.invoke("glTangent3fEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTangent3fvEXT = load.invoke("glTangent3fvEXT", ofVoid(ADDRESS)); - ext.glTangent3iEXT = load.invoke("glTangent3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTangent3ivEXT = load.invoke("glTangent3ivEXT", ofVoid(ADDRESS)); - ext.glTangent3sEXT = load.invoke("glTangent3sEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glTangent3svEXT = load.invoke("glTangent3svEXT", ofVoid(ADDRESS)); - ext.glBinormal3bEXT = load.invoke("glBinormal3bEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glBinormal3bvEXT = load.invoke("glBinormal3bvEXT", ofVoid(ADDRESS)); - ext.glBinormal3dEXT = load.invoke("glBinormal3dEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glBinormal3dvEXT = load.invoke("glBinormal3dvEXT", ofVoid(ADDRESS)); - ext.glBinormal3fEXT = load.invoke("glBinormal3fEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glBinormal3fvEXT = load.invoke("glBinormal3fvEXT", ofVoid(ADDRESS)); - ext.glBinormal3iEXT = load.invoke("glBinormal3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBinormal3ivEXT = load.invoke("glBinormal3ivEXT", ofVoid(ADDRESS)); - ext.glBinormal3sEXT = load.invoke("glBinormal3sEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glBinormal3svEXT = load.invoke("glBinormal3svEXT", ofVoid(ADDRESS)); - ext.glTangentPointerEXT = load.invoke("glTangentPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glBinormalPointerEXT = load.invoke("glBinormalPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glTangent3bEXT(byte tx, byte ty, byte tz) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3bEXT).invokeExact(tx, ty, tz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3bvEXT(@NativeType("const GLbyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3bvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3dEXT(double tx, double ty, double tz) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3dEXT).invokeExact(tx, ty, tz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3dvEXT(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3dvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3fEXT(float tx, float ty, float tz) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3fEXT).invokeExact(tx, ty, tz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3fvEXT(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3fvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3iEXT(int tx, int ty, int tz) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3iEXT).invokeExact(tx, ty, tz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3ivEXT(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3ivEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3sEXT(short tx, short ty, short tz) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3sEXT).invokeExact(tx, ty, tz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangent3svEXT(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangent3svEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3bEXT(byte bx, byte by, byte bz) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3bEXT).invokeExact(bx, by, bz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3bvEXT(@NativeType("const GLbyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3bvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3dEXT(double bx, double by, double bz) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3dEXT).invokeExact(bx, by, bz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3dvEXT(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3dvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3fEXT(float bx, float by, float bz) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3fEXT).invokeExact(bx, by, bz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3fvEXT(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3fvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3iEXT(int bx, int by, int bz) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3iEXT).invokeExact(bx, by, bz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3ivEXT(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3ivEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3sEXT(short bx, short by, short bz) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3sEXT).invokeExact(bx, by, bz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormal3svEXT(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormal3svEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTangentPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTangentPointerEXT).invokeExact(type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBinormalPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glBinormalPointerEXT).invokeExact(type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTCoordinateFrame { + int GL_TANGENT_ARRAY_EXT = 0x8439; + int GL_BINORMAL_ARRAY_EXT = 0x843A; + int GL_CURRENT_TANGENT_EXT = 0x843B; + int GL_CURRENT_BINORMAL_EXT = 0x843C; + int GL_TANGENT_ARRAY_TYPE_EXT = 0x843E; + int GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F; + int GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440; + int GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441; + int GL_TANGENT_ARRAY_POINTER_EXT = 0x8442; + int GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443; + int GL_MAP1_TANGENT_EXT = 0x8444; + int GL_MAP2_TANGENT_EXT = 0x8445; + int GL_MAP1_BINORMAL_EXT = 0x8446; + int GL_MAP2_BINORMAL_EXT = 0x8447; + + void glTangent3bEXT(byte tx, byte ty, byte tz); + void glTangent3bvEXT(@NativeType("const GLbyte *") MemorySegment v); + void glTangent3dEXT(double tx, double ty, double tz); + void glTangent3dvEXT(@NativeType("const GLdouble *") MemorySegment v); + void glTangent3fEXT(float tx, float ty, float tz); + void glTangent3fvEXT(@NativeType("const GLfloat *") MemorySegment v); + void glTangent3iEXT(int tx, int ty, int tz); + void glTangent3ivEXT(@NativeType("const GLint *") MemorySegment v); + void glTangent3sEXT(short tx, short ty, short tz); + void glTangent3svEXT(@NativeType("const GLshort *") MemorySegment v); + void glBinormal3bEXT(byte bx, byte by, byte bz); + void glBinormal3bvEXT(@NativeType("const GLbyte *") MemorySegment v); + void glBinormal3dEXT(double bx, double by, double bz); + void glBinormal3dvEXT(@NativeType("const GLdouble *") MemorySegment v); + void glBinormal3fEXT(float bx, float by, float bz); + void glBinormal3fvEXT(@NativeType("const GLfloat *") MemorySegment v); + void glBinormal3iEXT(int bx, int by, int bz); + void glBinormal3ivEXT(@NativeType("const GLint *") MemorySegment v); + void glBinormal3sEXT(short bx, short by, short bz); + void glBinormal3svEXT(@NativeType("const GLshort *") MemorySegment v); + void glTangentPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer); + void glBinormalPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java index 4cc5c38c..c887636d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java @@ -18,58 +18,17 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_copy_texture} */ -public final class GLEXTCopyTexture { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_copy_texture) return; - ext.glCopyTexImage1DEXT = load.invoke("glCopyTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyTexImage2DEXT = load.invoke("glCopyTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyTexSubImage1DEXT = load.invoke("glCopyTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyTexSubImage2DEXT = load.invoke("glCopyTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyTexSubImage3DEXT = load.invoke("glCopyTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glCopyTexImage1DEXT(int target, int level, int internalformat, int x, int y, int width, int border) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTexImage1DEXT).invokeExact(target, level, internalformat, x, y, width, border); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTexImage2DEXT(int target, int level, int internalformat, int x, int y, int width, int height, int border) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTexImage2DEXT).invokeExact(target, level, internalformat, x, y, width, height, border); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTexSubImage1DEXT(int target, int level, int xoffset, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTexSubImage1DEXT).invokeExact(target, level, xoffset, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTexSubImage2DEXT(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTexSubImage2DEXT).invokeExact(target, level, xoffset, yoffset, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTexSubImage3DEXT(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTexSubImage3DEXT).invokeExact(target, level, xoffset, yoffset, zoffset, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTCopyTexture { + void glCopyTexImage1DEXT(int target, int level, int internalformat, int x, int y, int width, int border); + void glCopyTexImage2DEXT(int target, int level, int internalformat, int x, int y, int width, int height, int border); + void glCopyTexSubImage1DEXT(int target, int level, int xoffset, int x, int y, int width); + void glCopyTexSubImage2DEXT(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height); + void glCopyTexSubImage3DEXT(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java index f963412a..e03bb2a0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java @@ -18,37 +18,17 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_cull_vertex} */ -public final class GLEXTCullVertex { - public static final int GL_CULL_VERTEX_EXT = 0x81AA; - public static final int GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; - public static final int GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_cull_vertex) return; - ext.glCullParameterdvEXT = load.invoke("glCullParameterdvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glCullParameterfvEXT = load.invoke("glCullParameterfvEXT", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glCullParameterdvEXT(int pname, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glCullParameterdvEXT).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCullParameterfvEXT(int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glCullParameterfvEXT).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTCullVertex { + int GL_CULL_VERTEX_EXT = 0x81AA; + int GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; + int GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; + void glCullParameterdvEXT(int pname, @NativeType("GLdouble *") MemorySegment params); + void glCullParameterfvEXT(int pname, @NativeType("GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java index c8abe18d..426ffa11 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java @@ -18,40 +18,20 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_debug_label} */ -public final class GLEXTDebugLabel { - public static final int GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; - public static final int GL_PROGRAM_OBJECT_EXT = 0x8B40; - public static final int GL_SHADER_OBJECT_EXT = 0x8B48; - public static final int GL_BUFFER_OBJECT_EXT = 0x9151; - public static final int GL_QUERY_OBJECT_EXT = 0x9153; - public static final int GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_debug_label) return; - ext.glLabelObjectEXT = load.invoke("glLabelObjectEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetObjectLabelEXT = load.invoke("glGetObjectLabelEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glLabelObjectEXT(int type, int object, int length, @NativeType("const GLchar *") MemorySegment label) { - final var ext = getExtCapabilities(); - try { - check(ext.glLabelObjectEXT).invokeExact(type, object, length, label); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetObjectLabelEXT(int type, int object, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment label) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetObjectLabelEXT).invokeExact(type, object, bufSize, length, label); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTDebugLabel { + int GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; + int GL_PROGRAM_OBJECT_EXT = 0x8B40; + int GL_SHADER_OBJECT_EXT = 0x8B48; + int GL_BUFFER_OBJECT_EXT = 0x9151; + int GL_QUERY_OBJECT_EXT = 0x9153; + int GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154; + void glLabelObjectEXT(int type, int object, int length, @NativeType("const GLchar *") MemorySegment label); + void glGetObjectLabelEXT(int type, int object, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment label); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java index e0b582d3..bbb05256 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java @@ -18,42 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_debug_marker} */ -public final class GLEXTDebugMarker { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_debug_marker) return; - ext.glInsertEventMarkerEXT = load.invoke("glInsertEventMarkerEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glPushGroupMarkerEXT = load.invoke("glPushGroupMarkerEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glPopGroupMarkerEXT = load.invoke("glPopGroupMarkerEXT", ofVoid()); - } - - public static void glInsertEventMarkerEXT(int length, @NativeType("const GLchar *") MemorySegment marker) { - final var ext = getExtCapabilities(); - try { - check(ext.glInsertEventMarkerEXT).invokeExact(length, marker); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPushGroupMarkerEXT(int length, @NativeType("const GLchar *") MemorySegment marker) { - final var ext = getExtCapabilities(); - try { - check(ext.glPushGroupMarkerEXT).invokeExact(length, marker); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPopGroupMarkerEXT() { - final var ext = getExtCapabilities(); - try { - check(ext.glPopGroupMarkerEXT).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTDebugMarker { + void glInsertEventMarkerEXT(int length, @NativeType("const GLchar *") MemorySegment marker); + void glPushGroupMarkerEXT(int length, @NativeType("const GLchar *") MemorySegment marker); + void glPopGroupMarkerEXT(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java index 873d6492..a805f86a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_depth_bounds_test} */ -public final class GLEXTDepthBoundsTest { - public static final int GL_DEPTH_BOUNDS_TEST_EXT = 0x8890; - public static final int GL_DEPTH_BOUNDS_EXT = 0x8891; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_depth_bounds_test) return; - ext.glDepthBoundsEXT = load.invoke("glDepthBoundsEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); - } - - public static void glDepthBoundsEXT(double zmin, double zmax) { - final var ext = getExtCapabilities(); - try { - check(ext.glDepthBoundsEXT).invokeExact(zmin, zmax); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTDepthBoundsTest { + int GL_DEPTH_BOUNDS_TEST_EXT = 0x8890; + int GL_DEPTH_BOUNDS_EXT = 0x8891; + void glDepthBoundsEXT(double zmin, double zmax); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java index 8c8711df..d4f0a6ff 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java @@ -18,2065 +18,270 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_direct_state_access} */ -public final class GLEXTDirectStateAccess { - public static final int GL_PROGRAM_MATRIX_EXT = 0x8E2D; - public static final int GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; - public static final int GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_direct_state_access) return; - ext.glMatrixLoadfEXT = load.invoke("glMatrixLoadfEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixLoaddEXT = load.invoke("glMatrixLoaddEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixMultfEXT = load.invoke("glMatrixMultfEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixMultdEXT = load.invoke("glMatrixMultdEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixLoadIdentityEXT = load.invoke("glMatrixLoadIdentityEXT", ofVoid(JAVA_INT)); - ext.glMatrixRotatefEXT = load.invoke("glMatrixRotatefEXT", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glMatrixRotatedEXT = load.invoke("glMatrixRotatedEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMatrixScalefEXT = load.invoke("glMatrixScalefEXT", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glMatrixScaledEXT = load.invoke("glMatrixScaledEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMatrixTranslatefEXT = load.invoke("glMatrixTranslatefEXT", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glMatrixTranslatedEXT = load.invoke("glMatrixTranslatedEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMatrixFrustumEXT = load.invoke("glMatrixFrustumEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMatrixOrthoEXT = load.invoke("glMatrixOrthoEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glMatrixPopEXT = load.invoke("glMatrixPopEXT", ofVoid(JAVA_INT)); - ext.glMatrixPushEXT = load.invoke("glMatrixPushEXT", ofVoid(JAVA_INT)); - ext.glClientAttribDefaultEXT = load.invoke("glClientAttribDefaultEXT", ofVoid(JAVA_INT)); - ext.glPushClientAttribDefaultEXT = load.invoke("glPushClientAttribDefaultEXT", ofVoid(JAVA_INT)); - ext.glTextureParameterfEXT = load.invoke("glTextureParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glTextureParameterfvEXT = load.invoke("glTextureParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureParameteriEXT = load.invoke("glTextureParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTextureParameterivEXT = load.invoke("glTextureParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureImage1DEXT = load.invoke("glTextureImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureImage2DEXT = load.invoke("glTextureImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureSubImage1DEXT = load.invoke("glTextureSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureSubImage2DEXT = load.invoke("glTextureSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyTextureImage1DEXT = load.invoke("glCopyTextureImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyTextureImage2DEXT = load.invoke("glCopyTextureImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyTextureSubImage1DEXT = load.invoke("glCopyTextureSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyTextureSubImage2DEXT = load.invoke("glCopyTextureSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetTextureImageEXT = load.invoke("glGetTextureImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTextureParameterfvEXT = load.invoke("glGetTextureParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTextureParameterivEXT = load.invoke("glGetTextureParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTextureLevelParameterfvEXT = load.invoke("glGetTextureLevelParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTextureLevelParameterivEXT = load.invoke("glGetTextureLevelParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureImage3DEXT = load.invoke("glTextureImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureSubImage3DEXT = load.invoke("glTextureSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyTextureSubImage3DEXT = load.invoke("glCopyTextureSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBindMultiTextureEXT = load.invoke("glBindMultiTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexCoordPointerEXT = load.invoke("glMultiTexCoordPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexEnvfEXT = load.invoke("glMultiTexEnvfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glMultiTexEnvfvEXT = load.invoke("glMultiTexEnvfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexEnviEXT = load.invoke("glMultiTexEnviEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexEnvivEXT = load.invoke("glMultiTexEnvivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexGendEXT = load.invoke("glMultiTexGendEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_DOUBLE)); - ext.glMultiTexGendvEXT = load.invoke("glMultiTexGendvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexGenfEXT = load.invoke("glMultiTexGenfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glMultiTexGenfvEXT = load.invoke("glMultiTexGenfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexGeniEXT = load.invoke("glMultiTexGeniEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexGenivEXT = load.invoke("glMultiTexGenivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexEnvfvEXT = load.invoke("glGetMultiTexEnvfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexEnvivEXT = load.invoke("glGetMultiTexEnvivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexGendvEXT = load.invoke("glGetMultiTexGendvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexGenfvEXT = load.invoke("glGetMultiTexGenfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexGenivEXT = load.invoke("glGetMultiTexGenivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexParameteriEXT = load.invoke("glMultiTexParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexParameterivEXT = load.invoke("glMultiTexParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexParameterfEXT = load.invoke("glMultiTexParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glMultiTexParameterfvEXT = load.invoke("glMultiTexParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexImage1DEXT = load.invoke("glMultiTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexImage2DEXT = load.invoke("glMultiTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexSubImage1DEXT = load.invoke("glMultiTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexSubImage2DEXT = load.invoke("glMultiTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyMultiTexImage1DEXT = load.invoke("glCopyMultiTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyMultiTexImage2DEXT = load.invoke("glCopyMultiTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyMultiTexSubImage1DEXT = load.invoke("glCopyMultiTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCopyMultiTexSubImage2DEXT = load.invoke("glCopyMultiTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetMultiTexImageEXT = load.invoke("glGetMultiTexImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexParameterfvEXT = load.invoke("glGetMultiTexParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexParameterivEXT = load.invoke("glGetMultiTexParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexLevelParameterfvEXT = load.invoke("glGetMultiTexLevelParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexLevelParameterivEXT = load.invoke("glGetMultiTexLevelParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexImage3DEXT = load.invoke("glMultiTexImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexSubImage3DEXT = load.invoke("glMultiTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyMultiTexSubImage3DEXT = load.invoke("glCopyMultiTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glEnableClientStateIndexedEXT = load.invoke("glEnableClientStateIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDisableClientStateIndexedEXT = load.invoke("glDisableClientStateIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glGetFloatIndexedvEXT = load.invoke("glGetFloatIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetDoubleIndexedvEXT = load.invoke("glGetDoubleIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPointerIndexedvEXT = load.invoke("glGetPointerIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glEnableIndexedEXT = load.invoke("glEnableIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDisableIndexedEXT = load.invoke("glDisableIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glIsEnabledIndexedEXT = load.invoke("glIsEnabledIndexedEXT", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); - ext.glGetIntegerIndexedvEXT = load.invoke("glGetIntegerIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetBooleanIndexedvEXT = load.invoke("glGetBooleanIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTextureImage3DEXT = load.invoke("glCompressedTextureImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTextureImage2DEXT = load.invoke("glCompressedTextureImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTextureImage1DEXT = load.invoke("glCompressedTextureImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTextureSubImage3DEXT = load.invoke("glCompressedTextureSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTextureSubImage2DEXT = load.invoke("glCompressedTextureSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedTextureSubImage1DEXT = load.invoke("glCompressedTextureSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetCompressedTextureImageEXT = load.invoke("glGetCompressedTextureImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedMultiTexImage3DEXT = load.invoke("glCompressedMultiTexImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedMultiTexImage2DEXT = load.invoke("glCompressedMultiTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedMultiTexImage1DEXT = load.invoke("glCompressedMultiTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedMultiTexSubImage3DEXT = load.invoke("glCompressedMultiTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedMultiTexSubImage2DEXT = load.invoke("glCompressedMultiTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCompressedMultiTexSubImage1DEXT = load.invoke("glCompressedMultiTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetCompressedMultiTexImageEXT = load.invoke("glGetCompressedMultiTexImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMatrixLoadTransposefEXT = load.invoke("glMatrixLoadTransposefEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixLoadTransposedEXT = load.invoke("glMatrixLoadTransposedEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixMultTransposefEXT = load.invoke("glMatrixMultTransposefEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixMultTransposedEXT = load.invoke("glMatrixMultTransposedEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glNamedBufferDataEXT = load.invoke("glNamedBufferDataEXT", ofVoid(JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT)); - ext.glNamedBufferSubDataEXT = load.invoke("glNamedBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); - ext.glMapNamedBufferEXT = load.invoke("glMapNamedBufferEXT", of(ADDRESS, JAVA_INT, JAVA_INT)); - ext.glUnmapNamedBufferEXT = load.invoke("glUnmapNamedBufferEXT", of(JAVA_BYTE, JAVA_INT)); - ext.glGetNamedBufferParameterivEXT = load.invoke("glGetNamedBufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedBufferPointervEXT = load.invoke("glGetNamedBufferPointervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedBufferSubDataEXT = load.invoke("glGetNamedBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); - ext.glProgramUniform1fEXT = load.invoke("glProgramUniform1fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glProgramUniform2fEXT = load.invoke("glProgramUniform2fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glProgramUniform3fEXT = load.invoke("glProgramUniform3fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glProgramUniform4fEXT = load.invoke("glProgramUniform4fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glProgramUniform1iEXT = load.invoke("glProgramUniform1iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform2iEXT = load.invoke("glProgramUniform2iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform3iEXT = load.invoke("glProgramUniform3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform4iEXT = load.invoke("glProgramUniform4iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform1fvEXT = load.invoke("glProgramUniform1fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2fvEXT = load.invoke("glProgramUniform2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3fvEXT = load.invoke("glProgramUniform3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4fvEXT = load.invoke("glProgramUniform4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform1ivEXT = load.invoke("glProgramUniform1ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2ivEXT = load.invoke("glProgramUniform2ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3ivEXT = load.invoke("glProgramUniform3ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4ivEXT = load.invoke("glProgramUniform4ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniformMatrix2fvEXT = load.invoke("glProgramUniformMatrix2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix3fvEXT = load.invoke("glProgramUniformMatrix3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix4fvEXT = load.invoke("glProgramUniformMatrix4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix2x3fvEXT = load.invoke("glProgramUniformMatrix2x3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix3x2fvEXT = load.invoke("glProgramUniformMatrix3x2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix2x4fvEXT = load.invoke("glProgramUniformMatrix2x4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix4x2fvEXT = load.invoke("glProgramUniformMatrix4x2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix3x4fvEXT = load.invoke("glProgramUniformMatrix3x4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix4x3fvEXT = load.invoke("glProgramUniformMatrix4x3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glTextureBufferEXT = load.invoke("glTextureBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexBufferEXT = load.invoke("glMultiTexBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTextureParameterIivEXT = load.invoke("glTextureParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTextureParameterIuivEXT = load.invoke("glTextureParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTextureParameterIivEXT = load.invoke("glGetTextureParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTextureParameterIuivEXT = load.invoke("glGetTextureParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexParameterIivEXT = load.invoke("glMultiTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultiTexParameterIuivEXT = load.invoke("glMultiTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexParameterIivEXT = load.invoke("glGetMultiTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMultiTexParameterIuivEXT = load.invoke("glGetMultiTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform1uiEXT = load.invoke("glProgramUniform1uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform2uiEXT = load.invoke("glProgramUniform2uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform3uiEXT = load.invoke("glProgramUniform3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform4uiEXT = load.invoke("glProgramUniform4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramUniform1uivEXT = load.invoke("glProgramUniform1uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2uivEXT = load.invoke("glProgramUniform2uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3uivEXT = load.invoke("glProgramUniform3uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4uivEXT = load.invoke("glProgramUniform4uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramLocalParameters4fvEXT = load.invoke("glNamedProgramLocalParameters4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramLocalParameterI4iEXT = load.invoke("glNamedProgramLocalParameterI4iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedProgramLocalParameterI4ivEXT = load.invoke("glNamedProgramLocalParameterI4ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramLocalParametersI4ivEXT = load.invoke("glNamedProgramLocalParametersI4ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramLocalParameterI4uiEXT = load.invoke("glNamedProgramLocalParameterI4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedProgramLocalParameterI4uivEXT = load.invoke("glNamedProgramLocalParameterI4uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramLocalParametersI4uivEXT = load.invoke("glNamedProgramLocalParametersI4uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedProgramLocalParameterIivEXT = load.invoke("glGetNamedProgramLocalParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedProgramLocalParameterIuivEXT = load.invoke("glGetNamedProgramLocalParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glEnableClientStateiEXT = load.invoke("glEnableClientStateiEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDisableClientStateiEXT = load.invoke("glDisableClientStateiEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glGetFloati_vEXT = load.invoke("glGetFloati_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetDoublei_vEXT = load.invoke("glGetDoublei_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPointeri_vEXT = load.invoke("glGetPointeri_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramStringEXT = load.invoke("glNamedProgramStringEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramLocalParameter4dEXT = load.invoke("glNamedProgramLocalParameter4dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glNamedProgramLocalParameter4dvEXT = load.invoke("glNamedProgramLocalParameter4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedProgramLocalParameter4fEXT = load.invoke("glNamedProgramLocalParameter4fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glNamedProgramLocalParameter4fvEXT = load.invoke("glNamedProgramLocalParameter4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedProgramLocalParameterdvEXT = load.invoke("glGetNamedProgramLocalParameterdvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedProgramLocalParameterfvEXT = load.invoke("glGetNamedProgramLocalParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedProgramivEXT = load.invoke("glGetNamedProgramivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedProgramStringEXT = load.invoke("glGetNamedProgramStringEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedRenderbufferStorageEXT = load.invoke("glNamedRenderbufferStorageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetNamedRenderbufferParameterivEXT = load.invoke("glGetNamedRenderbufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedRenderbufferStorageMultisampleEXT = load.invoke("glNamedRenderbufferStorageMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedRenderbufferStorageMultisampleCoverageEXT = load.invoke("glNamedRenderbufferStorageMultisampleCoverageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCheckNamedFramebufferStatusEXT = load.invoke("glCheckNamedFramebufferStatusEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedFramebufferTexture1DEXT = load.invoke("glNamedFramebufferTexture1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedFramebufferTexture2DEXT = load.invoke("glNamedFramebufferTexture2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedFramebufferTexture3DEXT = load.invoke("glNamedFramebufferTexture3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedFramebufferRenderbufferEXT = load.invoke("glNamedFramebufferRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetNamedFramebufferAttachmentParameterivEXT = load.invoke("glGetNamedFramebufferAttachmentParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGenerateTextureMipmapEXT = load.invoke("glGenerateTextureMipmapEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glGenerateMultiTexMipmapEXT = load.invoke("glGenerateMultiTexMipmapEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glFramebufferDrawBufferEXT = load.invoke("glFramebufferDrawBufferEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glFramebufferDrawBuffersEXT = load.invoke("glFramebufferDrawBuffersEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFramebufferReadBufferEXT = load.invoke("glFramebufferReadBufferEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glGetFramebufferParameterivEXT = load.invoke("glGetFramebufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedCopyBufferSubDataEXT = load.invoke("glNamedCopyBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glNamedFramebufferTextureEXT = load.invoke("glNamedFramebufferTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedFramebufferTextureLayerEXT = load.invoke("glNamedFramebufferTextureLayerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNamedFramebufferTextureFaceEXT = load.invoke("glNamedFramebufferTextureFaceEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTextureRenderbufferEXT = load.invoke("glTextureRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexRenderbufferEXT = load.invoke("glMultiTexRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexArrayVertexOffsetEXT = load.invoke("glVertexArrayVertexOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayColorOffsetEXT = load.invoke("glVertexArrayColorOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayEdgeFlagOffsetEXT = load.invoke("glVertexArrayEdgeFlagOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayIndexOffsetEXT = load.invoke("glVertexArrayIndexOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayNormalOffsetEXT = load.invoke("glVertexArrayNormalOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayTexCoordOffsetEXT = load.invoke("glVertexArrayTexCoordOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayMultiTexCoordOffsetEXT = load.invoke("glVertexArrayMultiTexCoordOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayFogCoordOffsetEXT = load.invoke("glVertexArrayFogCoordOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArraySecondaryColorOffsetEXT = load.invoke("glVertexArraySecondaryColorOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayVertexAttribOffsetEXT = load.invoke("glVertexArrayVertexAttribOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); - ext.glVertexArrayVertexAttribIOffsetEXT = load.invoke("glVertexArrayVertexAttribIOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glEnableVertexArrayEXT = load.invoke("glEnableVertexArrayEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDisableVertexArrayEXT = load.invoke("glDisableVertexArrayEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glEnableVertexArrayAttribEXT = load.invoke("glEnableVertexArrayAttribEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDisableVertexArrayAttribEXT = load.invoke("glDisableVertexArrayAttribEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glGetVertexArrayIntegervEXT = load.invoke("glGetVertexArrayIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexArrayPointervEXT = load.invoke("glGetVertexArrayPointervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexArrayIntegeri_vEXT = load.invoke("glGetVertexArrayIntegeri_vEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexArrayPointeri_vEXT = load.invoke("glGetVertexArrayPointeri_vEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMapNamedBufferRangeEXT = load.invoke("glMapNamedBufferRangeEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT)); - ext.glFlushMappedNamedBufferRangeEXT = load.invoke("glFlushMappedNamedBufferRangeEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glNamedBufferStorageEXT = load.invoke("glNamedBufferStorageEXT", ofVoid(JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT)); - ext.glClearNamedBufferDataEXT = load.invoke("glClearNamedBufferDataEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glClearNamedBufferSubDataEXT = load.invoke("glClearNamedBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedFramebufferParameteriEXT = load.invoke("glNamedFramebufferParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetNamedFramebufferParameterivEXT = load.invoke("glGetNamedFramebufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform1dEXT = load.invoke("glProgramUniform1dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE)); - ext.glProgramUniform2dEXT = load.invoke("glProgramUniform2dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glProgramUniform3dEXT = load.invoke("glProgramUniform3dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glProgramUniform4dEXT = load.invoke("glProgramUniform4dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glProgramUniform1dvEXT = load.invoke("glProgramUniform1dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform2dvEXT = load.invoke("glProgramUniform2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform3dvEXT = load.invoke("glProgramUniform3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniform4dvEXT = load.invoke("glProgramUniform4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniformMatrix2dvEXT = load.invoke("glProgramUniformMatrix2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix3dvEXT = load.invoke("glProgramUniformMatrix3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix4dvEXT = load.invoke("glProgramUniformMatrix4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix2x3dvEXT = load.invoke("glProgramUniformMatrix2x3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix2x4dvEXT = load.invoke("glProgramUniformMatrix2x4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix3x2dvEXT = load.invoke("glProgramUniformMatrix3x2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix3x4dvEXT = load.invoke("glProgramUniformMatrix3x4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix4x2dvEXT = load.invoke("glProgramUniformMatrix4x2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glProgramUniformMatrix4x3dvEXT = load.invoke("glProgramUniformMatrix4x3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glTextureBufferRangeEXT = load.invoke("glTextureBufferRangeEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glTextureStorage1DEXT = load.invoke("glTextureStorage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTextureStorage2DEXT = load.invoke("glTextureStorage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTextureStorage3DEXT = load.invoke("glTextureStorage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTextureStorage2DMultisampleEXT = load.invoke("glTextureStorage2DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glTextureStorage3DMultisampleEXT = load.invoke("glTextureStorage3DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glVertexArrayBindVertexBufferEXT = load.invoke("glVertexArrayBindVertexBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_INT)); - ext.glVertexArrayVertexAttribFormatEXT = load.invoke("glVertexArrayVertexAttribFormatEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT)); - ext.glVertexArrayVertexAttribIFormatEXT = load.invoke("glVertexArrayVertexAttribIFormatEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexArrayVertexAttribLFormatEXT = load.invoke("glVertexArrayVertexAttribLFormatEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexArrayVertexAttribBindingEXT = load.invoke("glVertexArrayVertexAttribBindingEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexArrayVertexBindingDivisorEXT = load.invoke("glVertexArrayVertexBindingDivisorEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexArrayVertexAttribLOffsetEXT = load.invoke("glVertexArrayVertexAttribLOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glTexturePageCommitmentEXT = load.invoke("glTexturePageCommitmentEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glVertexArrayVertexAttribDivisorEXT = load.invoke("glVertexArrayVertexAttribDivisorEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glMatrixLoadfEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoadfEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixLoaddEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoaddEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixMultfEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixMultfEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixMultdEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixMultdEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixLoadIdentityEXT(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoadIdentityEXT).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixRotatefEXT(int mode, float angle, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixRotatefEXT).invokeExact(mode, angle, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixRotatedEXT(int mode, double angle, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixRotatedEXT).invokeExact(mode, angle, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixScalefEXT(int mode, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixScalefEXT).invokeExact(mode, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixScaledEXT(int mode, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixScaledEXT).invokeExact(mode, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixTranslatefEXT(int mode, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixTranslatefEXT).invokeExact(mode, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixTranslatedEXT(int mode, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixTranslatedEXT).invokeExact(mode, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixFrustumEXT(int mode, double left, double right, double bottom, double top, double zNear, double zFar) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixFrustumEXT).invokeExact(mode, left, right, bottom, top, zNear, zFar); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixOrthoEXT(int mode, double left, double right, double bottom, double top, double zNear, double zFar) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixOrthoEXT).invokeExact(mode, left, right, bottom, top, zNear, zFar); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixPopEXT(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixPopEXT).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixPushEXT(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixPushEXT).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClientAttribDefaultEXT(int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glClientAttribDefaultEXT).invokeExact(mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPushClientAttribDefaultEXT(int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glPushClientAttribDefaultEXT).invokeExact(mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureParameterfEXT(int texture, int target, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureParameterfEXT).invokeExact(texture, target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureParameterfvEXT(int texture, int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureParameterfvEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureParameteriEXT(int texture, int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureParameteriEXT).invokeExact(texture, target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureParameterivEXT(int texture, int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureParameterivEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureImage1DEXT(int texture, int target, int level, int internalformat, int width, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureImage1DEXT).invokeExact(texture, target, level, internalformat, width, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureImage2DEXT(int texture, int target, int level, int internalformat, int width, int height, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureImage2DEXT).invokeExact(texture, target, level, internalformat, width, height, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureSubImage1DEXT).invokeExact(texture, target, level, xoffset, width, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureSubImage2DEXT).invokeExact(texture, target, level, xoffset, yoffset, width, height, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTextureImage1DEXT(int texture, int target, int level, int internalformat, int x, int y, int width, int border) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTextureImage1DEXT).invokeExact(texture, target, level, internalformat, x, y, width, border); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTextureImage2DEXT(int texture, int target, int level, int internalformat, int x, int y, int width, int height, int border) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTextureImage2DEXT).invokeExact(texture, target, level, internalformat, x, y, width, height, border); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTextureSubImage1DEXT).invokeExact(texture, target, level, xoffset, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTextureSubImage2DEXT).invokeExact(texture, target, level, xoffset, yoffset, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTextureImageEXT(int texture, int target, int level, int format, int type, @NativeType("void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTextureImageEXT).invokeExact(texture, target, level, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTextureParameterfvEXT(int texture, int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTextureParameterfvEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTextureParameterivEXT(int texture, int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTextureParameterivEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTextureLevelParameterfvEXT(int texture, int target, int level, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTextureLevelParameterfvEXT).invokeExact(texture, target, level, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTextureLevelParameterivEXT(int texture, int target, int level, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTextureLevelParameterivEXT).invokeExact(texture, target, level, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureImage3DEXT(int texture, int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureImage3DEXT).invokeExact(texture, target, level, internalformat, width, height, depth, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureSubImage3DEXT).invokeExact(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyTextureSubImage3DEXT).invokeExact(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindMultiTextureEXT(int texunit, int target, int texture) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindMultiTextureEXT).invokeExact(texunit, target, texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoordPointerEXT(int texunit, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoordPointerEXT).invokeExact(texunit, size, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexEnvfEXT(int texunit, int target, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexEnvfEXT).invokeExact(texunit, target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexEnvfvEXT(int texunit, int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexEnvfvEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexEnviEXT(int texunit, int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexEnviEXT).invokeExact(texunit, target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexEnvivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexEnvivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexGendEXT(int texunit, int coord, int pname, double param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexGendEXT).invokeExact(texunit, coord, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexGendvEXT(int texunit, int coord, int pname, @NativeType("const GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexGendvEXT).invokeExact(texunit, coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexGenfEXT(int texunit, int coord, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexGenfEXT).invokeExact(texunit, coord, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexGenfvEXT(int texunit, int coord, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexGenfvEXT).invokeExact(texunit, coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexGeniEXT(int texunit, int coord, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexGeniEXT).invokeExact(texunit, coord, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexGenivEXT(int texunit, int coord, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexGenivEXT).invokeExact(texunit, coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexEnvfvEXT(int texunit, int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexEnvfvEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexEnvivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexEnvivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexGendvEXT(int texunit, int coord, int pname, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexGendvEXT).invokeExact(texunit, coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexGenfvEXT(int texunit, int coord, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexGenfvEXT).invokeExact(texunit, coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexGenivEXT(int texunit, int coord, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexGenivEXT).invokeExact(texunit, coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexParameteriEXT(int texunit, int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexParameteriEXT).invokeExact(texunit, target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexParameterivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexParameterivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexParameterfEXT(int texunit, int target, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexParameterfEXT).invokeExact(texunit, target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexParameterfvEXT(int texunit, int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexParameterfvEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int width, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexImage1DEXT).invokeExact(texunit, target, level, internalformat, width, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int width, int height, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexImage2DEXT).invokeExact(texunit, target, level, internalformat, width, height, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexSubImage1DEXT).invokeExact(texunit, target, level, xoffset, width, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexSubImage2DEXT).invokeExact(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int x, int y, int width, int border) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyMultiTexImage1DEXT).invokeExact(texunit, target, level, internalformat, x, y, width, border); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int x, int y, int width, int height, int border) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyMultiTexImage2DEXT).invokeExact(texunit, target, level, internalformat, x, y, width, height, border); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyMultiTexSubImage1DEXT).invokeExact(texunit, target, level, xoffset, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyMultiTexSubImage2DEXT).invokeExact(texunit, target, level, xoffset, yoffset, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexImageEXT(int texunit, int target, int level, int format, int type, @NativeType("void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexImageEXT).invokeExact(texunit, target, level, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexParameterfvEXT(int texunit, int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexParameterfvEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexParameterivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexParameterivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexLevelParameterfvEXT(int texunit, int target, int level, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexLevelParameterfvEXT).invokeExact(texunit, target, level, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexLevelParameterivEXT(int texunit, int target, int level, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexLevelParameterivEXT).invokeExact(texunit, target, level, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexImage3DEXT(int texunit, int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexImage3DEXT).invokeExact(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexSubImage3DEXT).invokeExact(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyMultiTexSubImage3DEXT).invokeExact(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEnableClientStateIndexedEXT(int array, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableClientStateIndexedEXT).invokeExact(array, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableClientStateIndexedEXT(int array, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableClientStateIndexedEXT).invokeExact(array, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFloatIndexedvEXT(int target, int index, @NativeType("GLfloat *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFloatIndexedvEXT).invokeExact(target, index, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetDoubleIndexedvEXT(int target, int index, @NativeType("GLdouble *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetDoubleIndexedvEXT).invokeExact(target, index, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPointerIndexedvEXT(int target, int index, @NativeType("void **") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPointerIndexedvEXT).invokeExact(target, index, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEnableIndexedEXT(int target, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableIndexedEXT).invokeExact(target, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableIndexedEXT(int target, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableIndexedEXT).invokeExact(target, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsEnabledIndexedEXT(int target, int index) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsEnabledIndexedEXT).invokeExact(target, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetIntegerIndexedvEXT(int target, int index, @NativeType("GLint *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetIntegerIndexedvEXT).invokeExact(target, index, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetBooleanIndexedvEXT(int target, int index, @NativeType("GLboolean *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetBooleanIndexedvEXT).invokeExact(target, index, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTextureImage3DEXT(int texture, int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTextureImage3DEXT).invokeExact(texture, target, level, internalformat, width, height, depth, border, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTextureImage2DEXT(int texture, int target, int level, int internalformat, int width, int height, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTextureImage2DEXT).invokeExact(texture, target, level, internalformat, width, height, border, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTextureImage1DEXT(int texture, int target, int level, int internalformat, int width, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTextureImage1DEXT).invokeExact(texture, target, level, internalformat, width, border, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTextureSubImage3DEXT).invokeExact(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTextureSubImage2DEXT).invokeExact(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedTextureSubImage1DEXT).invokeExact(texture, target, level, xoffset, width, format, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCompressedTextureImageEXT(int texture, int target, int lod, @NativeType("void *") MemorySegment img) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCompressedTextureImageEXT).invokeExact(texture, target, lod, img); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedMultiTexImage3DEXT(int texunit, int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedMultiTexImage3DEXT).invokeExact(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int width, int height, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedMultiTexImage2DEXT).invokeExact(texunit, target, level, internalformat, width, height, border, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int width, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedMultiTexImage1DEXT).invokeExact(texunit, target, level, internalformat, width, border, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedMultiTexSubImage3DEXT).invokeExact(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedMultiTexSubImage2DEXT).invokeExact(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompressedMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompressedMultiTexSubImage1DEXT).invokeExact(texunit, target, level, xoffset, width, format, imageSize, bits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCompressedMultiTexImageEXT(int texunit, int target, int lod, @NativeType("void *") MemorySegment img) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCompressedMultiTexImageEXT).invokeExact(texunit, target, lod, img); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixLoadTransposefEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoadTransposefEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixLoadTransposedEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoadTransposedEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixMultTransposefEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixMultTransposefEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixMultTransposedEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixMultTransposedEXT).invokeExact(mode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferDataEXT(int buffer, long size, @NativeType("const void *") MemorySegment data, int usage) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferDataEXT).invokeExact(buffer, size, data, usage); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferSubDataEXT(int buffer, long offset, long size, @NativeType("const void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferSubDataEXT).invokeExact(buffer, offset, size, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static @NativeType("void *") MemorySegment glMapNamedBufferEXT(int buffer, int access) { - final var ext = getExtCapabilities(); - try { - return (MemorySegment) - check(ext.glMapNamedBufferEXT).invokeExact(buffer, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glUnmapNamedBufferEXT(int buffer) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glUnmapNamedBufferEXT).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedBufferParameterivEXT(int buffer, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedBufferParameterivEXT).invokeExact(buffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedBufferPointervEXT(int buffer, int pname, @NativeType("void **") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedBufferPointervEXT).invokeExact(buffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedBufferSubDataEXT(int buffer, long offset, long size, @NativeType("void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedBufferSubDataEXT).invokeExact(buffer, offset, size, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1fEXT(int program, int location, float v0) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1fEXT).invokeExact(program, location, v0); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2fEXT(int program, int location, float v0, float v1) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2fEXT).invokeExact(program, location, v0, v1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3fEXT(int program, int location, float v0, float v1, float v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3fEXT).invokeExact(program, location, v0, v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4fEXT(int program, int location, float v0, float v1, float v2, float v3) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4fEXT).invokeExact(program, location, v0, v1, v2, v3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1iEXT(int program, int location, int v0) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1iEXT).invokeExact(program, location, v0); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2iEXT(int program, int location, int v0, int v1) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2iEXT).invokeExact(program, location, v0, v1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3iEXT(int program, int location, int v0, int v1, int v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3iEXT).invokeExact(program, location, v0, v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4iEXT(int program, int location, int v0, int v1, int v2, int v3) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4iEXT).invokeExact(program, location, v0, v1, v2, v3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1fvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2fvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3fvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4fvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1ivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2ivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3ivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4ivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix2fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix3fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix4fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix2x3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix2x3fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix3x2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix3x2fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix2x4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix2x4fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix4x2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix4x2fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix3x4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix3x4fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix4x3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix4x3fvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureBufferEXT(int texture, int target, int internalformat, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureBufferEXT).invokeExact(texture, target, internalformat, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexBufferEXT(int texunit, int target, int internalformat, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexBufferEXT).invokeExact(texunit, target, internalformat, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureParameterIivEXT(int texture, int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureParameterIivEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureParameterIuivEXT(int texture, int target, int pname, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureParameterIuivEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTextureParameterIivEXT(int texture, int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTextureParameterIivEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTextureParameterIuivEXT(int texture, int target, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTextureParameterIuivEXT).invokeExact(texture, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexParameterIivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexParameterIivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexParameterIuivEXT(int texunit, int target, int pname, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexParameterIuivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexParameterIivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexParameterIivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMultiTexParameterIuivEXT(int texunit, int target, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultiTexParameterIuivEXT).invokeExact(texunit, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1uiEXT(int program, int location, int v0) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1uiEXT).invokeExact(program, location, v0); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2uiEXT(int program, int location, int v0, int v1) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2uiEXT).invokeExact(program, location, v0, v1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3uiEXT(int program, int location, int v0, int v1, int v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3uiEXT).invokeExact(program, location, v0, v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4uiEXT(int program, int location, int v0, int v1, int v2, int v3) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4uiEXT).invokeExact(program, location, v0, v1, v2, v3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1uivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2uivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3uivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4uivEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameters4fvEXT(int program, int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameters4fvEXT).invokeExact(program, target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameterI4iEXT(int program, int target, int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameterI4iEXT).invokeExact(program, target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameterI4ivEXT(int program, int target, int index, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameterI4ivEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParametersI4ivEXT(int program, int target, int index, int count, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParametersI4ivEXT).invokeExact(program, target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameterI4uiEXT(int program, int target, int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameterI4uiEXT).invokeExact(program, target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameterI4uivEXT(int program, int target, int index, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameterI4uivEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParametersI4uivEXT(int program, int target, int index, int count, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParametersI4uivEXT).invokeExact(program, target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedProgramLocalParameterIivEXT(int program, int target, int index, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedProgramLocalParameterIivEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedProgramLocalParameterIuivEXT(int program, int target, int index, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedProgramLocalParameterIuivEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEnableClientStateiEXT(int array, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableClientStateiEXT).invokeExact(array, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableClientStateiEXT(int array, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableClientStateiEXT).invokeExact(array, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFloati_vEXT(int pname, int index, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFloati_vEXT).invokeExact(pname, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetDoublei_vEXT(int pname, int index, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetDoublei_vEXT).invokeExact(pname, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPointeri_vEXT(int pname, int index, @NativeType("void **") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPointeri_vEXT).invokeExact(pname, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramStringEXT(int program, int target, int format, int len, @NativeType("const void *") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramStringEXT).invokeExact(program, target, format, len, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameter4dEXT(int program, int target, int index, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameter4dEXT).invokeExact(program, target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameter4dvEXT(int program, int target, int index, @NativeType("const GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameter4dvEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameter4fEXT(int program, int target, int index, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameter4fEXT).invokeExact(program, target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedProgramLocalParameter4fvEXT(int program, int target, int index, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedProgramLocalParameter4fvEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedProgramLocalParameterdvEXT(int program, int target, int index, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedProgramLocalParameterdvEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedProgramLocalParameterfvEXT(int program, int target, int index, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedProgramLocalParameterfvEXT).invokeExact(program, target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedProgramivEXT(int program, int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedProgramivEXT).invokeExact(program, target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedProgramStringEXT(int program, int target, int pname, @NativeType("void *") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedProgramStringEXT).invokeExact(program, target, pname, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedRenderbufferStorageEXT(int renderbuffer, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedRenderbufferStorageEXT).invokeExact(renderbuffer, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedRenderbufferParameterivEXT(int renderbuffer, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedRenderbufferParameterivEXT).invokeExact(renderbuffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedRenderbufferStorageMultisampleEXT(int renderbuffer, int samples, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedRenderbufferStorageMultisampleEXT).invokeExact(renderbuffer, samples, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedRenderbufferStorageMultisampleCoverageEXT(int renderbuffer, int coverageSamples, int colorSamples, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedRenderbufferStorageMultisampleCoverageEXT).invokeExact(renderbuffer, coverageSamples, colorSamples, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glCheckNamedFramebufferStatusEXT(int framebuffer, int target) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glCheckNamedFramebufferStatusEXT).invokeExact(framebuffer, target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferTexture1DEXT(int framebuffer, int attachment, int textarget, int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferTexture1DEXT).invokeExact(framebuffer, attachment, textarget, texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferTexture2DEXT(int framebuffer, int attachment, int textarget, int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferTexture2DEXT).invokeExact(framebuffer, attachment, textarget, texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferTexture3DEXT(int framebuffer, int attachment, int textarget, int texture, int level, int zoffset) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferTexture3DEXT).invokeExact(framebuffer, attachment, textarget, texture, level, zoffset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferRenderbufferEXT(int framebuffer, int attachment, int renderbuffertarget, int renderbuffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferRenderbufferEXT).invokeExact(framebuffer, attachment, renderbuffertarget, renderbuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedFramebufferAttachmentParameterivEXT(int framebuffer, int attachment, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedFramebufferAttachmentParameterivEXT).invokeExact(framebuffer, attachment, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenerateTextureMipmapEXT(int texture, int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenerateTextureMipmapEXT).invokeExact(texture, target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenerateMultiTexMipmapEXT(int texunit, int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenerateMultiTexMipmapEXT).invokeExact(texunit, target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferDrawBufferEXT(int framebuffer, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferDrawBufferEXT).invokeExact(framebuffer, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferDrawBuffersEXT(int framebuffer, int n, @NativeType("const GLenum *") MemorySegment bufs) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferDrawBuffersEXT).invokeExact(framebuffer, n, bufs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferReadBufferEXT(int framebuffer, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferReadBufferEXT).invokeExact(framebuffer, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFramebufferParameterivEXT(int framebuffer, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFramebufferParameterivEXT).invokeExact(framebuffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedCopyBufferSubDataEXT(int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedCopyBufferSubDataEXT).invokeExact(readBuffer, writeBuffer, readOffset, writeOffset, size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferTextureEXT(int framebuffer, int attachment, int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferTextureEXT).invokeExact(framebuffer, attachment, texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferTextureLayerEXT(int framebuffer, int attachment, int texture, int level, int layer) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferTextureLayerEXT).invokeExact(framebuffer, attachment, texture, level, layer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferTextureFaceEXT(int framebuffer, int attachment, int texture, int level, int face) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferTextureFaceEXT).invokeExact(framebuffer, attachment, texture, level, face); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureRenderbufferEXT(int texture, int target, int renderbuffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureRenderbufferEXT).invokeExact(texture, target, renderbuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexRenderbufferEXT(int texunit, int target, int renderbuffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexRenderbufferEXT).invokeExact(texunit, target, renderbuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayColorOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayColorOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayEdgeFlagOffsetEXT(int vaobj, int buffer, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayEdgeFlagOffsetEXT).invokeExact(vaobj, buffer, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayIndexOffsetEXT(int vaobj, int buffer, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayIndexOffsetEXT).invokeExact(vaobj, buffer, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayNormalOffsetEXT(int vaobj, int buffer, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayNormalOffsetEXT).invokeExact(vaobj, buffer, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayTexCoordOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayTexCoordOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayMultiTexCoordOffsetEXT(int vaobj, int buffer, int texunit, int size, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayMultiTexCoordOffsetEXT).invokeExact(vaobj, buffer, texunit, size, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayFogCoordOffsetEXT(int vaobj, int buffer, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayFogCoordOffsetEXT).invokeExact(vaobj, buffer, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArraySecondaryColorOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArraySecondaryColorOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribOffsetEXT(int vaobj, int buffer, int index, int size, int type, boolean normalized, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribOffsetEXT).invokeExact(vaobj, buffer, index, size, type, normalized, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribIOffsetEXT(int vaobj, int buffer, int index, int size, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribIOffsetEXT).invokeExact(vaobj, buffer, index, size, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEnableVertexArrayEXT(int vaobj, int array) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableVertexArrayEXT).invokeExact(vaobj, array); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableVertexArrayEXT(int vaobj, int array) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableVertexArrayEXT).invokeExact(vaobj, array); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEnableVertexArrayAttribEXT(int vaobj, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableVertexArrayAttribEXT).invokeExact(vaobj, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableVertexArrayAttribEXT(int vaobj, int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableVertexArrayAttribEXT).invokeExact(vaobj, index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexArrayIntegervEXT(int vaobj, int pname, @NativeType("GLint *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexArrayIntegervEXT).invokeExact(vaobj, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexArrayPointervEXT(int vaobj, int pname, @NativeType("void **") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexArrayPointervEXT).invokeExact(vaobj, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexArrayIntegeri_vEXT(int vaobj, int index, int pname, @NativeType("GLint *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexArrayIntegeri_vEXT).invokeExact(vaobj, index, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexArrayPointeri_vEXT(int vaobj, int index, int pname, @NativeType("void **") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexArrayPointeri_vEXT).invokeExact(vaobj, index, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapNamedBufferRangeEXT(int buffer, long offset, long length, int access) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapNamedBufferRangeEXT).invokeExact(buffer, offset, length, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFlushMappedNamedBufferRangeEXT(int buffer, long offset, long length) { - final var ext = getExtCapabilities(); - try { - check(ext.glFlushMappedNamedBufferRangeEXT).invokeExact(buffer, offset, length); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferStorageEXT(int buffer, long size, @NativeType("const void *") MemorySegment data, int flags) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferStorageEXT).invokeExact(buffer, size, data, flags); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearNamedBufferDataEXT(int buffer, int internalformat, int format, int type, @NativeType("const void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearNamedBufferDataEXT).invokeExact(buffer, internalformat, format, type, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearNamedBufferSubDataEXT(int buffer, int internalformat, long offset, long size, int format, int type, @NativeType("const void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearNamedBufferSubDataEXT).invokeExact(buffer, internalformat, offset, size, format, type, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferParameteriEXT(int framebuffer, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferParameteriEXT).invokeExact(framebuffer, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedFramebufferParameterivEXT(int framebuffer, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedFramebufferParameterivEXT).invokeExact(framebuffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1dEXT(int program, int location, double x) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1dEXT).invokeExact(program, location, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2dEXT(int program, int location, double x, double y) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2dEXT).invokeExact(program, location, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3dEXT(int program, int location, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3dEXT).invokeExact(program, location, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4dEXT(int program, int location, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4dEXT).invokeExact(program, location, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform1dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform1dvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform2dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform2dvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform3dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform3dvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniform4dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniform4dvEXT).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix2dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix3dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix4dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix2x3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix2x3dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix2x4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix2x4dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix3x2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix3x2dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix3x4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix3x4dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix4x2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix4x2dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformMatrix4x3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformMatrix4x3dvEXT).invokeExact(program, location, count, transpose, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureBufferRangeEXT(int texture, int target, int internalformat, int buffer, long offset, long size) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureBufferRangeEXT).invokeExact(texture, target, internalformat, buffer, offset, size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorage1DEXT(int texture, int target, int levels, int internalformat, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorage1DEXT).invokeExact(texture, target, levels, internalformat, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorage2DEXT(int texture, int target, int levels, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorage2DEXT).invokeExact(texture, target, levels, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorage3DEXT(int texture, int target, int levels, int internalformat, int width, int height, int depth) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorage3DEXT).invokeExact(texture, target, levels, internalformat, width, height, depth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorage2DMultisampleEXT(int texture, int target, int samples, int internalformat, int width, int height, boolean fixedsamplelocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorage2DMultisampleEXT).invokeExact(texture, target, samples, internalformat, width, height, fixedsamplelocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorage3DMultisampleEXT(int texture, int target, int samples, int internalformat, int width, int height, int depth, boolean fixedsamplelocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorage3DMultisampleEXT).invokeExact(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayBindVertexBufferEXT(int vaobj, int bindingindex, int buffer, long offset, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayBindVertexBufferEXT).invokeExact(vaobj, bindingindex, buffer, offset, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribFormatEXT(int vaobj, int attribindex, int size, int type, boolean normalized, int relativeoffset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribFormatEXT).invokeExact(vaobj, attribindex, size, type, normalized, relativeoffset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribIFormatEXT(int vaobj, int attribindex, int size, int type, int relativeoffset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribIFormatEXT).invokeExact(vaobj, attribindex, size, type, relativeoffset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribLFormatEXT(int vaobj, int attribindex, int size, int type, int relativeoffset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribLFormatEXT).invokeExact(vaobj, attribindex, size, type, relativeoffset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribBindingEXT(int vaobj, int attribindex, int bindingindex) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribBindingEXT).invokeExact(vaobj, attribindex, bindingindex); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexBindingDivisorEXT(int vaobj, int bindingindex, int divisor) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexBindingDivisorEXT).invokeExact(vaobj, bindingindex, divisor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribLOffsetEXT(int vaobj, int buffer, int index, int size, int type, int stride, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribLOffsetEXT).invokeExact(vaobj, buffer, index, size, type, stride, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexturePageCommitmentEXT(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexturePageCommitmentEXT).invokeExact(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayVertexAttribDivisorEXT(int vaobj, int index, int divisor) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayVertexAttribDivisorEXT).invokeExact(vaobj, index, divisor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTDirectStateAccess { + int GL_PROGRAM_MATRIX_EXT = 0x8E2D; + int GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; + int GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; + + void glMatrixLoadfEXT(int mode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixLoaddEXT(int mode, @NativeType("const GLdouble *") MemorySegment m); + void glMatrixMultfEXT(int mode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixMultdEXT(int mode, @NativeType("const GLdouble *") MemorySegment m); + void glMatrixLoadIdentityEXT(int mode); + void glMatrixRotatefEXT(int mode, float angle, float x, float y, float z); + void glMatrixRotatedEXT(int mode, double angle, double x, double y, double z); + void glMatrixScalefEXT(int mode, float x, float y, float z); + void glMatrixScaledEXT(int mode, double x, double y, double z); + void glMatrixTranslatefEXT(int mode, float x, float y, float z); + void glMatrixTranslatedEXT(int mode, double x, double y, double z); + void glMatrixFrustumEXT(int mode, double left, double right, double bottom, double top, double zNear, double zFar); + void glMatrixOrthoEXT(int mode, double left, double right, double bottom, double top, double zNear, double zFar); + void glMatrixPopEXT(int mode); + void glMatrixPushEXT(int mode); + void glClientAttribDefaultEXT(int mask); + void glPushClientAttribDefaultEXT(int mask); + void glTextureParameterfEXT(int texture, int target, int pname, float param); + void glTextureParameterfvEXT(int texture, int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glTextureParameteriEXT(int texture, int target, int pname, int param); + void glTextureParameterivEXT(int texture, int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glTextureImage1DEXT(int texture, int target, int level, int internalformat, int width, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glTextureImage2DEXT(int texture, int target, int level, int internalformat, int width, int height, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glCopyTextureImage1DEXT(int texture, int target, int level, int internalformat, int x, int y, int width, int border); + void glCopyTextureImage2DEXT(int texture, int target, int level, int internalformat, int x, int y, int width, int height, int border); + void glCopyTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int x, int y, int width); + void glCopyTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int x, int y, int width, int height); + void glGetTextureImageEXT(int texture, int target, int level, int format, int type, @NativeType("void *") MemorySegment pixels); + void glGetTextureParameterfvEXT(int texture, int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetTextureParameterivEXT(int texture, int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetTextureLevelParameterfvEXT(int texture, int target, int level, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetTextureLevelParameterivEXT(int texture, int target, int level, int pname, @NativeType("GLint *") MemorySegment params); + void glTextureImage3DEXT(int texture, int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glCopyTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height); + void glBindMultiTextureEXT(int texunit, int target, int texture); + void glMultiTexCoordPointerEXT(int texunit, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer); + void glMultiTexEnvfEXT(int texunit, int target, int pname, float param); + void glMultiTexEnvfvEXT(int texunit, int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glMultiTexEnviEXT(int texunit, int target, int pname, int param); + void glMultiTexEnvivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glMultiTexGendEXT(int texunit, int coord, int pname, double param); + void glMultiTexGendvEXT(int texunit, int coord, int pname, @NativeType("const GLdouble *") MemorySegment params); + void glMultiTexGenfEXT(int texunit, int coord, int pname, float param); + void glMultiTexGenfvEXT(int texunit, int coord, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glMultiTexGeniEXT(int texunit, int coord, int pname, int param); + void glMultiTexGenivEXT(int texunit, int coord, int pname, @NativeType("const GLint *") MemorySegment params); + void glGetMultiTexEnvfvEXT(int texunit, int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetMultiTexEnvivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetMultiTexGendvEXT(int texunit, int coord, int pname, @NativeType("GLdouble *") MemorySegment params); + void glGetMultiTexGenfvEXT(int texunit, int coord, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetMultiTexGenivEXT(int texunit, int coord, int pname, @NativeType("GLint *") MemorySegment params); + void glMultiTexParameteriEXT(int texunit, int target, int pname, int param); + void glMultiTexParameterivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glMultiTexParameterfEXT(int texunit, int target, int pname, float param); + void glMultiTexParameterfvEXT(int texunit, int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int width, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int width, int height, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glCopyMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int x, int y, int width, int border); + void glCopyMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int x, int y, int width, int height, int border); + void glCopyMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int x, int y, int width); + void glCopyMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int x, int y, int width, int height); + void glGetMultiTexImageEXT(int texunit, int target, int level, int format, int type, @NativeType("void *") MemorySegment pixels); + void glGetMultiTexParameterfvEXT(int texunit, int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetMultiTexParameterivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetMultiTexLevelParameterfvEXT(int texunit, int target, int level, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetMultiTexLevelParameterivEXT(int texunit, int target, int level, int pname, @NativeType("GLint *") MemorySegment params); + void glMultiTexImage3DEXT(int texunit, int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glCopyMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height); + void glEnableClientStateIndexedEXT(int array, int index); + void glDisableClientStateIndexedEXT(int array, int index); + void glGetFloatIndexedvEXT(int target, int index, @NativeType("GLfloat *") MemorySegment data); + void glGetDoubleIndexedvEXT(int target, int index, @NativeType("GLdouble *") MemorySegment data); + void glGetPointerIndexedvEXT(int target, int index, @NativeType("void **") MemorySegment data); + void glEnableIndexedEXT(int target, int index); + void glDisableIndexedEXT(int target, int index); + boolean glIsEnabledIndexedEXT(int target, int index); + void glGetIntegerIndexedvEXT(int target, int index, @NativeType("GLint *") MemorySegment data); + void glGetBooleanIndexedvEXT(int target, int index, @NativeType("GLboolean *") MemorySegment data); + void glCompressedTextureImage3DEXT(int texture, int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedTextureImage2DEXT(int texture, int target, int level, int internalformat, int width, int height, int border, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedTextureImage1DEXT(int texture, int target, int level, int internalformat, int width, int border, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void *") MemorySegment bits); + void glGetCompressedTextureImageEXT(int texture, int target, int lod, @NativeType("void *") MemorySegment img); + void glCompressedMultiTexImage3DEXT(int texunit, int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int width, int height, int border, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int width, int border, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void *") MemorySegment bits); + void glCompressedMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void *") MemorySegment bits); + void glGetCompressedMultiTexImageEXT(int texunit, int target, int lod, @NativeType("void *") MemorySegment img); + void glMatrixLoadTransposefEXT(int mode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixLoadTransposedEXT(int mode, @NativeType("const GLdouble *") MemorySegment m); + void glMatrixMultTransposefEXT(int mode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixMultTransposedEXT(int mode, @NativeType("const GLdouble *") MemorySegment m); + void glNamedBufferDataEXT(int buffer, long size, @NativeType("const void *") MemorySegment data, int usage); + void glNamedBufferSubDataEXT(int buffer, long offset, long size, @NativeType("const void *") MemorySegment data); + @NativeType("void *") MemorySegment glMapNamedBufferEXT(int buffer, int access); + boolean glUnmapNamedBufferEXT(int buffer); + void glGetNamedBufferParameterivEXT(int buffer, int pname, @NativeType("GLint *") MemorySegment params); + void glGetNamedBufferPointervEXT(int buffer, int pname, @NativeType("void **") MemorySegment params); + void glGetNamedBufferSubDataEXT(int buffer, long offset, long size, @NativeType("void *") MemorySegment data); + void glProgramUniform1fEXT(int program, int location, float v0); + void glProgramUniform2fEXT(int program, int location, float v0, float v1); + void glProgramUniform3fEXT(int program, int location, float v0, float v1, float v2); + void glProgramUniform4fEXT(int program, int location, float v0, float v1, float v2, float v3); + void glProgramUniform1iEXT(int program, int location, int v0); + void glProgramUniform2iEXT(int program, int location, int v0, int v1); + void glProgramUniform3iEXT(int program, int location, int v0, int v1, int v2); + void glProgramUniform4iEXT(int program, int location, int v0, int v1, int v2, int v3); + void glProgramUniform1fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniform2fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniform3fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniform4fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniform1ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value); + void glProgramUniform2ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value); + void glProgramUniform3ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value); + void glProgramUniform4ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value); + void glProgramUniformMatrix2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix2x3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix3x2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix2x4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix4x2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix3x4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glProgramUniformMatrix4x3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value); + void glTextureBufferEXT(int texture, int target, int internalformat, int buffer); + void glMultiTexBufferEXT(int texunit, int target, int internalformat, int buffer); + void glTextureParameterIivEXT(int texture, int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glTextureParameterIuivEXT(int texture, int target, int pname, @NativeType("const GLuint *") MemorySegment params); + void glGetTextureParameterIivEXT(int texture, int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetTextureParameterIuivEXT(int texture, int target, int pname, @NativeType("GLuint *") MemorySegment params); + void glMultiTexParameterIivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glMultiTexParameterIuivEXT(int texunit, int target, int pname, @NativeType("const GLuint *") MemorySegment params); + void glGetMultiTexParameterIivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetMultiTexParameterIuivEXT(int texunit, int target, int pname, @NativeType("GLuint *") MemorySegment params); + void glProgramUniform1uiEXT(int program, int location, int v0); + void glProgramUniform2uiEXT(int program, int location, int v0, int v1); + void glProgramUniform3uiEXT(int program, int location, int v0, int v1, int v2); + void glProgramUniform4uiEXT(int program, int location, int v0, int v1, int v2, int v3); + void glProgramUniform1uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glProgramUniform2uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glProgramUniform3uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glProgramUniform4uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glNamedProgramLocalParameters4fvEXT(int program, int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params); + void glNamedProgramLocalParameterI4iEXT(int program, int target, int index, int x, int y, int z, int w); + void glNamedProgramLocalParameterI4ivEXT(int program, int target, int index, @NativeType("const GLint *") MemorySegment params); + void glNamedProgramLocalParametersI4ivEXT(int program, int target, int index, int count, @NativeType("const GLint *") MemorySegment params); + void glNamedProgramLocalParameterI4uiEXT(int program, int target, int index, int x, int y, int z, int w); + void glNamedProgramLocalParameterI4uivEXT(int program, int target, int index, @NativeType("const GLuint *") MemorySegment params); + void glNamedProgramLocalParametersI4uivEXT(int program, int target, int index, int count, @NativeType("const GLuint *") MemorySegment params); + void glGetNamedProgramLocalParameterIivEXT(int program, int target, int index, @NativeType("GLint *") MemorySegment params); + void glGetNamedProgramLocalParameterIuivEXT(int program, int target, int index, @NativeType("GLuint *") MemorySegment params); + void glEnableClientStateiEXT(int array, int index); + void glDisableClientStateiEXT(int array, int index); + void glGetFloati_vEXT(int pname, int index, @NativeType("GLfloat *") MemorySegment params); + void glGetDoublei_vEXT(int pname, int index, @NativeType("GLdouble *") MemorySegment params); + void glGetPointeri_vEXT(int pname, int index, @NativeType("void **") MemorySegment params); + void glNamedProgramStringEXT(int program, int target, int format, int len, @NativeType("const void *") MemorySegment string); + void glNamedProgramLocalParameter4dEXT(int program, int target, int index, double x, double y, double z, double w); + void glNamedProgramLocalParameter4dvEXT(int program, int target, int index, @NativeType("const GLdouble *") MemorySegment params); + void glNamedProgramLocalParameter4fEXT(int program, int target, int index, float x, float y, float z, float w); + void glNamedProgramLocalParameter4fvEXT(int program, int target, int index, @NativeType("const GLfloat *") MemorySegment params); + void glGetNamedProgramLocalParameterdvEXT(int program, int target, int index, @NativeType("GLdouble *") MemorySegment params); + void glGetNamedProgramLocalParameterfvEXT(int program, int target, int index, @NativeType("GLfloat *") MemorySegment params); + void glGetNamedProgramivEXT(int program, int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetNamedProgramStringEXT(int program, int target, int pname, @NativeType("void *") MemorySegment string); + void glNamedRenderbufferStorageEXT(int renderbuffer, int internalformat, int width, int height); + void glGetNamedRenderbufferParameterivEXT(int renderbuffer, int pname, @NativeType("GLint *") MemorySegment params); + void glNamedRenderbufferStorageMultisampleEXT(int renderbuffer, int samples, int internalformat, int width, int height); + void glNamedRenderbufferStorageMultisampleCoverageEXT(int renderbuffer, int coverageSamples, int colorSamples, int internalformat, int width, int height); + int glCheckNamedFramebufferStatusEXT(int framebuffer, int target); + void glNamedFramebufferTexture1DEXT(int framebuffer, int attachment, int textarget, int texture, int level); + void glNamedFramebufferTexture2DEXT(int framebuffer, int attachment, int textarget, int texture, int level); + void glNamedFramebufferTexture3DEXT(int framebuffer, int attachment, int textarget, int texture, int level, int zoffset); + void glNamedFramebufferRenderbufferEXT(int framebuffer, int attachment, int renderbuffertarget, int renderbuffer); + void glGetNamedFramebufferAttachmentParameterivEXT(int framebuffer, int attachment, int pname, @NativeType("GLint *") MemorySegment params); + void glGenerateTextureMipmapEXT(int texture, int target); + void glGenerateMultiTexMipmapEXT(int texunit, int target); + void glFramebufferDrawBufferEXT(int framebuffer, int mode); + void glFramebufferDrawBuffersEXT(int framebuffer, int n, @NativeType("const GLenum *") MemorySegment bufs); + void glFramebufferReadBufferEXT(int framebuffer, int mode); + void glGetFramebufferParameterivEXT(int framebuffer, int pname, @NativeType("GLint *") MemorySegment params); + void glNamedCopyBufferSubDataEXT(int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size); + void glNamedFramebufferTextureEXT(int framebuffer, int attachment, int texture, int level); + void glNamedFramebufferTextureLayerEXT(int framebuffer, int attachment, int texture, int level, int layer); + void glNamedFramebufferTextureFaceEXT(int framebuffer, int attachment, int texture, int level, int face); + void glTextureRenderbufferEXT(int texture, int target, int renderbuffer); + void glMultiTexRenderbufferEXT(int texunit, int target, int renderbuffer); + void glVertexArrayVertexOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset); + void glVertexArrayColorOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset); + void glVertexArrayEdgeFlagOffsetEXT(int vaobj, int buffer, int stride, long offset); + void glVertexArrayIndexOffsetEXT(int vaobj, int buffer, int type, int stride, long offset); + void glVertexArrayNormalOffsetEXT(int vaobj, int buffer, int type, int stride, long offset); + void glVertexArrayTexCoordOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset); + void glVertexArrayMultiTexCoordOffsetEXT(int vaobj, int buffer, int texunit, int size, int type, int stride, long offset); + void glVertexArrayFogCoordOffsetEXT(int vaobj, int buffer, int type, int stride, long offset); + void glVertexArraySecondaryColorOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset); + void glVertexArrayVertexAttribOffsetEXT(int vaobj, int buffer, int index, int size, int type, boolean normalized, int stride, long offset); + void glVertexArrayVertexAttribIOffsetEXT(int vaobj, int buffer, int index, int size, int type, int stride, long offset); + void glEnableVertexArrayEXT(int vaobj, int array); + void glDisableVertexArrayEXT(int vaobj, int array); + void glEnableVertexArrayAttribEXT(int vaobj, int index); + void glDisableVertexArrayAttribEXT(int vaobj, int index); + void glGetVertexArrayIntegervEXT(int vaobj, int pname, @NativeType("GLint *") MemorySegment param); + void glGetVertexArrayPointervEXT(int vaobj, int pname, @NativeType("void **") MemorySegment param); + void glGetVertexArrayIntegeri_vEXT(int vaobj, int index, int pname, @NativeType("GLint *") MemorySegment param); + void glGetVertexArrayPointeri_vEXT(int vaobj, int index, int pname, @NativeType("void **") MemorySegment param); + void glMapNamedBufferRangeEXT(int buffer, long offset, long length, int access); + void glFlushMappedNamedBufferRangeEXT(int buffer, long offset, long length); + void glNamedBufferStorageEXT(int buffer, long size, @NativeType("const void *") MemorySegment data, int flags); + void glClearNamedBufferDataEXT(int buffer, int internalformat, int format, int type, @NativeType("const void *") MemorySegment data); + void glClearNamedBufferSubDataEXT(int buffer, int internalformat, long offset, long size, int format, int type, @NativeType("const void *") MemorySegment data); + void glNamedFramebufferParameteriEXT(int framebuffer, int pname, int param); + void glGetNamedFramebufferParameterivEXT(int framebuffer, int pname, @NativeType("GLint *") MemorySegment params); + void glProgramUniform1dEXT(int program, int location, double x); + void glProgramUniform2dEXT(int program, int location, double x, double y); + void glProgramUniform3dEXT(int program, int location, double x, double y, double z); + void glProgramUniform4dEXT(int program, int location, double x, double y, double z, double w); + void glProgramUniform1dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniform2dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniform3dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniform4dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix2x3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix2x4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix3x2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix3x4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix4x2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glProgramUniformMatrix4x3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value); + void glTextureBufferRangeEXT(int texture, int target, int internalformat, int buffer, long offset, long size); + void glTextureStorage1DEXT(int texture, int target, int levels, int internalformat, int width); + void glTextureStorage2DEXT(int texture, int target, int levels, int internalformat, int width, int height); + void glTextureStorage3DEXT(int texture, int target, int levels, int internalformat, int width, int height, int depth); + void glTextureStorage2DMultisampleEXT(int texture, int target, int samples, int internalformat, int width, int height, boolean fixedsamplelocations); + void glTextureStorage3DMultisampleEXT(int texture, int target, int samples, int internalformat, int width, int height, int depth, boolean fixedsamplelocations); + void glVertexArrayBindVertexBufferEXT(int vaobj, int bindingindex, int buffer, long offset, int stride); + void glVertexArrayVertexAttribFormatEXT(int vaobj, int attribindex, int size, int type, boolean normalized, int relativeoffset); + void glVertexArrayVertexAttribIFormatEXT(int vaobj, int attribindex, int size, int type, int relativeoffset); + void glVertexArrayVertexAttribLFormatEXT(int vaobj, int attribindex, int size, int type, int relativeoffset); + void glVertexArrayVertexAttribBindingEXT(int vaobj, int attribindex, int bindingindex); + void glVertexArrayVertexBindingDivisorEXT(int vaobj, int bindingindex, int divisor); + void glVertexArrayVertexAttribLOffsetEXT(int vaobj, int buffer, int index, int size, int type, int stride, long offset); + void glTexturePageCommitmentEXT(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, boolean commit); + void glVertexArrayVertexAttribDivisorEXT(int vaobj, int index, int divisor); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java index 459b550c..6aae1976 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_draw_buffers2} */ -public final class GLEXTDrawBuffers2 { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_draw_buffers2) return; - ext.glColorMaskIndexedEXT = load.invoke("glColorMaskIndexedEXT", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - } - - public static void glColorMaskIndexedEXT(int index, boolean r, boolean g, boolean b, boolean a) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorMaskIndexedEXT).invokeExact(index, r, g, b, a); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTDrawBuffers2 { + void glColorMaskIndexedEXT(int index, boolean r, boolean g, boolean b, boolean a); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java index ad79bd07..96e2d516 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_draw_instanced} */ -public final class GLEXTDrawInstanced { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_draw_instanced) return; - ext.glDrawArraysInstancedEXT = load.invoke("glDrawArraysInstancedEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glDrawElementsInstancedEXT = load.invoke("glDrawElementsInstancedEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - } - - public static void glDrawArraysInstancedEXT(int mode, int start, int count, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawArraysInstancedEXT).invokeExact(mode, start, count, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawElementsInstancedEXT(int mode, int count, int type, @NativeType("const void *") MemorySegment indices, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawElementsInstancedEXT).invokeExact(mode, count, type, indices, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTDrawInstanced { + void glDrawArraysInstancedEXT(int mode, int start, int count, int primcount); + void glDrawElementsInstancedEXT(int mode, int count, int type, @NativeType("const void *") MemorySegment indices, int primcount); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java index b56c77fb..e55de973 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_draw_range_elements} */ -public final class GLEXTDrawRangedElements { - public static final int GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8; - public static final int GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_draw_range_elements) return; - ext.glDrawRangeElementsEXT = load.invoke("glDrawRangeElementsEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, @NativeType("const void *") MemorySegment indices) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawRangeElementsEXT).invokeExact(mode, start, end, count, type, indices); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTDrawRangedElements { + int GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8; + int GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9; + void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, @NativeType("const void *") MemorySegment indices); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java index 5f0d9b54..158a9b5f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_EGL_image_storage} */ -public final class GLEXTEGLImageStorage { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_EGL_image_storage) return; - ext.glEGLImageTargetTexStorageEXT = load.invoke("glEGLImageTargetTexStorageEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); - ext.glEGLImageTargetTextureStorageEXT = load.invoke("glEGLImageTargetTextureStorageEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glEGLImageTargetTexStorageEXT(int target, @NativeType("GLeglImageOES") MemorySegment image, @NativeType("const GLint*") MemorySegment attrib_list) { - final var ext = getExtCapabilities(); - try { - check(ext.glEGLImageTargetTexStorageEXT).invokeExact(target, image, attrib_list); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEGLImageTargetTextureStorageEXT(int texture, @NativeType("GLeglImageOES") MemorySegment image, @NativeType("const GLint*") MemorySegment attrib_list) { - final var ext = getExtCapabilities(); - try { - check(ext.glEGLImageTargetTextureStorageEXT).invokeExact(texture, image, attrib_list); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTEGLImageStorage { + void glEGLImageTargetTexStorageEXT(int target, @NativeType("GLeglImageOES") MemorySegment image, @NativeType("const GLint*") MemorySegment attrib_list); + void glEGLImageTargetTextureStorageEXT(int texture, @NativeType("GLeglImageOES") MemorySegment image, @NativeType("const GLint*") MemorySegment attrib_list); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java index 99d76dc8..25846367 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_external_buffer} */ -public final class GLEXTExternalBuffer { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_external_buffer) return; - ext.glBufferStorageExternalEXT = load.invoke("glBufferStorageExternalEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS, JAVA_INT)); - ext.glNamedBufferStorageExternalEXT = load.invoke("glNamedBufferStorageExternalEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS, JAVA_INT)); - } - - public static void glBufferStorageExternalEXT(int target, long offset, long size, @NativeType("GLeglClientBufferEXT") MemorySegment clientBuffer, int flags) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferStorageExternalEXT).invokeExact(target, offset, size, clientBuffer, flags); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferStorageExternalEXT(int buffer, long offset, long size, @NativeType("GLeglClientBufferEXT") MemorySegment clientBuffer, int flags) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferStorageExternalEXT).invokeExact(buffer, offset, size, clientBuffer, flags); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTExternalBuffer { + void glBufferStorageExternalEXT(int target, long offset, long size, @NativeType("GLeglClientBufferEXT") MemorySegment clientBuffer, int flags); + void glNamedBufferStorageExternalEXT(int buffer, long offset, long size, @NativeType("GLeglClientBufferEXT") MemorySegment clientBuffer, int flags); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java index 504a14d3..e9c38ada 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java @@ -18,66 +18,25 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_fog_coord} */ -public final class GLEXTFogCoord { - public static final int GL_FOG_COORDINATE_SOURCE_EXT = 0x8450; - public static final int GL_FOG_COORDINATE_EXT = 0x8451; - public static final int GL_FRAGMENT_DEPTH_EXT = 0x8452; - public static final int GL_CURRENT_FOG_COORDINATE_EXT = 0x8453; - public static final int GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; - public static final int GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; - public static final int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; - public static final int GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_fog_coord) return; - ext.glFogCoordfEXT = load.invoke("glFogCoordfEXT", ofVoid(JAVA_FLOAT)); - ext.glFogCoordfvEXT = load.invoke("glFogCoordfvEXT", ofVoid(ADDRESS)); - ext.glFogCoorddEXT = load.invoke("glFogCoorddEXT", ofVoid(JAVA_DOUBLE)); - ext.glFogCoorddvEXT = load.invoke("glFogCoorddvEXT", ofVoid(ADDRESS)); - ext.glFogCoordPointerEXT = load.invoke("glFogCoordPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glFogCoordfEXT(float coord) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoordfEXT).invokeExact(coord); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoordfvEXT(@NativeType("const GLfloat *") MemorySegment coord) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoordfvEXT).invokeExact(coord); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoorddEXT(double coord) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoorddEXT).invokeExact(coord); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoorddvEXT(@NativeType("const GLdouble *") MemorySegment coord) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoorddvEXT).invokeExact(coord); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoordPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoordPointerEXT).invokeExact(type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTFogCoord { + int GL_FOG_COORDINATE_SOURCE_EXT = 0x8450; + int GL_FOG_COORDINATE_EXT = 0x8451; + int GL_FRAGMENT_DEPTH_EXT = 0x8452; + int GL_CURRENT_FOG_COORDINATE_EXT = 0x8453; + int GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; + int GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; + int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; + int GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; + + void glFogCoordfEXT(float coord); + void glFogCoordfvEXT(@NativeType("const GLfloat *") MemorySegment coord); + void glFogCoorddEXT(double coord); + void glFogCoorddvEXT(@NativeType("const GLdouble *") MemorySegment coord); + void glFogCoordPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java index 44ff831f..78a4b088 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_framebuffer_blit} */ -public final class GLEXTFramebufferBlit { - public static final int GL_READ_FRAMEBUFFER_EXT = 0x8CA8; - public static final int GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9; - public static final int GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; - public static final int GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_framebuffer_blit) return; - ext.glBlitFramebufferEXT = load.invoke("glBlitFramebufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glBlitFramebufferEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlitFramebufferEXT).invokeExact(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTFramebufferBlit { + int GL_READ_FRAMEBUFFER_EXT = 0x8CA8; + int GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9; + int GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; + int GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; + void glBlitFramebufferEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java index 583ad66f..4d7d878d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_framebuffer_blit_layers} */ -public final class GLEXTFramebufferBlitLayers { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_framebuffer_blit_layers) return; - ext.glBlitFramebufferLayersEXT = load.invoke("glBlitFramebufferLayersEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBlitFramebufferLayerEXT = load.invoke("glBlitFramebufferLayerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glBlitFramebufferLayersEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlitFramebufferLayersEXT).invokeExact(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlitFramebufferLayerEXT(int srcX0, int srcY0, int srcX1, int srcY1, int srcLayer, int dstX0, int dstY0, int dstX1, int dstY1, int dstLayer, int mask, int filter) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlitFramebufferLayerEXT).invokeExact(srcX0, srcY0, srcX1, srcY1, srcLayer, dstX0, dstY0, dstX1, dstY1, dstLayer, mask, filter); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTFramebufferBlitLayers { + void glBlitFramebufferLayersEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter); + void glBlitFramebufferLayerEXT(int srcX0, int srcY0, int srcX1, int srcY1, int srcLayer, int dstX0, int dstY0, int dstX1, int dstY1, int dstLayer, int mask, int filter); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java index c444ff59..cff90adf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_framebuffer_multisample} */ -public final class GLEXTFramebufferMultisample { - public static final int GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB; - public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; - public static final int GL_MAX_SAMPLES_EXT = 0x8D57; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_framebuffer_multisample) return; - ext.glRenderbufferStorageMultisampleEXT = load.invoke("glRenderbufferStorageMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glRenderbufferStorageMultisampleEXT(int target, int samples, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glRenderbufferStorageMultisampleEXT).invokeExact(target, samples, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTFramebufferMultisample { + int GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB; + int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; + int GL_MAX_SAMPLES_EXT = 0x8D57; + void glRenderbufferStorageMultisampleEXT(int target, int samples, int internalformat, int width, int height); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java index 8f1ee6c1..2aec0ce9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_framebuffer_multisample_blit_scaled} */ -public final class GLEXTFramebufferMultisampleBlitScaled { - public static final int GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA; - public static final int GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB; +public interface GLEXTFramebufferMultisampleBlitScaled { + int GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA; + int GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java index ec1c2705..7c52c99a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java @@ -18,208 +18,80 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_framebuffer_object} */ -public final class GLEXTFramebufferObject { - public static final int GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; - public static final int GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; - public static final int GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6; - public static final int GL_RENDERBUFFER_BINDING_EXT = 0x8CA7; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; - public static final int GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; - public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; - public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; - public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; - public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; - public static final int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; - public static final int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; - public static final int GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; - public static final int GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; - public static final int GL_COLOR_ATTACHMENT0_EXT = 0x8CE0; - public static final int GL_COLOR_ATTACHMENT1_EXT = 0x8CE1; - public static final int GL_COLOR_ATTACHMENT2_EXT = 0x8CE2; - public static final int GL_COLOR_ATTACHMENT3_EXT = 0x8CE3; - public static final int GL_COLOR_ATTACHMENT4_EXT = 0x8CE4; - public static final int GL_COLOR_ATTACHMENT5_EXT = 0x8CE5; - public static final int GL_COLOR_ATTACHMENT6_EXT = 0x8CE6; - public static final int GL_COLOR_ATTACHMENT7_EXT = 0x8CE7; - public static final int GL_COLOR_ATTACHMENT8_EXT = 0x8CE8; - public static final int GL_COLOR_ATTACHMENT9_EXT = 0x8CE9; - public static final int GL_COLOR_ATTACHMENT10_EXT = 0x8CEA; - public static final int GL_COLOR_ATTACHMENT11_EXT = 0x8CEB; - public static final int GL_COLOR_ATTACHMENT12_EXT = 0x8CEC; - public static final int GL_COLOR_ATTACHMENT13_EXT = 0x8CED; - public static final int GL_COLOR_ATTACHMENT14_EXT = 0x8CEE; - public static final int GL_COLOR_ATTACHMENT15_EXT = 0x8CEF; - public static final int GL_DEPTH_ATTACHMENT_EXT = 0x8D00; - public static final int GL_STENCIL_ATTACHMENT_EXT = 0x8D20; - public static final int GL_FRAMEBUFFER_EXT = 0x8D40; - public static final int GL_RENDERBUFFER_EXT = 0x8D41; - public static final int GL_RENDERBUFFER_WIDTH_EXT = 0x8D42; - public static final int GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43; - public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; - public static final int GL_STENCIL_INDEX1_EXT = 0x8D46; - public static final int GL_STENCIL_INDEX4_EXT = 0x8D47; - public static final int GL_STENCIL_INDEX8_EXT = 0x8D48; - public static final int GL_STENCIL_INDEX16_EXT = 0x8D49; - public static final int GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50; - public static final int GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; - public static final int GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; - public static final int GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; - public static final int GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; - public static final int GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_framebuffer_object) return; - ext.glIsRenderbufferEXT = load.invoke("glIsRenderbufferEXT", of(JAVA_BYTE, JAVA_INT)); - ext.glBindRenderbufferEXT = load.invoke("glBindRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDeleteRenderbuffersEXT = load.invoke("glDeleteRenderbuffersEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenRenderbuffersEXT = load.invoke("glGenRenderbuffersEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glRenderbufferStorageEXT = load.invoke("glRenderbufferStorageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetRenderbufferParameterivEXT = load.invoke("glGetRenderbufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glIsFramebufferEXT = load.invoke("glIsFramebufferEXT", of(JAVA_BYTE, JAVA_INT)); - ext.glBindFramebufferEXT = load.invoke("glBindFramebufferEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDeleteFramebuffersEXT = load.invoke("glDeleteFramebuffersEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenFramebuffersEXT = load.invoke("glGenFramebuffersEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glCheckFramebufferStatusEXT = load.invoke("glCheckFramebufferStatusEXT", of(JAVA_INT, JAVA_INT)); - ext.glFramebufferTexture1DEXT = load.invoke("glFramebufferTexture1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFramebufferTexture2DEXT = load.invoke("glFramebufferTexture2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFramebufferTexture3DEXT = load.invoke("glFramebufferTexture3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFramebufferRenderbufferEXT = load.invoke("glFramebufferRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetFramebufferAttachmentParameterivEXT = load.invoke("glGetFramebufferAttachmentParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGenerateMipmapEXT = load.invoke("glGenerateMipmapEXT", ofVoid(JAVA_INT)); - } - - public static boolean glIsRenderbufferEXT(int renderbuffer) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsRenderbufferEXT).invokeExact(renderbuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindRenderbufferEXT(int target, int renderbuffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindRenderbufferEXT).invokeExact(target, renderbuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteRenderbuffersEXT(int n, @NativeType("const GLuint *") MemorySegment renderbuffers) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteRenderbuffersEXT).invokeExact(n, renderbuffers); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenRenderbuffersEXT(int n, @NativeType("GLuint *") MemorySegment renderbuffers) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenRenderbuffersEXT).invokeExact(n, renderbuffers); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRenderbufferStorageEXT(int target, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glRenderbufferStorageEXT).invokeExact(target, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetRenderbufferParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetRenderbufferParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsFramebufferEXT(int framebuffer) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsFramebufferEXT).invokeExact(framebuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindFramebufferEXT(int target, int framebuffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindFramebufferEXT).invokeExact(target, framebuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteFramebuffersEXT(int n, @NativeType("const GLuint *") MemorySegment framebuffers) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteFramebuffersEXT).invokeExact(n, framebuffers); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenFramebuffersEXT(int n, @NativeType("GLuint *") MemorySegment framebuffers) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenFramebuffersEXT).invokeExact(n, framebuffers); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glCheckFramebufferStatusEXT(int target) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glCheckFramebufferStatusEXT).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTexture1DEXT(int target, int attachment, int textarget, int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTexture1DEXT).invokeExact(target, attachment, textarget, texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTexture2DEXT(int target, int attachment, int textarget, int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTexture2DEXT).invokeExact(target, attachment, textarget, texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTexture3DEXT(int target, int attachment, int textarget, int texture, int level, int zoffset) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTexture3DEXT).invokeExact(target, attachment, textarget, texture, level, zoffset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, int renderbuffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferRenderbufferEXT).invokeExact(target, attachment, renderbuffertarget, renderbuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFramebufferAttachmentParameterivEXT).invokeExact(target, attachment, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenerateMipmapEXT(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenerateMipmapEXT).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTFramebufferObject { + int GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; + int GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; + int GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6; + int GL_RENDERBUFFER_BINDING_EXT = 0x8CA7; + int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; + int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; + int GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; + int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; + int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; + int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; + int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; + int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; + int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; + int GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; + int GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; + int GL_COLOR_ATTACHMENT0_EXT = 0x8CE0; + int GL_COLOR_ATTACHMENT1_EXT = 0x8CE1; + int GL_COLOR_ATTACHMENT2_EXT = 0x8CE2; + int GL_COLOR_ATTACHMENT3_EXT = 0x8CE3; + int GL_COLOR_ATTACHMENT4_EXT = 0x8CE4; + int GL_COLOR_ATTACHMENT5_EXT = 0x8CE5; + int GL_COLOR_ATTACHMENT6_EXT = 0x8CE6; + int GL_COLOR_ATTACHMENT7_EXT = 0x8CE7; + int GL_COLOR_ATTACHMENT8_EXT = 0x8CE8; + int GL_COLOR_ATTACHMENT9_EXT = 0x8CE9; + int GL_COLOR_ATTACHMENT10_EXT = 0x8CEA; + int GL_COLOR_ATTACHMENT11_EXT = 0x8CEB; + int GL_COLOR_ATTACHMENT12_EXT = 0x8CEC; + int GL_COLOR_ATTACHMENT13_EXT = 0x8CED; + int GL_COLOR_ATTACHMENT14_EXT = 0x8CEE; + int GL_COLOR_ATTACHMENT15_EXT = 0x8CEF; + int GL_DEPTH_ATTACHMENT_EXT = 0x8D00; + int GL_STENCIL_ATTACHMENT_EXT = 0x8D20; + int GL_FRAMEBUFFER_EXT = 0x8D40; + int GL_RENDERBUFFER_EXT = 0x8D41; + int GL_RENDERBUFFER_WIDTH_EXT = 0x8D42; + int GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43; + int GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; + int GL_STENCIL_INDEX1_EXT = 0x8D46; + int GL_STENCIL_INDEX4_EXT = 0x8D47; + int GL_STENCIL_INDEX8_EXT = 0x8D48; + int GL_STENCIL_INDEX16_EXT = 0x8D49; + int GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50; + int GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; + int GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; + int GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; + int GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; + int GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; + + boolean glIsRenderbufferEXT(int renderbuffer); + void glBindRenderbufferEXT(int target, int renderbuffer); + void glDeleteRenderbuffersEXT(int n, @NativeType("const GLuint *") MemorySegment renderbuffers); + void glGenRenderbuffersEXT(int n, @NativeType("GLuint *") MemorySegment renderbuffers); + void glRenderbufferStorageEXT(int target, int internalformat, int width, int height); + void glGetRenderbufferParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params); + boolean glIsFramebufferEXT(int framebuffer); + void glBindFramebufferEXT(int target, int framebuffer); + void glDeleteFramebuffersEXT(int n, @NativeType("const GLuint *") MemorySegment framebuffers); + void glGenFramebuffersEXT(int n, @NativeType("GLuint *") MemorySegment framebuffers); + int glCheckFramebufferStatusEXT(int target); + void glFramebufferTexture1DEXT(int target, int attachment, int textarget, int texture, int level); + void glFramebufferTexture2DEXT(int target, int attachment, int textarget, int texture, int level); + void glFramebufferTexture3DEXT(int target, int attachment, int textarget, int texture, int level, int zoffset); + void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, int renderbuffer); + void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, @NativeType("GLint *") MemorySegment params); + void glGenerateMipmapEXT(int target); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java index 18cf7b24..7dd86465 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java @@ -18,46 +18,33 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_geometry_shader4} */ -public final class GLEXTGeometryShader4 { - public static final int GL_GEOMETRY_SHADER_EXT = 0x8DD9; - public static final int GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; - public static final int GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; - public static final int GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; - public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; - public static final int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; - public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; - public static final int GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B; - public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; - public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; - public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; - public static final int GL_LINES_ADJACENCY_EXT = 0x000A; - public static final int GL_LINE_STRIP_ADJACENCY_EXT = 0x000B; - public static final int GL_TRIANGLES_ADJACENCY_EXT = 0x000C; - public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; - public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; - public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; - public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; - public static final int GL_PROGRAM_POINT_SIZE_EXT = 0x8642; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_geometry_shader4) return; - ext.glProgramParameteriEXT = load.invoke("glProgramParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glProgramParameteriEXT(int program, int pname, int value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameteriEXT).invokeExact(program, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTGeometryShader4 { + int GL_GEOMETRY_SHADER_EXT = 0x8DD9; + int GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; + int GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; + int GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; + int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; + int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; + int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; + int GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B; + int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; + int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; + int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; + int GL_LINES_ADJACENCY_EXT = 0x000A; + int GL_LINE_STRIP_ADJACENCY_EXT = 0x000B; + int GL_TRIANGLES_ADJACENCY_EXT = 0x000C; + int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; + int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; + int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; + int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; + int GL_PROGRAM_POINT_SIZE_EXT = 0x8642; + void glProgramParameteriEXT(int program, int pname, int value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java index 0ddf4f41..ceaa6b41 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_gpu_program_parameters} */ -public final class GLEXTGpuProgramParameters { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_gpu_program_parameters) return; - ext.glProgramEnvParameters4fvEXT = load.invoke("glProgramEnvParameters4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramLocalParameters4fvEXT = load.invoke("glProgramLocalParameters4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glProgramEnvParameters4fvEXT(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameters4fvEXT).invokeExact(target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameters4fvEXT(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameters4fvEXT).invokeExact(target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTGpuProgramParameters { + void glProgramEnvParameters4fvEXT(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params); + void glProgramLocalParameters4fvEXT(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java index 11c322ec..9b569711 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java @@ -18,319 +18,74 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_gpu_shader4} */ -public final class GLEXTGpuShader4 { - public static final int GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0; - public static final int GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1; - public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2; - public static final int GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; - public static final int GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; - public static final int GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; - public static final int GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6; - public static final int GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7; - public static final int GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8; - public static final int GL_INT_SAMPLER_1D_EXT = 0x8DC9; - public static final int GL_INT_SAMPLER_2D_EXT = 0x8DCA; - public static final int GL_INT_SAMPLER_3D_EXT = 0x8DCB; - public static final int GL_INT_SAMPLER_CUBE_EXT = 0x8DCC; - public static final int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD; - public static final int GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; - public static final int GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; - public static final int GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0; - public static final int GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; - public static final int GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; - public static final int GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; - public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; - public static final int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; - public static final int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; - public static final int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; - public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; - public static final int GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; - public static final int GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; - public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_gpu_shader4) return; - ext.glGetUniformuivEXT = load.invoke("glGetUniformuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glBindFragDataLocationEXT = load.invoke("glBindFragDataLocationEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFragDataLocationEXT = load.invoke("glGetFragDataLocationEXT", of(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform1uiEXT = load.invoke("glUniform1uiEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glUniform2uiEXT = load.invoke("glUniform2uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glUniform3uiEXT = load.invoke("glUniform3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glUniform4uiEXT = load.invoke("glUniform4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glUniform1uivEXT = load.invoke("glUniform1uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform2uivEXT = load.invoke("glUniform2uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform3uivEXT = load.invoke("glUniform3uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glUniform4uivEXT = load.invoke("glUniform4uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribI1iEXT = load.invoke("glVertexAttribI1iEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glVertexAttribI2iEXT = load.invoke("glVertexAttribI2iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexAttribI3iEXT = load.invoke("glVertexAttribI3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexAttribI4iEXT = load.invoke("glVertexAttribI4iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexAttribI1uiEXT = load.invoke("glVertexAttribI1uiEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glVertexAttribI2uiEXT = load.invoke("glVertexAttribI2uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexAttribI3uiEXT = load.invoke("glVertexAttribI3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexAttribI4uiEXT = load.invoke("glVertexAttribI4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexAttribI1ivEXT = load.invoke("glVertexAttribI1ivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI2ivEXT = load.invoke("glVertexAttribI2ivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI3ivEXT = load.invoke("glVertexAttribI3ivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI4ivEXT = load.invoke("glVertexAttribI4ivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI1uivEXT = load.invoke("glVertexAttribI1uivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI2uivEXT = load.invoke("glVertexAttribI2uivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI3uivEXT = load.invoke("glVertexAttribI3uivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI4uivEXT = load.invoke("glVertexAttribI4uivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI4bvEXT = load.invoke("glVertexAttribI4bvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI4svEXT = load.invoke("glVertexAttribI4svEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI4ubvEXT = load.invoke("glVertexAttribI4ubvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribI4usvEXT = load.invoke("glVertexAttribI4usvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribIPointerEXT = load.invoke("glVertexAttribIPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribIivEXT = load.invoke("glGetVertexAttribIivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribIuivEXT = load.invoke("glGetVertexAttribIuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glGetUniformuivEXT(int program, int location, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUniformuivEXT).invokeExact(program, location, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindFragDataLocationEXT(int program, int color, @NativeType("const GLchar *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindFragDataLocationEXT).invokeExact(program, color, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGetFragDataLocationEXT(int program, @NativeType("const GLchar *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetFragDataLocationEXT).invokeExact(program, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1uiEXT(int location, int v0) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1uiEXT).invokeExact(location, v0); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2uiEXT(int location, int v0, int v1) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2uiEXT).invokeExact(location, v0, v1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3uiEXT(int location, int v0, int v1, int v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3uiEXT).invokeExact(location, v0, v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4uiEXT(int location, int v0, int v1, int v2, int v3) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4uiEXT).invokeExact(location, v0, v1, v2, v3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform1uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform1uivEXT).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform2uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform2uivEXT).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform3uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform3uivEXT).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniform4uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniform4uivEXT).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI1iEXT(int index, int x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI1iEXT).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI2iEXT(int index, int x, int y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI2iEXT).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI3iEXT(int index, int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI3iEXT).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4iEXT(int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4iEXT).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI1uiEXT(int index, int x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI1uiEXT).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI2uiEXT(int index, int x, int y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI2uiEXT).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI3uiEXT(int index, int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI3uiEXT).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4uiEXT(int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4uiEXT).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI1ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI1ivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI2ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI2ivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI3ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI3ivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4ivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI1uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI1uivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI2uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI2uivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI3uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI3uivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4uivEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4bvEXT(int index, @NativeType("const GLbyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4bvEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4svEXT(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4svEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4ubvEXT(int index, @NativeType("const GLubyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4ubvEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribI4usvEXT(int index, @NativeType("const GLushort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribI4usvEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribIPointerEXT(int index, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribIPointerEXT).invokeExact(index, size, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribIivEXT(int index, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribIivEXT).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribIuivEXT(int index, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribIuivEXT).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTGpuShader4 { + int GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0; + int GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1; + int GL_SAMPLER_BUFFER_EXT = 0x8DC2; + int GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; + int GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; + int GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; + int GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6; + int GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7; + int GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8; + int GL_INT_SAMPLER_1D_EXT = 0x8DC9; + int GL_INT_SAMPLER_2D_EXT = 0x8DCA; + int GL_INT_SAMPLER_3D_EXT = 0x8DCB; + int GL_INT_SAMPLER_CUBE_EXT = 0x8DCC; + int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD; + int GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; + int GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; + int GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0; + int GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; + int GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; + int GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; + int GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; + int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; + int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; + int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; + int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; + int GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; + int GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; + int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; + + void glGetUniformuivEXT(int program, int location, @NativeType("GLuint *") MemorySegment params); + void glBindFragDataLocationEXT(int program, int color, @NativeType("const GLchar *") MemorySegment name); + int glGetFragDataLocationEXT(int program, @NativeType("const GLchar *") MemorySegment name); + void glUniform1uiEXT(int location, int v0); + void glUniform2uiEXT(int location, int v0, int v1); + void glUniform3uiEXT(int location, int v0, int v1, int v2); + void glUniform4uiEXT(int location, int v0, int v1, int v2, int v3); + void glUniform1uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glUniform2uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glUniform3uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glUniform4uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value); + void glVertexAttribI1iEXT(int index, int x); + void glVertexAttribI2iEXT(int index, int x, int y); + void glVertexAttribI3iEXT(int index, int x, int y, int z); + void glVertexAttribI4iEXT(int index, int x, int y, int z, int w); + void glVertexAttribI1uiEXT(int index, int x); + void glVertexAttribI2uiEXT(int index, int x, int y); + void glVertexAttribI3uiEXT(int index, int x, int y, int z); + void glVertexAttribI4uiEXT(int index, int x, int y, int z, int w); + void glVertexAttribI1ivEXT(int index, @NativeType("const GLint *") MemorySegment v); + void glVertexAttribI2ivEXT(int index, @NativeType("const GLint *") MemorySegment v); + void glVertexAttribI3ivEXT(int index, @NativeType("const GLint *") MemorySegment v); + void glVertexAttribI4ivEXT(int index, @NativeType("const GLint *") MemorySegment v); + void glVertexAttribI1uivEXT(int index, @NativeType("const GLuint *") MemorySegment v); + void glVertexAttribI2uivEXT(int index, @NativeType("const GLuint *") MemorySegment v); + void glVertexAttribI3uivEXT(int index, @NativeType("const GLuint *") MemorySegment v); + void glVertexAttribI4uivEXT(int index, @NativeType("const GLuint *") MemorySegment v); + void glVertexAttribI4bvEXT(int index, @NativeType("const GLbyte *") MemorySegment v); + void glVertexAttribI4svEXT(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttribI4ubvEXT(int index, @NativeType("const GLubyte *") MemorySegment v); + void glVertexAttribI4usvEXT(int index, @NativeType("const GLushort *") MemorySegment v); + void glVertexAttribIPointerEXT(int index, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer); + void glGetVertexAttribIivEXT(int index, int pname, @NativeType("GLint *") MemorySegment params); + void glGetVertexAttribIuivEXT(int index, int pname, @NativeType("GLuint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java index a3ae7104..887338a7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java @@ -18,112 +18,36 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_histogram} */ -public final class GLEXTHistogram { - public static final int GL_HISTOGRAM_EXT = 0x8024; - public static final int GL_PROXY_HISTOGRAM_EXT = 0x8025; - public static final int GL_HISTOGRAM_WIDTH_EXT = 0x8026; - public static final int GL_HISTOGRAM_FORMAT_EXT = 0x8027; - public static final int GL_HISTOGRAM_RED_SIZE_EXT = 0x8028; - public static final int GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029; - public static final int GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A; - public static final int GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; - public static final int GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; - public static final int GL_HISTOGRAM_SINK_EXT = 0x802D; - public static final int GL_MINMAX_EXT = 0x802E; - public static final int GL_MINMAX_FORMAT_EXT = 0x802F; - public static final int GL_MINMAX_SINK_EXT = 0x8030; - public static final int GL_TABLE_TOO_LARGE_EXT = 0x8031; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_histogram) return; - ext.glGetHistogramEXT = load.invoke("glGetHistogramEXT", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetHistogramParameterfvEXT = load.invoke("glGetHistogramParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetHistogramParameterivEXT = load.invoke("glGetHistogramParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMinmaxEXT = load.invoke("glGetMinmaxEXT", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMinmaxParameterfvEXT = load.invoke("glGetMinmaxParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMinmaxParameterivEXT = load.invoke("glGetMinmaxParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glHistogramEXT = load.invoke("glHistogramEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glMinmaxEXT = load.invoke("glMinmaxEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glResetHistogramEXT = load.invoke("glResetHistogramEXT", ofVoid(JAVA_INT)); - ext.glResetMinmaxEXT = load.invoke("glResetMinmaxEXT", ofVoid(JAVA_INT)); - } - - public static void glGetHistogramEXT(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetHistogramEXT).invokeExact(target, reset, format, type, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetHistogramParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetHistogramParameterfvEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetHistogramParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetHistogramParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMinmaxEXT(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMinmaxEXT).invokeExact(target, reset, format, type, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMinmaxParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMinmaxParameterfvEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMinmaxParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMinmaxParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glHistogramEXT(int target, int width, int internalformat, boolean sink) { - final var ext = getExtCapabilities(); - try { - check(ext.glHistogramEXT).invokeExact(target, width, internalformat, sink); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMinmaxEXT(int target, int internalformat, boolean sink) { - final var ext = getExtCapabilities(); - try { - check(ext.glMinmaxEXT).invokeExact(target, internalformat, sink); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glResetHistogramEXT(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glResetHistogramEXT).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glResetMinmaxEXT(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glResetMinmaxEXT).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTHistogram { + int GL_HISTOGRAM_EXT = 0x8024; + int GL_PROXY_HISTOGRAM_EXT = 0x8025; + int GL_HISTOGRAM_WIDTH_EXT = 0x8026; + int GL_HISTOGRAM_FORMAT_EXT = 0x8027; + int GL_HISTOGRAM_RED_SIZE_EXT = 0x8028; + int GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029; + int GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A; + int GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; + int GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; + int GL_HISTOGRAM_SINK_EXT = 0x802D; + int GL_MINMAX_EXT = 0x802E; + int GL_MINMAX_FORMAT_EXT = 0x802F; + int GL_MINMAX_SINK_EXT = 0x8030; + int GL_TABLE_TOO_LARGE_EXT = 0x8031; + + void glGetHistogramEXT(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values); + void glGetHistogramParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetHistogramParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetMinmaxEXT(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values); + void glGetMinmaxParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetMinmaxParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glHistogramEXT(int target, int width, int internalformat, boolean sink); + void glMinmaxEXT(int target, int internalformat, boolean sink); + void glResetHistogramEXT(int target); + void glResetMinmaxEXT(int target); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java index b2141943..11159640 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java @@ -18,22 +18,19 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_index_array_formats} */ -public final class GLEXTIndexArrayFormats { - public static final int GL_IUI_V2F_EXT = 0x81AD; - public static final int GL_IUI_V3F_EXT = 0x81AE; - public static final int GL_IUI_N3F_V2F_EXT = 0x81AF; - public static final int GL_IUI_N3F_V3F_EXT = 0x81B0; - public static final int GL_T2F_IUI_V2F_EXT = 0x81B1; - public static final int GL_T2F_IUI_V3F_EXT = 0x81B2; - public static final int GL_T2F_IUI_N3F_V2F_EXT = 0x81B3; - public static final int GL_T2F_IUI_N3F_V3F_EXT = 0x81B4; +public interface GLEXTIndexArrayFormats { + int GL_IUI_V2F_EXT = 0x81AD; + int GL_IUI_V3F_EXT = 0x81AE; + int GL_IUI_N3F_V2F_EXT = 0x81AF; + int GL_IUI_N3F_V3F_EXT = 0x81B0; + int GL_T2F_IUI_V2F_EXT = 0x81B1; + int GL_T2F_IUI_V3F_EXT = 0x81B2; + int GL_T2F_IUI_N3F_V2F_EXT = 0x81B3; + int GL_T2F_IUI_N3F_V3F_EXT = 0x81B4; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java index 36239c4e..cf54a41a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_index_func} */ -public final class GLEXTIndexFunc { - public static final int GL_INDEX_TEST_EXT = 0x81B5; - public static final int GL_INDEX_TEST_FUNC_EXT = 0x81B6; - public static final int GL_INDEX_TEST_REF_EXT = 0x81B7; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_index_func) return; - ext.glIndexFuncEXT = load.invoke("glIndexFuncEXT", ofVoid(JAVA_INT, JAVA_FLOAT)); - } - - public static void glIndexFuncEXT(int func, float ref) { - final var ext = getExtCapabilities(); - try { - check(ext.glIndexFuncEXT).invokeExact(func, ref); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTIndexFunc { + int GL_INDEX_TEST_EXT = 0x81B5; + int GL_INDEX_TEST_FUNC_EXT = 0x81B6; + int GL_INDEX_TEST_REF_EXT = 0x81B7; + void glIndexFuncEXT(int func, float ref); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java index 12351e30..330e4c24 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_index_material} */ -public final class GLEXTIndexMaterial { - public static final int GL_INDEX_MATERIAL_EXT = 0x81B8; - public static final int GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; - public static final int GL_INDEX_MATERIAL_FACE_EXT = 0x81BA; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_index_material) return; - ext.glIndexMaterialEXT = load.invoke("glIndexMaterialEXT", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glIndexMaterialEXT(int face, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glIndexMaterialEXT).invokeExact(face, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTIndexMaterial { + int GL_INDEX_MATERIAL_EXT = 0x81B8; + int GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; + int GL_INDEX_MATERIAL_FACE_EXT = 0x81BA; + void glIndexMaterialEXT(int face, int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java index 290a3618..205d7e64 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java @@ -18,51 +18,24 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_light_texture} */ -public final class GLEXTLightTexture { - public static final int GL_FRAGMENT_MATERIAL_EXT = 0x8349; - public static final int GL_FRAGMENT_NORMAL_EXT = 0x834A; - public static final int GL_FRAGMENT_COLOR_EXT = 0x834C; - public static final int GL_ATTENUATION_EXT = 0x834D; - public static final int GL_SHADOW_ATTENUATION_EXT = 0x834E; - public static final int GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F; - public static final int GL_TEXTURE_LIGHT_EXT = 0x8350; - public static final int GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351; - public static final int GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_light_texture) return; - ext.glApplyTextureEXT = load.invoke("glApplyTextureEXT", ofVoid(JAVA_INT)); - ext.glTextureLightEXT = load.invoke("glTextureLightEXT", ofVoid(JAVA_INT)); - ext.glTextureMaterialEXT = load.invoke("glTextureMaterialEXT", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glApplyTextureEXT(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glApplyTextureEXT).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureLightEXT(int pname) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureLightEXT).invokeExact(pname); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureMaterialEXT(int face, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureMaterialEXT).invokeExact(face, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTLightTexture { + int GL_FRAGMENT_MATERIAL_EXT = 0x8349; + int GL_FRAGMENT_NORMAL_EXT = 0x834A; + int GL_FRAGMENT_COLOR_EXT = 0x834C; + int GL_ATTENUATION_EXT = 0x834D; + int GL_SHADOW_ATTENUATION_EXT = 0x834E; + int GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F; + int GL_TEXTURE_LIGHT_EXT = 0x8350; + int GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351; + int GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; + void glApplyTextureEXT(int mode); + void glTextureLightEXT(int pname); + void glTextureMaterialEXT(int face, int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java index 1063fc39..88b917ac 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java @@ -18,182 +18,42 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_memory_object} */ -public final class GLEXTMemoryObject { - public static final int GL_TEXTURE_TILING_EXT = 0x9580; - public static final int GL_DEDICATED_MEMORY_OBJECT_EXT = 0x9581; - public static final int GL_PROTECTED_MEMORY_OBJECT_EXT = 0x959B; - public static final int GL_NUM_TILING_TYPES_EXT = 0x9582; - public static final int GL_TILING_TYPES_EXT = 0x9583; - public static final int GL_OPTIMAL_TILING_EXT = 0x9584; - public static final int GL_LINEAR_TILING_EXT = 0x9585; - public static final int GL_NUM_DEVICE_UUIDS_EXT = 0x9596; - public static final int GL_DEVICE_UUID_EXT = 0x9597; - public static final int GL_DRIVER_UUID_EXT = 0x9598; - public static final int GL_UUID_SIZE_EXT = 16; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_memory_object) return; - ext.glGetUnsignedBytevEXT = load.invoke("glGetUnsignedBytevEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetUnsignedBytei_vEXT = load.invoke("glGetUnsignedBytei_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDeleteMemoryObjectsEXT = load.invoke("glDeleteMemoryObjectsEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsMemoryObjectEXT = load.invoke("glIsMemoryObjectEXT", of(JAVA_BYTE, JAVA_INT)); - ext.glCreateMemoryObjectsEXT = load.invoke("glCreateMemoryObjectsEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glMemoryObjectParameterivEXT = load.invoke("glMemoryObjectParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMemoryObjectParameterivEXT = load.invoke("glGetMemoryObjectParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexStorageMem2DEXT = load.invoke("glTexStorageMem2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glTexStorageMem2DMultisampleEXT = load.invoke("glTexStorageMem2DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); - ext.glTexStorageMem3DEXT = load.invoke("glTexStorageMem3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glTexStorageMem3DMultisampleEXT = load.invoke("glTexStorageMem3DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); - ext.glBufferStorageMemEXT = load.invoke("glBufferStorageMemEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_LONG)); - ext.glTextureStorageMem2DEXT = load.invoke("glTextureStorageMem2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glTextureStorageMem2DMultisampleEXT = load.invoke("glTextureStorageMem2DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); - ext.glTextureStorageMem3DEXT = load.invoke("glTextureStorageMem3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glTextureStorageMem3DMultisampleEXT = load.invoke("glTextureStorageMem3DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); - ext.glNamedBufferStorageMemEXT = load.invoke("glNamedBufferStorageMemEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_LONG)); - ext.glTexStorageMem1DEXT = load.invoke("glTexStorageMem1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glTextureStorageMem1DEXT = load.invoke("glTextureStorageMem1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - } - - public static void glGetUnsignedBytevEXT(int pname, @NativeType("GLubyte *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUnsignedBytevEXT).invokeExact(pname, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetUnsignedBytei_vEXT(int target, int index, @NativeType("GLubyte *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetUnsignedBytei_vEXT).invokeExact(target, index, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteMemoryObjectsEXT(int n, @NativeType("const GLuint *") MemorySegment memoryObjects) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteMemoryObjectsEXT).invokeExact(n, memoryObjects); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsMemoryObjectEXT(int memoryObject) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsMemoryObjectEXT).invokeExact(memoryObject); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCreateMemoryObjectsEXT(int n, @NativeType("GLuint *") MemorySegment memoryObjects) { - final var ext = getExtCapabilities(); - try { - check(ext.glCreateMemoryObjectsEXT).invokeExact(n, memoryObjects); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMemoryObjectParameterivEXT(int memoryObject, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMemoryObjectParameterivEXT).invokeExact(memoryObject, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMemoryObjectParameterivEXT(int memoryObject, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMemoryObjectParameterivEXT).invokeExact(memoryObject, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexStorageMem2DEXT(int target, int levels, int internalFormat, int width, int height, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorageMem2DEXT).invokeExact(target, levels, internalFormat, width, height, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexStorageMem2DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorageMem2DMultisampleEXT).invokeExact(target, samples, internalFormat, width, height, fixedSampleLocations, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexStorageMem3DEXT(int target, int levels, int internalFormat, int width, int height, int depth, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorageMem3DEXT).invokeExact(target, levels, internalFormat, width, height, depth, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexStorageMem3DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorageMem3DMultisampleEXT).invokeExact(target, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBufferStorageMemEXT(int target, long size, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferStorageMemEXT).invokeExact(target, size, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorageMem2DEXT(int texture, int levels, int internalFormat, int width, int height, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorageMem2DEXT).invokeExact(texture, levels, internalFormat, width, height, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorageMem2DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorageMem2DMultisampleEXT).invokeExact(texture, samples, internalFormat, width, height, fixedSampleLocations, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorageMem3DEXT(int texture, int levels, int internalFormat, int width, int height, int depth, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorageMem3DEXT).invokeExact(texture, levels, internalFormat, width, height, depth, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorageMem3DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorageMem3DMultisampleEXT).invokeExact(texture, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferStorageMemEXT(int buffer, long size, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferStorageMemEXT).invokeExact(buffer, size, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexStorageMem1DEXT(int target, int levels, int internalFormat, int width, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorageMem1DEXT).invokeExact(target, levels, internalFormat, width, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureStorageMem1DEXT(int texture, int levels, int internalFormat, int width, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureStorageMem1DEXT).invokeExact(texture, levels, internalFormat, width, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTMemoryObject { + int GL_TEXTURE_TILING_EXT = 0x9580; + int GL_DEDICATED_MEMORY_OBJECT_EXT = 0x9581; + int GL_PROTECTED_MEMORY_OBJECT_EXT = 0x959B; + int GL_NUM_TILING_TYPES_EXT = 0x9582; + int GL_TILING_TYPES_EXT = 0x9583; + int GL_OPTIMAL_TILING_EXT = 0x9584; + int GL_LINEAR_TILING_EXT = 0x9585; + int GL_NUM_DEVICE_UUIDS_EXT = 0x9596; + int GL_DEVICE_UUID_EXT = 0x9597; + int GL_DRIVER_UUID_EXT = 0x9598; + int GL_UUID_SIZE_EXT = 16; + + void glGetUnsignedBytevEXT(int pname, @NativeType("GLubyte *") MemorySegment data); + void glGetUnsignedBytei_vEXT(int target, int index, @NativeType("GLubyte *") MemorySegment data); + void glDeleteMemoryObjectsEXT(int n, @NativeType("const GLuint *") MemorySegment memoryObjects); + boolean glIsMemoryObjectEXT(int memoryObject); + void glCreateMemoryObjectsEXT(int n, @NativeType("GLuint *") MemorySegment memoryObjects); + void glMemoryObjectParameterivEXT(int memoryObject, int pname, @NativeType("const GLint *") MemorySegment params); + void glGetMemoryObjectParameterivEXT(int memoryObject, int pname, @NativeType("GLint *") MemorySegment params); + void glTexStorageMem2DEXT(int target, int levels, int internalFormat, int width, int height, int memory, long offset); + void glTexStorageMem2DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset); + void glTexStorageMem3DEXT(int target, int levels, int internalFormat, int width, int height, int depth, int memory, long offset); + void glTexStorageMem3DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset); + void glBufferStorageMemEXT(int target, long size, int memory, long offset); + void glTextureStorageMem2DEXT(int texture, int levels, int internalFormat, int width, int height, int memory, long offset); + void glTextureStorageMem2DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset); + void glTextureStorageMem3DEXT(int texture, int levels, int internalFormat, int width, int height, int depth, int memory, long offset); + void glTextureStorageMem3DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset); + void glNamedBufferStorageMemEXT(int buffer, long size, int memory, long offset); + void glTexStorageMem1DEXT(int target, int levels, int internalFormat, int width, int memory, long offset); + void glTextureStorageMem1DEXT(int texture, int levels, int internalFormat, int width, int memory, long offset); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java index 0c70e4f1..3814e4f2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java @@ -18,27 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_memory_object_fd} */ -public final class GLEXTMemoryObjectFd { - public static final int GL_HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_memory_object_fd) return; - ext.glImportMemoryFdEXT = load.invoke("glImportMemoryFdEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_INT)); - } - - public static void glImportMemoryFdEXT(int memory, long size, int handleType, int fd) { - final var ext = getExtCapabilities(); - try { - check(ext.glImportMemoryFdEXT).invokeExact(memory, size, handleType, fd); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTMemoryObjectFd { + int GL_HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; + void glImportMemoryFdEXT(int memory, long size, int handleType, int fd); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java index 1f3c4110..5019c96f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java @@ -18,43 +18,23 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_memory_object_win32} */ -public final class GLEXTMemoryObjectWin32 { - public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; - public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; - public static final int GL_DEVICE_LUID_EXT = 0x9599; - public static final int GL_DEVICE_NODE_MASK_EXT = 0x959A; - public static final int GL_LUID_SIZE_EXT = 8; - public static final int GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589; - public static final int GL_HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A; - public static final int GL_HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B; - public static final int GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_memory_object_win32) return; - ext.glImportMemoryWin32HandleEXT = load.invoke("glImportMemoryWin32HandleEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, ADDRESS)); - ext.glImportMemoryWin32NameEXT = load.invoke("glImportMemoryWin32NameEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, ADDRESS)); - } - - public static void glImportMemoryWin32HandleEXT(int memory, long size, int handleType, @NativeType("void *") MemorySegment handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glImportMemoryWin32HandleEXT).invokeExact(memory, size, handleType, handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glImportMemoryWin32NameEXT(int memory, long size, int handleType, @NativeType("const void *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glImportMemoryWin32NameEXT).invokeExact(memory, size, handleType, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTMemoryObjectWin32 { + int GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; + int GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; + int GL_DEVICE_LUID_EXT = 0x9599; + int GL_DEVICE_NODE_MASK_EXT = 0x959A; + int GL_LUID_SIZE_EXT = 8; + int GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589; + int GL_HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A; + int GL_HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B; + int GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C; + void glImportMemoryWin32HandleEXT(int memory, long size, int handleType, @NativeType("void *") MemorySegment handle); + void glImportMemoryWin32NameEXT(int memory, long size, int handleType, @NativeType("const void *") MemorySegment name); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java index 3989033f..0dc21c6f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_multi_draw_arrays} */ -public final class GLEXTMultiDrawArrays { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_multi_draw_arrays) return; - ext.glMultiDrawArraysEXT = load.invoke("glMultiDrawArraysEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); - ext.glMultiDrawElementsEXT = load.invoke("glMultiDrawElementsEXT", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, JAVA_INT)); - } - - public static void glMultiDrawArraysEXT(int mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawArraysEXT).invokeExact(mode, first, count, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawElementsEXT(int mode, @NativeType("const GLsizei *") MemorySegment count, int type, @NativeType("const void *const*") MemorySegment indices, int primcount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawElementsEXT).invokeExact(mode, count, type, indices, primcount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTMultiDrawArrays { + void glMultiDrawArraysEXT(int mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount); + void glMultiDrawElementsEXT(int mode, @NativeType("const GLsizei *") MemorySegment count, int type, @NativeType("const void *const*") MemorySegment indices, int primcount); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java index 6523fbd9..6148f1ec 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java @@ -18,51 +18,31 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_multisample} */ -public final class GLEXTMultisample { - public static final int GL_MULTISAMPLE_EXT = 0x809D; - public static final int GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; - public static final int GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; - public static final int GL_SAMPLE_MASK_EXT = 0x80A0; - public static final int GL_1PASS_EXT = 0x80A1; - public static final int GL_2PASS_0_EXT = 0x80A2; - public static final int GL_2PASS_1_EXT = 0x80A3; - public static final int GL_4PASS_0_EXT = 0x80A4; - public static final int GL_4PASS_1_EXT = 0x80A5; - public static final int GL_4PASS_2_EXT = 0x80A6; - public static final int GL_4PASS_3_EXT = 0x80A7; - public static final int GL_SAMPLE_BUFFERS_EXT = 0x80A8; - public static final int GL_SAMPLES_EXT = 0x80A9; - public static final int GL_SAMPLE_MASK_VALUE_EXT = 0x80AA; - public static final int GL_SAMPLE_MASK_INVERT_EXT = 0x80AB; - public static final int GL_SAMPLE_PATTERN_EXT = 0x80AC; - public static final int GL_MULTISAMPLE_BIT_EXT = 0x20000000; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_multisample) return; - ext.glSampleMaskEXT = load.invoke("glSampleMaskEXT", ofVoid(JAVA_FLOAT, JAVA_BYTE)); - ext.glSamplePatternEXT = load.invoke("glSamplePatternEXT", ofVoid(JAVA_INT)); - } - - public static void glSampleMaskEXT(float value, boolean invert) { - final var ext = getExtCapabilities(); - try { - check(ext.glSampleMaskEXT).invokeExact(value, invert); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSamplePatternEXT(int pattern) { - final var ext = getExtCapabilities(); - try { - check(ext.glSamplePatternEXT).invokeExact(pattern); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTMultisample { + int GL_MULTISAMPLE_EXT = 0x809D; + int GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; + int GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; + int GL_SAMPLE_MASK_EXT = 0x80A0; + int GL_1PASS_EXT = 0x80A1; + int GL_2PASS_0_EXT = 0x80A2; + int GL_2PASS_1_EXT = 0x80A3; + int GL_4PASS_0_EXT = 0x80A4; + int GL_4PASS_1_EXT = 0x80A5; + int GL_4PASS_2_EXT = 0x80A6; + int GL_4PASS_3_EXT = 0x80A7; + int GL_SAMPLE_BUFFERS_EXT = 0x80A8; + int GL_SAMPLES_EXT = 0x80A9; + int GL_SAMPLE_MASK_VALUE_EXT = 0x80AA; + int GL_SAMPLE_MASK_INVERT_EXT = 0x80AB; + int GL_SAMPLE_PATTERN_EXT = 0x80AC; + int GL_MULTISAMPLE_BIT_EXT = 0x20000000; + void glSampleMaskEXT(float value, boolean invert); + void glSamplePatternEXT(int pattern); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java index d9499cff..0e42e59c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_packed_depth_stencil} */ -public final class GLEXTPackedDepthStencil { - public static final int GL_DEPTH_STENCIL_EXT = 0x84F9; - public static final int GL_UNSIGNED_INT_24_8_EXT = 0x84FA; - public static final int GL_DEPTH24_STENCIL8_EXT = 0x88F0; - public static final int GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1; +public interface GLEXTPackedDepthStencil { + int GL_DEPTH_STENCIL_EXT = 0x84F9; + int GL_UNSIGNED_INT_24_8_EXT = 0x84FA; + int GL_DEPTH24_STENCIL8_EXT = 0x88F0; + int GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java index c9424fc7..3dc429ab 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_packed_float} */ -public final class GLEXTPackedFloat { - public static final int GL_R11F_G11F_B10F_EXT = 0x8C3A; - public static final int GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; - public static final int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; +public interface GLEXTPackedFloat { + int GL_R11F_G11F_B10F_EXT = 0x8C3A; + int GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; + int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java index b8a22606..6d6ff0ba 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_packed_pixels} */ -public final class GLEXTPackedPixels { - public static final int GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032; - public static final int GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; - public static final int GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; - public static final int GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035; - public static final int GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036; +public interface GLEXTPackedPixels { + int GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032; + int GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; + int GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; + int GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035; + int GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java index 8efe224e..77bc1867 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java @@ -18,57 +18,23 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_paletted_texture} */ -public final class GLEXTPalettedTexture { - public static final int GL_COLOR_INDEX1_EXT = 0x80E2; - public static final int GL_COLOR_INDEX2_EXT = 0x80E3; - public static final int GL_COLOR_INDEX4_EXT = 0x80E4; - public static final int GL_COLOR_INDEX8_EXT = 0x80E5; - public static final int GL_COLOR_INDEX12_EXT = 0x80E6; - public static final int GL_COLOR_INDEX16_EXT = 0x80E7; - public static final int GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_paletted_texture) return; - ext.glColorTableEXT = load.invoke("glColorTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetColorTableEXT = load.invoke("glGetColorTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetColorTableParameterivEXT = load.invoke("glGetColorTableParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetColorTableParameterfvEXT = load.invoke("glGetColorTableParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glColorTableEXT(int target, int internalFormat, int width, int format, int type, @NativeType("const void *") MemorySegment table) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorTableEXT).invokeExact(target, internalFormat, width, format, type, table); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableEXT(int target, int format, int type, @NativeType("void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableEXT).invokeExact(target, format, type, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableParameterfvEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTPalettedTexture { + int GL_COLOR_INDEX1_EXT = 0x80E2; + int GL_COLOR_INDEX2_EXT = 0x80E3; + int GL_COLOR_INDEX4_EXT = 0x80E4; + int GL_COLOR_INDEX8_EXT = 0x80E5; + int GL_COLOR_INDEX12_EXT = 0x80E6; + int GL_COLOR_INDEX16_EXT = 0x80E7; + int GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED; + + void glColorTableEXT(int target, int internalFormat, int width, int format, int type, @NativeType("const void *") MemorySegment table); + void glGetColorTableEXT(int target, int format, int type, @NativeType("void *") MemorySegment data); + void glGetColorTableParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetColorTableParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java index 1652e0e4..17acd669 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_pixel_buffer_object} */ -public final class GLEXTPixelBufferObject { - public static final int GL_PIXEL_PACK_BUFFER_EXT = 0x88EB; - public static final int GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC; - public static final int GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; - public static final int GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; +public interface GLEXTPixelBufferObject { + int GL_PIXEL_PACK_BUFFER_EXT = 0x88EB; + int GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC; + int GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; + int GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java index f953f74c..a7a02605 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java @@ -18,75 +18,27 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_pixel_transform} */ -public final class GLEXTPixelTransform { - public static final int GL_PIXEL_TRANSFORM_2D_EXT = 0x8330; - public static final int GL_PIXEL_MAG_FILTER_EXT = 0x8331; - public static final int GL_PIXEL_MIN_FILTER_EXT = 0x8332; - public static final int GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333; - public static final int GL_CUBIC_EXT = 0x8334; - public static final int GL_AVERAGE_EXT = 0x8335; - public static final int GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; - public static final int GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; - public static final int GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_pixel_transform) return; - ext.glPixelTransformParameteriEXT = load.invoke("glPixelTransformParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glPixelTransformParameterfEXT = load.invoke("glPixelTransformParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glPixelTransformParameterivEXT = load.invoke("glPixelTransformParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPixelTransformParameterfvEXT = load.invoke("glPixelTransformParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPixelTransformParameterivEXT = load.invoke("glGetPixelTransformParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPixelTransformParameterfvEXT = load.invoke("glGetPixelTransformParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glPixelTransformParameteriEXT(int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTransformParameteriEXT).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelTransformParameterfEXT(int target, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTransformParameterfEXT).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelTransformParameterivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTransformParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelTransformParameterfvEXT(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTransformParameterfvEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPixelTransformParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPixelTransformParameterivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPixelTransformParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPixelTransformParameterfvEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTPixelTransform { + int GL_PIXEL_TRANSFORM_2D_EXT = 0x8330; + int GL_PIXEL_MAG_FILTER_EXT = 0x8331; + int GL_PIXEL_MIN_FILTER_EXT = 0x8332; + int GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333; + int GL_CUBIC_EXT = 0x8334; + int GL_AVERAGE_EXT = 0x8335; + int GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; + int GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; + int GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; + + void glPixelTransformParameteriEXT(int target, int pname, int param); + void glPixelTransformParameterfEXT(int target, int pname, float param); + void glPixelTransformParameterivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glPixelTransformParameterfvEXT(int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glGetPixelTransformParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetPixelTransformParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java index f3e9e1b9..5205ac84 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java @@ -18,38 +18,18 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_point_parameters} */ -public final class GLEXTPointParameters { - public static final int GL_POINT_SIZE_MIN_EXT = 0x8126; - public static final int GL_POINT_SIZE_MAX_EXT = 0x8127; - public static final int GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; - public static final int GL_DISTANCE_ATTENUATION_EXT = 0x8129; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_point_parameters) return; - ext.glPointParameterfEXT = load.invoke("glPointParameterfEXT", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glPointParameterfvEXT = load.invoke("glPointParameterfvEXT", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glPointParameterfEXT(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterfEXT).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPointParameterfvEXT(int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterfvEXT).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTPointParameters { + int GL_POINT_SIZE_MIN_EXT = 0x8126; + int GL_POINT_SIZE_MAX_EXT = 0x8127; + int GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; + int GL_DISTANCE_ATTENUATION_EXT = 0x8129; + void glPointParameterfEXT(int pname, float param); + void glPointParameterfvEXT(int pname, @NativeType("const GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java index caba52c5..aa2ae756 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_polygon_offset} */ -public final class GLEXTPolygonOffset { - public static final int GL_POLYGON_OFFSET_EXT = 0x8037; - public static final int GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038; - public static final int GL_POLYGON_OFFSET_BIAS_EXT = 0x8039; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_polygon_offset) return; - ext.glPolygonOffsetEXT = load.invoke("glPolygonOffsetEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); - } - - public static void glPolygonOffsetEXT(float factor, float bias) { - final var ext = getExtCapabilities(); - try { - check(ext.glPolygonOffsetEXT).invokeExact(factor, bias); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTPolygonOffset { + int GL_POLYGON_OFFSET_EXT = 0x8037; + int GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038; + int GL_POLYGON_OFFSET_BIAS_EXT = 0x8039; + void glPolygonOffsetEXT(float factor, float bias); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java index 542a5292..c76ca6fd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java @@ -18,27 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_polygon_offset_clamp} */ -public final class GLEXTPolygonOffsetClamp { - public static final int GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_polygon_offset_clamp) return; - ext.glPolygonOffsetClampEXT = load.invoke("glPolygonOffsetClampEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - } - - public static void glPolygonOffsetClampEXT(float factor, float units, float clamp) { - final var ext = getExtCapabilities(); - try { - check(ext.glPolygonOffsetClampEXT).invokeExact(factor, units, clamp); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTPolygonOffsetClamp { + int GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; + void glPolygonOffsetClampEXT(float factor, float units, float clamp); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java index a33550a0..218061f7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_provoking_vertex} */ -public final class GLEXTProvokingVertex { - public static final int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; - public static final int GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; - public static final int GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E; - public static final int GL_PROVOKING_VERTEX_EXT = 0x8E4F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_provoking_vertex) return; - ext.glProvokingVertexEXT = load.invoke("glProvokingVertexEXT", ofVoid(JAVA_INT)); - } - - public static void glProvokingVertexEXT(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glProvokingVertexEXT).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTProvokingVertex { + int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; + int GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; + int GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E; + int GL_PROVOKING_VERTEX_EXT = 0x8E4F; + void glProvokingVertexEXT(int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java index aa73e81e..8afefb67 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java @@ -18,32 +18,19 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_raster_multisample} */ -public final class GLEXTRasterMultisample { - public static final int GL_RASTER_MULTISAMPLE_EXT = 0x9327; - public static final int GL_RASTER_SAMPLES_EXT = 0x9328; - public static final int GL_MAX_RASTER_SAMPLES_EXT = 0x9329; - public static final int GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; - public static final int GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; - public static final int GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_raster_multisample) return; - ext.glRasterSamplesEXT = load.invoke("glRasterSamplesEXT", ofVoid(JAVA_INT, JAVA_BYTE)); - } - - public static void glRasterSamplesEXT(int samples, boolean fixedsamplelocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glRasterSamplesEXT).invokeExact(samples, fixedsamplelocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTRasterMultisample { + int GL_RASTER_MULTISAMPLE_EXT = 0x9327; + int GL_RASTER_SAMPLES_EXT = 0x9328; + int GL_MAX_RASTER_SAMPLES_EXT = 0x9329; + int GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; + int GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; + int GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; + void glRasterSamplesEXT(int samples, boolean fixedsamplelocations); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java index 29e22b98..0e106cf6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_rescale_normal} */ -public final class GLEXTRescaleNormal { - public static final int GL_RESCALE_NORMAL_EXT = 0x803A; +public interface GLEXTRescaleNormal { + int GL_RESCALE_NORMAL_EXT = 0x803A; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java index 1d622f29..22c74137 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java @@ -18,161 +18,36 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_secondary_color} */ -public final class GLEXTSecondaryColor { - public static final int GL_COLOR_SUM_EXT = 0x8458; - public static final int GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459; - public static final int GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; - public static final int GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; - public static final int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; - public static final int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; - public static final int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_secondary_color) return; - ext.glSecondaryColor3bEXT = load.invoke("glSecondaryColor3bEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glSecondaryColor3bvEXT = load.invoke("glSecondaryColor3bvEXT", ofVoid(ADDRESS)); - ext.glSecondaryColor3dEXT = load.invoke("glSecondaryColor3dEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glSecondaryColor3dvEXT = load.invoke("glSecondaryColor3dvEXT", ofVoid(ADDRESS)); - ext.glSecondaryColor3fEXT = load.invoke("glSecondaryColor3fEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glSecondaryColor3fvEXT = load.invoke("glSecondaryColor3fvEXT", ofVoid(ADDRESS)); - ext.glSecondaryColor3iEXT = load.invoke("glSecondaryColor3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glSecondaryColor3ivEXT = load.invoke("glSecondaryColor3ivEXT", ofVoid(ADDRESS)); - ext.glSecondaryColor3sEXT = load.invoke("glSecondaryColor3sEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glSecondaryColor3svEXT = load.invoke("glSecondaryColor3svEXT", ofVoid(ADDRESS)); - ext.glSecondaryColor3ubEXT = load.invoke("glSecondaryColor3ubEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glSecondaryColor3ubvEXT = load.invoke("glSecondaryColor3ubvEXT", ofVoid(ADDRESS)); - ext.glSecondaryColor3uiEXT = load.invoke("glSecondaryColor3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glSecondaryColor3uivEXT = load.invoke("glSecondaryColor3uivEXT", ofVoid(ADDRESS)); - ext.glSecondaryColor3usEXT = load.invoke("glSecondaryColor3usEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glSecondaryColor3usvEXT = load.invoke("glSecondaryColor3usvEXT", ofVoid(ADDRESS)); - ext.glSecondaryColorPointerEXT = load.invoke("glSecondaryColorPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glSecondaryColor3bEXT(byte red, byte green, byte blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3bEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3bvEXT(@NativeType("const GLbyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3bvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3dEXT(double red, double green, double blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3dEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3dvEXT(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3dvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3fEXT(float red, float green, float blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3fEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3fvEXT(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3fvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3iEXT(int red, int green, int blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3iEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3ivEXT(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3ivEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3sEXT(short red, short green, short blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3sEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3svEXT(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3svEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3ubEXT(byte red, byte green, byte blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3ubEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3ubvEXT(@NativeType("const GLubyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3ubvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3uiEXT(int red, int green, int blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3uiEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3uivEXT(@NativeType("const GLuint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3uivEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3usEXT(short red, short green, short blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3usEXT).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3usvEXT(@NativeType("const GLushort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3usvEXT).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColorPointerEXT(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColorPointerEXT).invokeExact(size, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTSecondaryColor { + int GL_COLOR_SUM_EXT = 0x8458; + int GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459; + int GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; + int GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; + int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; + int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; + int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; + + void glSecondaryColor3bEXT(byte red, byte green, byte blue); + void glSecondaryColor3bvEXT(@NativeType("const GLbyte *") MemorySegment v); + void glSecondaryColor3dEXT(double red, double green, double blue); + void glSecondaryColor3dvEXT(@NativeType("const GLdouble *") MemorySegment v); + void glSecondaryColor3fEXT(float red, float green, float blue); + void glSecondaryColor3fvEXT(@NativeType("const GLfloat *") MemorySegment v); + void glSecondaryColor3iEXT(int red, int green, int blue); + void glSecondaryColor3ivEXT(@NativeType("const GLint *") MemorySegment v); + void glSecondaryColor3sEXT(short red, short green, short blue); + void glSecondaryColor3svEXT(@NativeType("const GLshort *") MemorySegment v); + void glSecondaryColor3ubEXT(byte red, byte green, byte blue); + void glSecondaryColor3ubvEXT(@NativeType("const GLubyte *") MemorySegment v); + void glSecondaryColor3uiEXT(int red, int green, int blue); + void glSecondaryColor3uivEXT(@NativeType("const GLuint *") MemorySegment v); + void glSecondaryColor3usEXT(short red, short green, short blue); + void glSecondaryColor3usvEXT(@NativeType("const GLushort *") MemorySegment v); + void glSecondaryColorPointerEXT(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java index 2c63bec0..932a4002 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java @@ -18,84 +18,28 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_semaphore} */ -public final class GLEXTSemaphore { - public static final int GL_LAYOUT_GENERAL_EXT = 0x958D; - public static final int GL_LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E; - public static final int GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F; - public static final int GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590; - public static final int GL_LAYOUT_SHADER_READ_ONLY_EXT = 0x9591; - public static final int GL_LAYOUT_TRANSFER_SRC_EXT = 0x9592; - public static final int GL_LAYOUT_TRANSFER_DST_EXT = 0x9593; - public static final int GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530; - public static final int GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_semaphore) return; - ext.glGenSemaphoresEXT = load.invoke("glGenSemaphoresEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeleteSemaphoresEXT = load.invoke("glDeleteSemaphoresEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsSemaphoreEXT = load.invoke("glIsSemaphoreEXT", of(JAVA_BYTE, JAVA_INT)); - ext.glSemaphoreParameterui64vEXT = load.invoke("glSemaphoreParameterui64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetSemaphoreParameterui64vEXT = load.invoke("glGetSemaphoreParameterui64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glWaitSemaphoreEXT = load.invoke("glWaitSemaphoreEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); - ext.glSignalSemaphoreEXT = load.invoke("glSignalSemaphoreEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glGenSemaphoresEXT(int n, @NativeType("GLuint *") MemorySegment semaphores) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenSemaphoresEXT).invokeExact(n, semaphores); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteSemaphoresEXT(int n, @NativeType("const GLuint *") MemorySegment semaphores) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteSemaphoresEXT).invokeExact(n, semaphores); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsSemaphoreEXT(int semaphore) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsSemaphoreEXT).invokeExact(semaphore); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSemaphoreParameterui64vEXT(int semaphore, int pname, @NativeType("const GLuint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glSemaphoreParameterui64vEXT).invokeExact(semaphore, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetSemaphoreParameterui64vEXT(int semaphore, int pname, @NativeType("GLuint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetSemaphoreParameterui64vEXT).invokeExact(semaphore, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWaitSemaphoreEXT(int semaphore, int numBufferBarriers, @NativeType("const GLuint *") MemorySegment buffers, int numTextureBarriers, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLenum *") MemorySegment srcLayouts) { - final var ext = getExtCapabilities(); - try { - check(ext.glWaitSemaphoreEXT).invokeExact(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, srcLayouts); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSignalSemaphoreEXT(int semaphore, int numBufferBarriers, @NativeType("const GLuint *") MemorySegment buffers, int numTextureBarriers, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLenum *") MemorySegment dstLayouts) { - final var ext = getExtCapabilities(); - try { - check(ext.glSignalSemaphoreEXT).invokeExact(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, dstLayouts); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTSemaphore { + int GL_LAYOUT_GENERAL_EXT = 0x958D; + int GL_LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E; + int GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F; + int GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590; + int GL_LAYOUT_SHADER_READ_ONLY_EXT = 0x9591; + int GL_LAYOUT_TRANSFER_SRC_EXT = 0x9592; + int GL_LAYOUT_TRANSFER_DST_EXT = 0x9593; + int GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530; + int GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531; + + void glGenSemaphoresEXT(int n, @NativeType("GLuint *") MemorySegment semaphores); + void glDeleteSemaphoresEXT(int n, @NativeType("const GLuint *") MemorySegment semaphores); + boolean glIsSemaphoreEXT(int semaphore); + void glSemaphoreParameterui64vEXT(int semaphore, int pname, @NativeType("const GLuint64 *") MemorySegment params); + void glGetSemaphoreParameterui64vEXT(int semaphore, int pname, @NativeType("GLuint64 *") MemorySegment params); + void glWaitSemaphoreEXT(int semaphore, int numBufferBarriers, @NativeType("const GLuint *") MemorySegment buffers, int numTextureBarriers, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLenum *") MemorySegment srcLayouts); + void glSignalSemaphoreEXT(int semaphore, int numBufferBarriers, @NativeType("const GLuint *") MemorySegment buffers, int numTextureBarriers, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLenum *") MemorySegment dstLayouts); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java index 87c76872..122adb6f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_semaphore_fd} */ -public final class GLEXTSemaphoreFd { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_semaphore_fd) return; - ext.glImportSemaphoreFdEXT = load.invoke("glImportSemaphoreFdEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glImportSemaphoreFdEXT(int semaphore, int handleType, int fd) { - final var ext = getExtCapabilities(); - try { - check(ext.glImportSemaphoreFdEXT).invokeExact(semaphore, handleType, fd); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTSemaphoreFd { + void glImportSemaphoreFdEXT(int semaphore, int handleType, int fd); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java index 2ff6618a..8fa23ada 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java @@ -18,36 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_semaphore_win32} */ -public final class GLEXTSemaphoreWin32 { - public static final int GL_HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594; - public static final int GL_D3D12_FENCE_VALUE_EXT = 0x9595; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_semaphore_win32) return; - ext.glImportSemaphoreWin32HandleEXT = load.invoke("glImportSemaphoreWin32HandleEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glImportSemaphoreWin32NameEXT = load.invoke("glImportSemaphoreWin32NameEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glImportSemaphoreWin32HandleEXT(int semaphore, int handleType, @NativeType("void * ") MemorySegment handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glImportSemaphoreWin32HandleEXT).invokeExact(semaphore, handleType, handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glImportSemaphoreWin32NameEXT(int semaphore, int handleType, @NativeType("const void *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glImportSemaphoreWin32NameEXT).invokeExact(semaphore, handleType, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTSemaphoreWin32 { + int GL_HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594; + int GL_D3D12_FENCE_VALUE_EXT = 0x9595; + void glImportSemaphoreWin32HandleEXT(int semaphore, int handleType, @NativeType("void * ") MemorySegment handle); + void glImportSemaphoreWin32NameEXT(int semaphore, int handleType, @NativeType("const void *") MemorySegment name); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java index 2b001c3a..6ef0c092 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java @@ -18,44 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_separate_shader_objects} */ -public final class GLEXTSeparateShaderObjects { - public static final int GL_ACTIVE_PROGRAM_EXT = 0x8B8D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_separate_shader_objects) return; - ext.glUseShaderProgramEXT = load.invoke("glUseShaderProgramEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glActiveProgramEXT = load.invoke("glActiveProgramEXT", ofVoid(JAVA_INT)); - ext.glCreateShaderProgramEXT = load.invoke("glCreateShaderProgramEXT", of(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glUseShaderProgramEXT(int type, int program) { - final var ext = getExtCapabilities(); - try { - check(ext.glUseShaderProgramEXT).invokeExact(type, program); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glActiveProgramEXT(int program) { - final var ext = getExtCapabilities(); - try { - check(ext.glActiveProgramEXT).invokeExact(program); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glCreateShaderProgramEXT(int type, @NativeType("const GLchar *") MemorySegment string) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glCreateShaderProgramEXT).invokeExact(type, string); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTSeparateShaderObjects { + int GL_ACTIVE_PROGRAM_EXT = 0x8B8D; + void glUseShaderProgramEXT(int type, int program); + void glActiveProgramEXT(int program); + int glCreateShaderProgramEXT(int type, @NativeType("const GLchar *") MemorySegment string); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java index 1032c587..385b3c9f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_separate_specular_color} */ -public final class GLEXTSeparateSpecularColor { - public static final int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; - public static final int GL_SINGLE_COLOR_EXT = 0x81F9; - public static final int GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; +public interface GLEXTSeparateSpecularColor { + int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; + int GL_SINGLE_COLOR_EXT = 0x81F9; + int GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java index 83accc83..defc934a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_shader_framebuffer_fetch} */ -public final class GLEXTShaderFramebufferFetch { - public static final int GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; +public interface GLEXTShaderFramebufferFetch { + int GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java index 48476f95..32d6496f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_shader_framebuffer_fetch_non_coherent} */ -public final class GLEXTShaderFramebufferFetchNonCoherent { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_shader_framebuffer_fetch_non_coherent) return; - ext.glFramebufferFetchBarrierEXT = load.invoke("glFramebufferFetchBarrierEXT", ofVoid()); - } - - public static void glFramebufferFetchBarrierEXT() { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferFetchBarrierEXT).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTShaderFramebufferFetchNonCoherent { + void glFramebufferFetchBarrierEXT(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java index 646cd6dd..382ebc21 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java @@ -18,89 +18,69 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_shader_image_load_store} */ -public final class GLEXTShaderImageLoadStore { - public static final int GL_MAX_IMAGE_UNITS_EXT = 0x8F38; - public static final int GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; - public static final int GL_IMAGE_BINDING_NAME_EXT = 0x8F3A; - public static final int GL_IMAGE_BINDING_LEVEL_EXT = 0x8F3B; - public static final int GL_IMAGE_BINDING_LAYERED_EXT = 0x8F3C; - public static final int GL_IMAGE_BINDING_LAYER_EXT = 0x8F3D; - public static final int GL_IMAGE_BINDING_ACCESS_EXT = 0x8F3E; - public static final int GL_IMAGE_1D_EXT = 0x904C; - public static final int GL_IMAGE_2D_EXT = 0x904D; - public static final int GL_IMAGE_3D_EXT = 0x904E; - public static final int GL_IMAGE_2D_RECT_EXT = 0x904F; - public static final int GL_IMAGE_CUBE_EXT = 0x9050; - public static final int GL_IMAGE_BUFFER_EXT = 0x9051; - public static final int GL_IMAGE_1D_ARRAY_EXT = 0x9052; - public static final int GL_IMAGE_2D_ARRAY_EXT = 0x9053; - public static final int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; - public static final int GL_IMAGE_2D_MULTISAMPLE_EXT = 0x9055; - public static final int GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; - public static final int GL_INT_IMAGE_1D_EXT = 0x9057; - public static final int GL_INT_IMAGE_2D_EXT = 0x9058; - public static final int GL_INT_IMAGE_3D_EXT = 0x9059; - public static final int GL_INT_IMAGE_2D_RECT_EXT = 0x905A; - public static final int GL_INT_IMAGE_CUBE_EXT = 0x905B; - public static final int GL_INT_IMAGE_BUFFER_EXT = 0x905C; - public static final int GL_INT_IMAGE_1D_ARRAY_EXT = 0x905D; - public static final int GL_INT_IMAGE_2D_ARRAY_EXT = 0x905E; - public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; - public static final int GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; - public static final int GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; - public static final int GL_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; - public static final int GL_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; - public static final int GL_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; - public static final int GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; - public static final int GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; - public static final int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; - public static final int GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; - public static final int GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; - public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; - public static final int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; - public static final int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; - public static final int GL_MAX_IMAGE_SAMPLES_EXT = 0x906D; - public static final int GL_IMAGE_BINDING_FORMAT_EXT = 0x906E; - public static final int GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; - public static final int GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; - public static final int GL_UNIFORM_BARRIER_BIT_EXT = 0x00000004; - public static final int GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; - public static final int GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; - public static final int GL_COMMAND_BARRIER_BIT_EXT = 0x00000040; - public static final int GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; - public static final int GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; - public static final int GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; - public static final int GL_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; - public static final int GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; - public static final int GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; - public static final int GL_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_shader_image_load_store) return; - ext.glBindImageTextureEXT = load.invoke("glBindImageTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMemoryBarrierEXT = load.invoke("glMemoryBarrierEXT", ofVoid(JAVA_INT)); - } - - public static void glBindImageTextureEXT(int index, int texture, int level, boolean layered, int layer, int access, int format) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindImageTextureEXT).invokeExact(index, texture, level, layered, layer, access, format); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMemoryBarrierEXT(int barriers) { - final var ext = getExtCapabilities(); - try { - check(ext.glMemoryBarrierEXT).invokeExact(barriers); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTShaderImageLoadStore { + int GL_MAX_IMAGE_UNITS_EXT = 0x8F38; + int GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; + int GL_IMAGE_BINDING_NAME_EXT = 0x8F3A; + int GL_IMAGE_BINDING_LEVEL_EXT = 0x8F3B; + int GL_IMAGE_BINDING_LAYERED_EXT = 0x8F3C; + int GL_IMAGE_BINDING_LAYER_EXT = 0x8F3D; + int GL_IMAGE_BINDING_ACCESS_EXT = 0x8F3E; + int GL_IMAGE_1D_EXT = 0x904C; + int GL_IMAGE_2D_EXT = 0x904D; + int GL_IMAGE_3D_EXT = 0x904E; + int GL_IMAGE_2D_RECT_EXT = 0x904F; + int GL_IMAGE_CUBE_EXT = 0x9050; + int GL_IMAGE_BUFFER_EXT = 0x9051; + int GL_IMAGE_1D_ARRAY_EXT = 0x9052; + int GL_IMAGE_2D_ARRAY_EXT = 0x9053; + int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; + int GL_IMAGE_2D_MULTISAMPLE_EXT = 0x9055; + int GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; + int GL_INT_IMAGE_1D_EXT = 0x9057; + int GL_INT_IMAGE_2D_EXT = 0x9058; + int GL_INT_IMAGE_3D_EXT = 0x9059; + int GL_INT_IMAGE_2D_RECT_EXT = 0x905A; + int GL_INT_IMAGE_CUBE_EXT = 0x905B; + int GL_INT_IMAGE_BUFFER_EXT = 0x905C; + int GL_INT_IMAGE_1D_ARRAY_EXT = 0x905D; + int GL_INT_IMAGE_2D_ARRAY_EXT = 0x905E; + int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; + int GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; + int GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; + int GL_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; + int GL_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; + int GL_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; + int GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; + int GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; + int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; + int GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; + int GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; + int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; + int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; + int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; + int GL_MAX_IMAGE_SAMPLES_EXT = 0x906D; + int GL_IMAGE_BINDING_FORMAT_EXT = 0x906E; + int GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; + int GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; + int GL_UNIFORM_BARRIER_BIT_EXT = 0x00000004; + int GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; + int GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; + int GL_COMMAND_BARRIER_BIT_EXT = 0x00000040; + int GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; + int GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; + int GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; + int GL_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; + int GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; + int GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; + int GL_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; + void glBindImageTextureEXT(int index, int texture, int level, boolean layered, int layer, int access, int format); + void glMemoryBarrierEXT(int barriers); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java index 27b4544a..5061fd70 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_shared_texture_palette} */ -public final class GLEXTSharedTexturePalette { - public static final int GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB; +public interface GLEXTSharedTexturePalette { + int GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java index 496cdbd6..38e75a26 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_framebuffer_sRGB} */ -public final class GLEXTSrgb { - public static final int GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9; - public static final int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; +public interface GLEXTSrgb { + int GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9; + int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java index dc830384..730a98ac 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_stencil_clear_tag} */ -public final class GLEXTStencilClearTag { - public static final int GL_STENCIL_TAG_BITS_EXT = 0x88F2; - public static final int GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_stencil_clear_tag) return; - ext.glStencilClearTagEXT = load.invoke("glStencilClearTagEXT", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glStencilClearTagEXT(int stencilTagBits, int stencilClearTag) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilClearTagEXT).invokeExact(stencilTagBits, stencilClearTag); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTStencilClearTag { + int GL_STENCIL_TAG_BITS_EXT = 0x88F2; + int GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; + void glStencilClearTagEXT(int stencilTagBits, int stencilClearTag); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java index f8912ca0..9a08403c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_stencil_two_side} */ -public final class GLEXTStencilTwoSide { - public static final int GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910; - public static final int GL_ACTIVE_STENCIL_FACE_EXT = 0x8911; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_stencil_two_side) return; - ext.glActiveStencilFaceEXT = load.invoke("glActiveStencilFaceEXT", ofVoid(JAVA_INT)); - } - - public static void glActiveStencilFaceEXT(int face) { - final var ext = getExtCapabilities(); - try { - check(ext.glActiveStencilFaceEXT).invokeExact(face); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTStencilTwoSide { + int GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910; + int GL_ACTIVE_STENCIL_FACE_EXT = 0x8911; + void glActiveStencilFaceEXT(int face); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java index 93a1b2b9..adcb8726 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_stencil_wrap} */ -public final class GLEXTStencilWrap { - public static final int GL_INCR_WRAP_EXT = 0x8507; - public static final int GL_DECR_WRAP_EXT = 0x8508; +public interface GLEXTStencilWrap { + int GL_INCR_WRAP_EXT = 0x8507; + int GL_DECR_WRAP_EXT = 0x8508; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java index fd362640..8abc9bd2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_subtexture} */ -public final class GLEXTSubtexture { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_subtexture) return; - ext.glTexSubImage1DEXT = load.invoke("glTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexSubImage2DEXT = load.invoke("glTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glTexSubImage1DEXT(int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexSubImage1DEXT).invokeExact(target, level, xoffset, width, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexSubImage2DEXT(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexSubImage2DEXT).invokeExact(target, level, xoffset, yoffset, width, height, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTSubtexture { + void glTexSubImage1DEXT(int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glTexSubImage2DEXT(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java index 2ae29a64..be8d6d7e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java @@ -18,57 +18,54 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture} */ -public final class GLEXTTexture { - public static final int GL_ALPHA4_EXT = 0x803B; - public static final int GL_ALPHA8_EXT = 0x803C; - public static final int GL_ALPHA12_EXT = 0x803D; - public static final int GL_ALPHA16_EXT = 0x803E; - public static final int GL_LUMINANCE4_EXT = 0x803F; - public static final int GL_LUMINANCE8_EXT = 0x8040; - public static final int GL_LUMINANCE12_EXT = 0x8041; - public static final int GL_LUMINANCE16_EXT = 0x8042; - public static final int GL_LUMINANCE4_ALPHA4_EXT = 0x8043; - public static final int GL_LUMINANCE6_ALPHA2_EXT = 0x8044; - public static final int GL_LUMINANCE8_ALPHA8_EXT = 0x8045; - public static final int GL_LUMINANCE12_ALPHA4_EXT = 0x8046; - public static final int GL_LUMINANCE12_ALPHA12_EXT = 0x8047; - public static final int GL_LUMINANCE16_ALPHA16_EXT = 0x8048; - public static final int GL_INTENSITY_EXT = 0x8049; - public static final int GL_INTENSITY4_EXT = 0x804A; - public static final int GL_INTENSITY8_EXT = 0x804B; - public static final int GL_INTENSITY12_EXT = 0x804C; - public static final int GL_INTENSITY16_EXT = 0x804D; - public static final int GL_RGB2_EXT = 0x804E; - public static final int GL_RGB4_EXT = 0x804F; - public static final int GL_RGB5_EXT = 0x8050; - public static final int GL_RGB8_EXT = 0x8051; - public static final int GL_RGB10_EXT = 0x8052; - public static final int GL_RGB12_EXT = 0x8053; - public static final int GL_RGB16_EXT = 0x8054; - public static final int GL_RGBA2_EXT = 0x8055; - public static final int GL_RGBA4_EXT = 0x8056; - public static final int GL_RGB5_A1_EXT = 0x8057; - public static final int GL_RGBA8_EXT = 0x8058; - public static final int GL_RGB10_A2_EXT = 0x8059; - public static final int GL_RGBA12_EXT = 0x805A; - public static final int GL_RGBA16_EXT = 0x805B; - public static final int GL_TEXTURE_RED_SIZE_EXT = 0x805C; - public static final int GL_TEXTURE_GREEN_SIZE_EXT = 0x805D; - public static final int GL_TEXTURE_BLUE_SIZE_EXT = 0x805E; - public static final int GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F; - public static final int GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; - public static final int GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061; - public static final int GL_REPLACE_EXT = 0x8062; - public static final int GL_PROXY_TEXTURE_1D_EXT = 0x8063; - public static final int GL_PROXY_TEXTURE_2D_EXT = 0x8064; - public static final int GL_TEXTURE_TOO_LARGE_EXT = 0x8065; +public interface GLEXTTexture { + int GL_ALPHA4_EXT = 0x803B; + int GL_ALPHA8_EXT = 0x803C; + int GL_ALPHA12_EXT = 0x803D; + int GL_ALPHA16_EXT = 0x803E; + int GL_LUMINANCE4_EXT = 0x803F; + int GL_LUMINANCE8_EXT = 0x8040; + int GL_LUMINANCE12_EXT = 0x8041; + int GL_LUMINANCE16_EXT = 0x8042; + int GL_LUMINANCE4_ALPHA4_EXT = 0x8043; + int GL_LUMINANCE6_ALPHA2_EXT = 0x8044; + int GL_LUMINANCE8_ALPHA8_EXT = 0x8045; + int GL_LUMINANCE12_ALPHA4_EXT = 0x8046; + int GL_LUMINANCE12_ALPHA12_EXT = 0x8047; + int GL_LUMINANCE16_ALPHA16_EXT = 0x8048; + int GL_INTENSITY_EXT = 0x8049; + int GL_INTENSITY4_EXT = 0x804A; + int GL_INTENSITY8_EXT = 0x804B; + int GL_INTENSITY12_EXT = 0x804C; + int GL_INTENSITY16_EXT = 0x804D; + int GL_RGB2_EXT = 0x804E; + int GL_RGB4_EXT = 0x804F; + int GL_RGB5_EXT = 0x8050; + int GL_RGB8_EXT = 0x8051; + int GL_RGB10_EXT = 0x8052; + int GL_RGB12_EXT = 0x8053; + int GL_RGB16_EXT = 0x8054; + int GL_RGBA2_EXT = 0x8055; + int GL_RGBA4_EXT = 0x8056; + int GL_RGB5_A1_EXT = 0x8057; + int GL_RGBA8_EXT = 0x8058; + int GL_RGB10_A2_EXT = 0x8059; + int GL_RGBA12_EXT = 0x805A; + int GL_RGBA16_EXT = 0x805B; + int GL_TEXTURE_RED_SIZE_EXT = 0x805C; + int GL_TEXTURE_GREEN_SIZE_EXT = 0x805D; + int GL_TEXTURE_BLUE_SIZE_EXT = 0x805E; + int GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F; + int GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; + int GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061; + int GL_REPLACE_EXT = 0x8062; + int GL_PROXY_TEXTURE_1D_EXT = 0x8063; + int GL_PROXY_TEXTURE_2D_EXT = 0x8064; + int GL_TEXTURE_TOO_LARGE_EXT = 0x8065; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java index 486e30dc..1dadf483 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java @@ -18,43 +18,23 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture3D} */ -public final class GLEXTTexture3D { - public static final int GL_PACK_SKIP_IMAGES_EXT = 0x806B; - public static final int GL_PACK_IMAGE_HEIGHT_EXT = 0x806C; - public static final int GL_UNPACK_SKIP_IMAGES_EXT = 0x806D; - public static final int GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E; - public static final int GL_TEXTURE_3D_EXT = 0x806F; - public static final int GL_PROXY_TEXTURE_3D_EXT = 0x8070; - public static final int GL_TEXTURE_DEPTH_EXT = 0x8071; - public static final int GL_TEXTURE_WRAP_R_EXT = 0x8072; - public static final int GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_texture3D) return; - ext.glTexImage3DEXT = load.invoke("glTexImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexSubImage3DEXT = load.invoke("glTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glTexImage3DEXT(int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexImage3DEXT).invokeExact(target, level, internalformat, width, height, depth, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexSubImage3DEXT(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexSubImage3DEXT).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTTexture3D { + int GL_PACK_SKIP_IMAGES_EXT = 0x806B; + int GL_PACK_IMAGE_HEIGHT_EXT = 0x806C; + int GL_UNPACK_SKIP_IMAGES_EXT = 0x806D; + int GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E; + int GL_TEXTURE_3D_EXT = 0x806F; + int GL_PROXY_TEXTURE_3D_EXT = 0x8070; + int GL_TEXTURE_DEPTH_EXT = 0x8071; + int GL_TEXTURE_WRAP_R_EXT = 0x8072; + int GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073; + void glTexImage3DEXT(int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glTexSubImage3DEXT(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java index e6dab75e..c71a22b9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java @@ -18,34 +18,21 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_array} */ -public final class GLEXTTextureArray { - public static final int GL_TEXTURE_1D_ARRAY_EXT = 0x8C18; - public static final int GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; - public static final int GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A; - public static final int GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; - public static final int GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; - public static final int GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; - public static final int GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; - public static final int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_texture_array) return; - ext.glFramebufferTextureLayerEXT = load.invoke("glFramebufferTextureLayerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTextureLayerEXT).invokeExact(target, attachment, texture, level, layer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTTextureArray { + int GL_TEXTURE_1D_ARRAY_EXT = 0x8C18; + int GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; + int GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A; + int GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; + int GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; + int GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; + int GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; + int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; + void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java index 38ffce42..22eadd50 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java @@ -18,31 +18,18 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_buffer_object} */ -public final class GLEXTTextureBufferObject { - public static final int GL_TEXTURE_BUFFER_EXT = 0x8C2A; - public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; - public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; - public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; - public static final int GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_texture_buffer_object) return; - ext.glTexBufferEXT = load.invoke("glTexBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glTexBufferEXT(int target, int internalformat, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexBufferEXT).invokeExact(target, internalformat, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTTextureBufferObject { + int GL_TEXTURE_BUFFER_EXT = 0x8C2A; + int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; + int GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; + int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; + int GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; + void glTexBufferEXT(int target, int internalformat, int buffer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java index 112d1d66..040cf18c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_compression_latc} */ -public final class GLEXTTextureCompressionLatc { - public static final int GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; - public static final int GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; - public static final int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; - public static final int GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; +public interface GLEXTTextureCompressionLatc { + int GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; + int GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; + int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; + int GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java index 61e04e58..afdba197 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_compression_rgtc} */ -public final class GLEXTTextureCompressionRgtc { - public static final int GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB; - public static final int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; - public static final int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; - public static final int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; +public interface GLEXTTextureCompressionRgtc { + int GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB; + int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; + int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; + int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java index 82de3d5f..9b3af461 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_compression_s3tc} */ -public final class GLEXTTextureCompressionS3tc { - public static final int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; - public static final int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; - public static final int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; - public static final int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; +public interface GLEXTTextureCompressionS3tc { + int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; + int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; + int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; + int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java index 22511a64..e53f22de 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java @@ -18,26 +18,23 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_cube_map} */ -public final class GLEXTTextureCubeMap { - public static final int GL_NORMAL_MAP_EXT = 0x8511; - public static final int GL_REFLECTION_MAP_EXT = 0x8512; - public static final int GL_TEXTURE_CUBE_MAP_EXT = 0x8513; - public static final int GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; - public static final int GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; - public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; +public interface GLEXTTextureCubeMap { + int GL_NORMAL_MAP_EXT = 0x8511; + int GL_REFLECTION_MAP_EXT = 0x8512; + int GL_TEXTURE_CUBE_MAP_EXT = 0x8513; + int GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; + int GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; + int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; + int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; + int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; + int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; + int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; + int GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; + int GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java index 5e127443..b8b91dfa 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java @@ -18,35 +18,32 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_env_combine} */ -public final class GLEXTTextureEnvCombine { - public static final int GL_COMBINE_EXT = 0x8570; - public static final int GL_COMBINE_RGB_EXT = 0x8571; - public static final int GL_COMBINE_ALPHA_EXT = 0x8572; - public static final int GL_RGB_SCALE_EXT = 0x8573; - public static final int GL_ADD_SIGNED_EXT = 0x8574; - public static final int GL_INTERPOLATE_EXT = 0x8575; - public static final int GL_CONSTANT_EXT = 0x8576; - public static final int GL_PRIMARY_COLOR_EXT = 0x8577; - public static final int GL_PREVIOUS_EXT = 0x8578; - public static final int GL_SOURCE0_RGB_EXT = 0x8580; - public static final int GL_SOURCE1_RGB_EXT = 0x8581; - public static final int GL_SOURCE2_RGB_EXT = 0x8582; - public static final int GL_SOURCE0_ALPHA_EXT = 0x8588; - public static final int GL_SOURCE1_ALPHA_EXT = 0x8589; - public static final int GL_SOURCE2_ALPHA_EXT = 0x858A; - public static final int GL_OPERAND0_RGB_EXT = 0x8590; - public static final int GL_OPERAND1_RGB_EXT = 0x8591; - public static final int GL_OPERAND2_RGB_EXT = 0x8592; - public static final int GL_OPERAND0_ALPHA_EXT = 0x8598; - public static final int GL_OPERAND1_ALPHA_EXT = 0x8599; - public static final int GL_OPERAND2_ALPHA_EXT = 0x859A; +public interface GLEXTTextureEnvCombine { + int GL_COMBINE_EXT = 0x8570; + int GL_COMBINE_RGB_EXT = 0x8571; + int GL_COMBINE_ALPHA_EXT = 0x8572; + int GL_RGB_SCALE_EXT = 0x8573; + int GL_ADD_SIGNED_EXT = 0x8574; + int GL_INTERPOLATE_EXT = 0x8575; + int GL_CONSTANT_EXT = 0x8576; + int GL_PRIMARY_COLOR_EXT = 0x8577; + int GL_PREVIOUS_EXT = 0x8578; + int GL_SOURCE0_RGB_EXT = 0x8580; + int GL_SOURCE1_RGB_EXT = 0x8581; + int GL_SOURCE2_RGB_EXT = 0x8582; + int GL_SOURCE0_ALPHA_EXT = 0x8588; + int GL_SOURCE1_ALPHA_EXT = 0x8589; + int GL_SOURCE2_ALPHA_EXT = 0x858A; + int GL_OPERAND0_RGB_EXT = 0x8590; + int GL_OPERAND1_RGB_EXT = 0x8591; + int GL_OPERAND2_RGB_EXT = 0x8592; + int GL_OPERAND0_ALPHA_EXT = 0x8598; + int GL_OPERAND1_ALPHA_EXT = 0x8599; + int GL_OPERAND2_ALPHA_EXT = 0x859A; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java index d2760d3c..a97b52f6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_env_dot3} */ -public final class GLEXTTextureEnvDot3 { - public static final int GL_DOT3_RGB_EXT = 0x8740; - public static final int GL_DOT3_RGBA_EXT = 0x8741; +public interface GLEXTTextureEnvDot3 { + int GL_DOT3_RGB_EXT = 0x8740; + int GL_DOT3_RGBA_EXT = 0x8741; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java index 8c08803e..fe7fafab 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_filter_anisotropic} */ -public final class GLEXTTextureFilterAnisotropic { - public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; - public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; +public interface GLEXTTextureFilterAnisotropic { + int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; + int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java index 3661ffe8..85b6d9af 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_filter_minmax} */ -public final class GLEXTTextureFilterMinmax { - public static final int GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366; - public static final int GL_WEIGHTED_AVERAGE_EXT = 0x9367; +public interface GLEXTTextureFilterMinmax { + int GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366; + int GL_WEIGHTED_AVERAGE_EXT = 0x9367; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java index 9ceef17a..62519c1a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java @@ -18,113 +18,65 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_integer} */ -public final class GLEXTTextureInteger { - public static final int GL_RGBA32UI_EXT = 0x8D70; - public static final int GL_RGB32UI_EXT = 0x8D71; - public static final int GL_ALPHA32UI_EXT = 0x8D72; - public static final int GL_INTENSITY32UI_EXT = 0x8D73; - public static final int GL_LUMINANCE32UI_EXT = 0x8D74; - public static final int GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75; - public static final int GL_RGBA16UI_EXT = 0x8D76; - public static final int GL_RGB16UI_EXT = 0x8D77; - public static final int GL_ALPHA16UI_EXT = 0x8D78; - public static final int GL_INTENSITY16UI_EXT = 0x8D79; - public static final int GL_LUMINANCE16UI_EXT = 0x8D7A; - public static final int GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B; - public static final int GL_RGBA8UI_EXT = 0x8D7C; - public static final int GL_RGB8UI_EXT = 0x8D7D; - public static final int GL_ALPHA8UI_EXT = 0x8D7E; - public static final int GL_INTENSITY8UI_EXT = 0x8D7F; - public static final int GL_LUMINANCE8UI_EXT = 0x8D80; - public static final int GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81; - public static final int GL_RGBA32I_EXT = 0x8D82; - public static final int GL_RGB32I_EXT = 0x8D83; - public static final int GL_ALPHA32I_EXT = 0x8D84; - public static final int GL_INTENSITY32I_EXT = 0x8D85; - public static final int GL_LUMINANCE32I_EXT = 0x8D86; - public static final int GL_LUMINANCE_ALPHA32I_EXT = 0x8D87; - public static final int GL_RGBA16I_EXT = 0x8D88; - public static final int GL_RGB16I_EXT = 0x8D89; - public static final int GL_ALPHA16I_EXT = 0x8D8A; - public static final int GL_INTENSITY16I_EXT = 0x8D8B; - public static final int GL_LUMINANCE16I_EXT = 0x8D8C; - public static final int GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D; - public static final int GL_RGBA8I_EXT = 0x8D8E; - public static final int GL_RGB8I_EXT = 0x8D8F; - public static final int GL_ALPHA8I_EXT = 0x8D90; - public static final int GL_INTENSITY8I_EXT = 0x8D91; - public static final int GL_LUMINANCE8I_EXT = 0x8D92; - public static final int GL_LUMINANCE_ALPHA8I_EXT = 0x8D93; - public static final int GL_RED_INTEGER_EXT = 0x8D94; - public static final int GL_GREEN_INTEGER_EXT = 0x8D95; - public static final int GL_BLUE_INTEGER_EXT = 0x8D96; - public static final int GL_ALPHA_INTEGER_EXT = 0x8D97; - public static final int GL_RGB_INTEGER_EXT = 0x8D98; - public static final int GL_RGBA_INTEGER_EXT = 0x8D99; - public static final int GL_BGR_INTEGER_EXT = 0x8D9A; - public static final int GL_BGRA_INTEGER_EXT = 0x8D9B; - public static final int GL_LUMINANCE_INTEGER_EXT = 0x8D9C; - public static final int GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; - public static final int GL_RGBA_INTEGER_MODE_EXT = 0x8D9E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_texture_integer) return; - ext.glTexParameterIivEXT = load.invoke("glTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexParameterIuivEXT = load.invoke("glTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTexParameterIivEXT = load.invoke("glGetTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTexParameterIuivEXT = load.invoke("glGetTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glClearColorIiEXT = load.invoke("glClearColorIiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glClearColorIuiEXT = load.invoke("glClearColorIuiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glTexParameterIivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexParameterIivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexParameterIuivEXT(int target, int pname, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexParameterIuivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexParameterIivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexParameterIivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexParameterIuivEXT(int target, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexParameterIuivEXT).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearColorIiEXT(int red, int green, int blue, int alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearColorIiEXT).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearColorIuiEXT(int red, int green, int blue, int alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearColorIuiEXT).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTTextureInteger { + int GL_RGBA32UI_EXT = 0x8D70; + int GL_RGB32UI_EXT = 0x8D71; + int GL_ALPHA32UI_EXT = 0x8D72; + int GL_INTENSITY32UI_EXT = 0x8D73; + int GL_LUMINANCE32UI_EXT = 0x8D74; + int GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75; + int GL_RGBA16UI_EXT = 0x8D76; + int GL_RGB16UI_EXT = 0x8D77; + int GL_ALPHA16UI_EXT = 0x8D78; + int GL_INTENSITY16UI_EXT = 0x8D79; + int GL_LUMINANCE16UI_EXT = 0x8D7A; + int GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B; + int GL_RGBA8UI_EXT = 0x8D7C; + int GL_RGB8UI_EXT = 0x8D7D; + int GL_ALPHA8UI_EXT = 0x8D7E; + int GL_INTENSITY8UI_EXT = 0x8D7F; + int GL_LUMINANCE8UI_EXT = 0x8D80; + int GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81; + int GL_RGBA32I_EXT = 0x8D82; + int GL_RGB32I_EXT = 0x8D83; + int GL_ALPHA32I_EXT = 0x8D84; + int GL_INTENSITY32I_EXT = 0x8D85; + int GL_LUMINANCE32I_EXT = 0x8D86; + int GL_LUMINANCE_ALPHA32I_EXT = 0x8D87; + int GL_RGBA16I_EXT = 0x8D88; + int GL_RGB16I_EXT = 0x8D89; + int GL_ALPHA16I_EXT = 0x8D8A; + int GL_INTENSITY16I_EXT = 0x8D8B; + int GL_LUMINANCE16I_EXT = 0x8D8C; + int GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D; + int GL_RGBA8I_EXT = 0x8D8E; + int GL_RGB8I_EXT = 0x8D8F; + int GL_ALPHA8I_EXT = 0x8D90; + int GL_INTENSITY8I_EXT = 0x8D91; + int GL_LUMINANCE8I_EXT = 0x8D92; + int GL_LUMINANCE_ALPHA8I_EXT = 0x8D93; + int GL_RED_INTEGER_EXT = 0x8D94; + int GL_GREEN_INTEGER_EXT = 0x8D95; + int GL_BLUE_INTEGER_EXT = 0x8D96; + int GL_ALPHA_INTEGER_EXT = 0x8D97; + int GL_RGB_INTEGER_EXT = 0x8D98; + int GL_RGBA_INTEGER_EXT = 0x8D99; + int GL_BGR_INTEGER_EXT = 0x8D9A; + int GL_BGRA_INTEGER_EXT = 0x8D9B; + int GL_LUMINANCE_INTEGER_EXT = 0x8D9C; + int GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; + int GL_RGBA_INTEGER_MODE_EXT = 0x8D9E; + void glTexParameterIivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glTexParameterIuivEXT(int target, int pname, @NativeType("const GLuint *") MemorySegment params); + void glGetTexParameterIivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetTexParameterIuivEXT(int target, int pname, @NativeType("GLuint *") MemorySegment params); + void glClearColorIiEXT(int red, int green, int blue, int alpha); + void glClearColorIuiEXT(int red, int green, int blue, int alpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java index 4387d6e7..7f56288f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_lod_bias} */ -public final class GLEXTTextureLodBias { - public static final int GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; - public static final int GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500; - public static final int GL_TEXTURE_LOD_BIAS_EXT = 0x8501; +public interface GLEXTTextureLodBias { + int GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; + int GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500; + int GL_TEXTURE_LOD_BIAS_EXT = 0x8501; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java index 7cd56c74..0a540f6f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_mirror_clamp} */ -public final class GLEXTTextureMirrorClamp { - public static final int GL_MIRROR_CLAMP_EXT = 0x8742; - public static final int GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; - public static final int GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; +public interface GLEXTTextureMirrorClamp { + int GL_MIRROR_CLAMP_EXT = 0x8742; + int GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; + int GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java index b1ea171d..328b56fc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java @@ -18,73 +18,23 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_object} */ -public final class GLEXTTextureObject { - public static final int GL_TEXTURE_PRIORITY_EXT = 0x8066; - public static final int GL_TEXTURE_RESIDENT_EXT = 0x8067; - public static final int GL_TEXTURE_1D_BINDING_EXT = 0x8068; - public static final int GL_TEXTURE_2D_BINDING_EXT = 0x8069; - public static final int GL_TEXTURE_3D_BINDING_EXT = 0x806A; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_texture_object) return; - ext.glAreTexturesResidentEXT = load.invoke("glAreTexturesResidentEXT", of(JAVA_BYTE, JAVA_INT, ADDRESS, ADDRESS)); - ext.glBindTextureEXT = load.invoke("glBindTextureEXT", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDeleteTexturesEXT = load.invoke("glDeleteTexturesEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenTexturesEXT = load.invoke("glGenTexturesEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsTextureEXT = load.invoke("glIsTextureEXT", of(JAVA_BYTE, JAVA_INT)); - ext.glPrioritizeTexturesEXT = load.invoke("glPrioritizeTexturesEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); - } - - public static boolean glAreTexturesResidentEXT(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("GLboolean *") MemorySegment residences) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glAreTexturesResidentEXT).invokeExact(n, textures, residences); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindTextureEXT(int target, int texture) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindTextureEXT).invokeExact(target, texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteTexturesEXT(int n, @NativeType("const GLuint *") MemorySegment textures) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteTexturesEXT).invokeExact(n, textures); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenTexturesEXT(int n, @NativeType("GLuint *") MemorySegment textures) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenTexturesEXT).invokeExact(n, textures); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsTextureEXT(int texture) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsTextureEXT).invokeExact(texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPrioritizeTexturesEXT(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLclampf *") MemorySegment priorities) { - final var ext = getExtCapabilities(); - try { - check(ext.glPrioritizeTexturesEXT).invokeExact(n, textures, priorities); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTTextureObject { + int GL_TEXTURE_PRIORITY_EXT = 0x8066; + int GL_TEXTURE_RESIDENT_EXT = 0x8067; + int GL_TEXTURE_1D_BINDING_EXT = 0x8068; + int GL_TEXTURE_2D_BINDING_EXT = 0x8069; + int GL_TEXTURE_3D_BINDING_EXT = 0x806A; + + boolean glAreTexturesResidentEXT(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("GLboolean *") MemorySegment residences); + void glBindTextureEXT(int target, int texture); + void glDeleteTexturesEXT(int n, @NativeType("const GLuint *") MemorySegment textures); + void glGenTexturesEXT(int n, @NativeType("GLuint *") MemorySegment textures); + boolean glIsTextureEXT(int texture); + void glPrioritizeTexturesEXT(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLclampf *") MemorySegment priorities); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java index 2b005b58..8a38fe0c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_perturb_normal} */ -public final class GLEXTTexturePerturbNormal { - public static final int GL_PERTURB_EXT = 0x85AE; - public static final int GL_TEXTURE_NORMAL_EXT = 0x85AF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_texture_perturb_normal) return; - ext.glTextureNormalEXT = load.invoke("glTextureNormalEXT", ofVoid(JAVA_INT)); - } - - public static void glTextureNormalEXT(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureNormalEXT).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTTexturePerturbNormal { + int GL_PERTURB_EXT = 0x85AE; + int GL_TEXTURE_NORMAL_EXT = 0x85AF; + void glTextureNormalEXT(int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java index 4630c092..e7eece35 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_shared_exponent} */ -public final class GLEXTTextureSharedExponent { - public static final int GL_RGB9_E5_EXT = 0x8C3D; - public static final int GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; - public static final int GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F; +public interface GLEXTTextureSharedExponent { + int GL_RGB9_E5_EXT = 0x8C3D; + int GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; + int GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java index 9d0cb635..abf61491 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java @@ -18,30 +18,27 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_snorm} */ -public final class GLEXTTextureSnorm { - public static final int GL_ALPHA_SNORM = 0x9010; - public static final int GL_LUMINANCE_SNORM = 0x9011; - public static final int GL_LUMINANCE_ALPHA_SNORM = 0x9012; - public static final int GL_INTENSITY_SNORM = 0x9013; - public static final int GL_ALPHA8_SNORM = 0x9014; - public static final int GL_LUMINANCE8_SNORM = 0x9015; - public static final int GL_LUMINANCE8_ALPHA8_SNORM = 0x9016; - public static final int GL_INTENSITY8_SNORM = 0x9017; - public static final int GL_ALPHA16_SNORM = 0x9018; - public static final int GL_LUMINANCE16_SNORM = 0x9019; - public static final int GL_LUMINANCE16_ALPHA16_SNORM = 0x901A; - public static final int GL_INTENSITY16_SNORM = 0x901B; - public static final int GL_RED_SNORM = 0x8F90; - public static final int GL_RG_SNORM = 0x8F91; - public static final int GL_RGB_SNORM = 0x8F92; - public static final int GL_RGBA_SNORM = 0x8F93; +public interface GLEXTTextureSnorm { + int GL_ALPHA_SNORM = 0x9010; + int GL_LUMINANCE_SNORM = 0x9011; + int GL_LUMINANCE_ALPHA_SNORM = 0x9012; + int GL_INTENSITY_SNORM = 0x9013; + int GL_ALPHA8_SNORM = 0x9014; + int GL_LUMINANCE8_SNORM = 0x9015; + int GL_LUMINANCE8_ALPHA8_SNORM = 0x9016; + int GL_INTENSITY8_SNORM = 0x9017; + int GL_ALPHA16_SNORM = 0x9018; + int GL_LUMINANCE16_SNORM = 0x9019; + int GL_LUMINANCE16_ALPHA16_SNORM = 0x901A; + int GL_INTENSITY16_SNORM = 0x901B; + int GL_RED_SNORM = 0x8F90; + int GL_RG_SNORM = 0x8F91; + int GL_RGB_SNORM = 0x8F92; + int GL_RGBA_SNORM = 0x8F93; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java index d235182e..4706f4b8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java @@ -18,30 +18,27 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_sRGB} */ -public final class GLEXTTextureSrgb { - public static final int GL_SRGB_EXT = 0x8C40; - public static final int GL_SRGB8_EXT = 0x8C41; - public static final int GL_SRGB_ALPHA_EXT = 0x8C42; - public static final int GL_SRGB8_ALPHA8_EXT = 0x8C43; - public static final int GL_SLUMINANCE_ALPHA_EXT = 0x8C44; - public static final int GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45; - public static final int GL_SLUMINANCE_EXT = 0x8C46; - public static final int GL_SLUMINANCE8_EXT = 0x8C47; - public static final int GL_COMPRESSED_SRGB_EXT = 0x8C48; - public static final int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; - public static final int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A; - public static final int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; - public static final int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; - public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; - public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; - public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; +public interface GLEXTTextureSrgb { + int GL_SRGB_EXT = 0x8C40; + int GL_SRGB8_EXT = 0x8C41; + int GL_SRGB_ALPHA_EXT = 0x8C42; + int GL_SRGB8_ALPHA8_EXT = 0x8C43; + int GL_SLUMINANCE_ALPHA_EXT = 0x8C44; + int GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45; + int GL_SLUMINANCE_EXT = 0x8C46; + int GL_SLUMINANCE8_EXT = 0x8C47; + int GL_COMPRESSED_SRGB_EXT = 0x8C48; + int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; + int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A; + int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; + int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; + int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; + int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; + int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java index 9528acf6..7458ce29 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_sRGB_decode} */ -public final class GLEXTTextureSrgbDecode { - public static final int GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48; - public static final int GL_DECODE_EXT = 0x8A49; - public static final int GL_SKIP_DECODE_EXT = 0x8A4A; +public interface GLEXTTextureSrgbDecode { + int GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48; + int GL_DECODE_EXT = 0x8A49; + int GL_SKIP_DECODE_EXT = 0x8A4A; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java index 8db954d1..01058313 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_sRGB_R8} */ -public final class GLEXTTextureSrgbR8 { - public static final int GL_SR8_EXT = 0x8FBD; +public interface GLEXTTextureSrgbR8 { + int GL_SR8_EXT = 0x8FBD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java index 32424b0c..addf3210 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_sRGB_RG8} */ -public final class GLEXTTextureSrgbRGB { - public static final int GL_SRG8_EXT = 0x8FBE; +public interface GLEXTTextureSrgbRGB { + int GL_SRG8_EXT = 0x8FBE; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java index 757893be..5ef33e24 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java @@ -18,60 +18,33 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_storage} */ -public final class GLEXTTextureStorage { - public static final int GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; - public static final int GL_RGBA32F_EXT = 0x8814; - public static final int GL_RGB32F_EXT = 0x8815; - public static final int GL_ALPHA32F_EXT = 0x8816; - public static final int GL_LUMINANCE32F_EXT = 0x8818; - public static final int GL_LUMINANCE_ALPHA32F_EXT = 0x8819; - public static final int GL_RGBA16F_EXT = 0x881A; - public static final int GL_RGB16F_EXT = 0x881B; - public static final int GL_ALPHA16F_EXT = 0x881C; - public static final int GL_LUMINANCE16F_EXT = 0x881E; - public static final int GL_LUMINANCE_ALPHA16F_EXT = 0x881F; - public static final int GL_BGRA8_EXT = 0x93A1; - public static final int GL_R8_EXT = 0x8229; - public static final int GL_RG8_EXT = 0x822B; - public static final int GL_R32F_EXT = 0x822E; - public static final int GL_RG32F_EXT = 0x8230; - public static final int GL_R16F_EXT = 0x822D; - public static final int GL_RG16F_EXT = 0x822F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_texture_storage) return; - ext.glTexStorage1DEXT = load.invoke("glTexStorage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexStorage2DEXT = load.invoke("glTexStorage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexStorage3DEXT = load.invoke("glTexStorage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glTexStorage1DEXT(int target, int levels, int internalformat, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorage1DEXT).invokeExact(target, levels, internalformat, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexStorage2DEXT(int target, int levels, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorage2DEXT).invokeExact(target, levels, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexStorage3DEXT(int target, int levels, int internalformat, int width, int height, int depth) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexStorage3DEXT).invokeExact(target, levels, internalformat, width, height, depth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTTextureStorage { + int GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; + int GL_RGBA32F_EXT = 0x8814; + int GL_RGB32F_EXT = 0x8815; + int GL_ALPHA32F_EXT = 0x8816; + int GL_LUMINANCE32F_EXT = 0x8818; + int GL_LUMINANCE_ALPHA32F_EXT = 0x8819; + int GL_RGBA16F_EXT = 0x881A; + int GL_RGB16F_EXT = 0x881B; + int GL_ALPHA16F_EXT = 0x881C; + int GL_LUMINANCE16F_EXT = 0x881E; + int GL_LUMINANCE_ALPHA16F_EXT = 0x881F; + int GL_BGRA8_EXT = 0x93A1; + int GL_R8_EXT = 0x8229; + int GL_RG8_EXT = 0x822B; + int GL_R32F_EXT = 0x822E; + int GL_RG32F_EXT = 0x8230; + int GL_R16F_EXT = 0x822D; + int GL_RG16F_EXT = 0x822F; + void glTexStorage1DEXT(int target, int levels, int internalformat, int width); + void glTexStorage2DEXT(int target, int levels, int internalformat, int width, int height); + void glTexStorage3DEXT(int target, int levels, int internalformat, int width, int height, int depth); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java index 6c20fb0b..58455e55 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_texture_swizzle} */ -public final class GLEXTTextureSwizzle { - public static final int GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42; - public static final int GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43; - public static final int GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44; - public static final int GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45; - public static final int GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; +public interface GLEXTTextureSwizzle { + int GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42; + int GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43; + int GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44; + int GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45; + int GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java index 7b4cd363..f7137067 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java @@ -18,35 +18,15 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_timer_query} */ -public final class GLEXTTimerQuery { - public static final int GL_TIME_ELAPSED_EXT = 0x88BF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_timer_query) return; - ext.glGetQueryObjecti64vEXT = load.invoke("glGetQueryObjecti64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetQueryObjectui64vEXT = load.invoke("glGetQueryObjectui64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glGetQueryObjecti64vEXT(int id, int pname, @NativeType("GLint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetQueryObjecti64vEXT).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetQueryObjectui64vEXT(int id, int pname, @NativeType("GLuint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetQueryObjectui64vEXT).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTTimerQuery { + int GL_TIME_ELAPSED_EXT = 0x88BF; + void glGetQueryObjecti64vEXT(int id, int pname, @NativeType("GLint64 *") MemorySegment params); + void glGetQueryObjectui64vEXT(int id, int pname, @NativeType("GLuint64 *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java index 168f9066..ecd26a55 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java @@ -18,89 +18,34 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_transform_feedback} */ -public final class GLEXTTransformFeedback { - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; - public static final int GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C; - public static final int GL_SEPARATE_ATTRIBS_EXT = 0x8C8D; - public static final int GL_PRIMITIVES_GENERATED_EXT = 0x8C87; - public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; - public static final int GL_RASTERIZER_DISCARD_EXT = 0x8C89; - public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; - public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; - public static final int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_transform_feedback) return; - ext.glBeginTransformFeedbackEXT = load.invoke("glBeginTransformFeedbackEXT", ofVoid(JAVA_INT)); - ext.glEndTransformFeedbackEXT = load.invoke("glEndTransformFeedbackEXT", ofVoid()); - ext.glBindBufferRangeEXT = load.invoke("glBindBufferRangeEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glBindBufferOffsetEXT = load.invoke("glBindBufferOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glBindBufferBaseEXT = load.invoke("glBindBufferBaseEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTransformFeedbackVaryingsEXT = load.invoke("glTransformFeedbackVaryingsEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glGetTransformFeedbackVaryingEXT = load.invoke("glGetTransformFeedbackVaryingEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - } - - public static void glBeginTransformFeedbackEXT(int primitiveMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginTransformFeedbackEXT).invokeExact(primitiveMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndTransformFeedbackEXT() { - final var ext = getExtCapabilities(); - try { - check(ext.glEndTransformFeedbackEXT).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindBufferRangeEXT(int target, int index, int buffer, long offset, long size) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindBufferRangeEXT).invokeExact(target, index, buffer, offset, size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindBufferOffsetEXT(int target, int index, int buffer, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindBufferOffsetEXT).invokeExact(target, index, buffer, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindBufferBaseEXT(int target, int index, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindBufferBaseEXT).invokeExact(target, index, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTransformFeedbackVaryingsEXT(int program, int count, @NativeType("const GLchar *const*") MemorySegment varyings, int bufferMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glTransformFeedbackVaryingsEXT).invokeExact(program, count, varyings, bufferMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLsizei *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLchar *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTransformFeedbackVaryingEXT).invokeExact(program, index, bufSize, length, size, type, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTTransformFeedback { + int GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; + int GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; + int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; + int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; + int GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C; + int GL_SEPARATE_ATTRIBS_EXT = 0x8C8D; + int GL_PRIMITIVES_GENERATED_EXT = 0x8C87; + int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; + int GL_RASTERIZER_DISCARD_EXT = 0x8C89; + int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; + int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; + int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; + int GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; + int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; + int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; + + void glBeginTransformFeedbackEXT(int primitiveMode); + void glEndTransformFeedbackEXT(); + void glBindBufferRangeEXT(int target, int index, int buffer, long offset, long size); + void glBindBufferOffsetEXT(int target, int index, int buffer, long offset); + void glBindBufferBaseEXT(int target, int index, int buffer); + void glTransformFeedbackVaryingsEXT(int program, int count, @NativeType("const GLchar *const*") MemorySegment varyings, int bufferMode); + void glGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLsizei *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLchar *") MemorySegment name); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java index 25f135ff..37d7ea8b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java @@ -18,122 +18,53 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_vertex_array} */ -public final class GLEXTVertexArray { - public static final int GL_VERTEX_ARRAY_EXT = 0x8074; - public static final int GL_NORMAL_ARRAY_EXT = 0x8075; - public static final int GL_COLOR_ARRAY_EXT = 0x8076; - public static final int GL_INDEX_ARRAY_EXT = 0x8077; - public static final int GL_TEXTURE_COORD_ARRAY_EXT = 0x8078; - public static final int GL_EDGE_FLAG_ARRAY_EXT = 0x8079; - public static final int GL_VERTEX_ARRAY_SIZE_EXT = 0x807A; - public static final int GL_VERTEX_ARRAY_TYPE_EXT = 0x807B; - public static final int GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C; - public static final int GL_VERTEX_ARRAY_COUNT_EXT = 0x807D; - public static final int GL_NORMAL_ARRAY_TYPE_EXT = 0x807E; - public static final int GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F; - public static final int GL_NORMAL_ARRAY_COUNT_EXT = 0x8080; - public static final int GL_COLOR_ARRAY_SIZE_EXT = 0x8081; - public static final int GL_COLOR_ARRAY_TYPE_EXT = 0x8082; - public static final int GL_COLOR_ARRAY_STRIDE_EXT = 0x8083; - public static final int GL_COLOR_ARRAY_COUNT_EXT = 0x8084; - public static final int GL_INDEX_ARRAY_TYPE_EXT = 0x8085; - public static final int GL_INDEX_ARRAY_STRIDE_EXT = 0x8086; - public static final int GL_INDEX_ARRAY_COUNT_EXT = 0x8087; - public static final int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; - public static final int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; - public static final int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; - public static final int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; - public static final int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; - public static final int GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; - public static final int GL_VERTEX_ARRAY_POINTER_EXT = 0x808E; - public static final int GL_NORMAL_ARRAY_POINTER_EXT = 0x808F; - public static final int GL_COLOR_ARRAY_POINTER_EXT = 0x8090; - public static final int GL_INDEX_ARRAY_POINTER_EXT = 0x8091; - public static final int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; - public static final int GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_vertex_array) return; - ext.glArrayElementEXT = load.invoke("glArrayElementEXT", ofVoid(JAVA_INT)); - ext.glColorPointerEXT = load.invoke("glColorPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDrawArraysEXT = load.invoke("glDrawArraysEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glEdgeFlagPointerEXT = load.invoke("glEdgeFlagPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPointervEXT = load.invoke("glGetPointervEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glIndexPointerEXT = load.invoke("glIndexPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNormalPointerEXT = load.invoke("glNormalPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexCoordPointerEXT = load.invoke("glTexCoordPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexPointerEXT = load.invoke("glVertexPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glArrayElementEXT(int i) { - final var ext = getExtCapabilities(); - try { - check(ext.glArrayElementEXT).invokeExact(i); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorPointerEXT).invokeExact(size, type, stride, count, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawArraysEXT(int mode, int first, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawArraysEXT).invokeExact(mode, first, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEdgeFlagPointerEXT(int stride, int count, @NativeType("const GLboolean *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glEdgeFlagPointerEXT).invokeExact(stride, count, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPointervEXT(int pname, @NativeType("void **") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPointervEXT).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glIndexPointerEXT(int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glIndexPointerEXT).invokeExact(type, stride, count, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalPointerEXT(int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalPointerEXT).invokeExact(type, stride, count, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoordPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoordPointerEXT).invokeExact(size, type, stride, count, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexPointerEXT).invokeExact(size, type, stride, count, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTVertexArray { + int GL_VERTEX_ARRAY_EXT = 0x8074; + int GL_NORMAL_ARRAY_EXT = 0x8075; + int GL_COLOR_ARRAY_EXT = 0x8076; + int GL_INDEX_ARRAY_EXT = 0x8077; + int GL_TEXTURE_COORD_ARRAY_EXT = 0x8078; + int GL_EDGE_FLAG_ARRAY_EXT = 0x8079; + int GL_VERTEX_ARRAY_SIZE_EXT = 0x807A; + int GL_VERTEX_ARRAY_TYPE_EXT = 0x807B; + int GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C; + int GL_VERTEX_ARRAY_COUNT_EXT = 0x807D; + int GL_NORMAL_ARRAY_TYPE_EXT = 0x807E; + int GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F; + int GL_NORMAL_ARRAY_COUNT_EXT = 0x8080; + int GL_COLOR_ARRAY_SIZE_EXT = 0x8081; + int GL_COLOR_ARRAY_TYPE_EXT = 0x8082; + int GL_COLOR_ARRAY_STRIDE_EXT = 0x8083; + int GL_COLOR_ARRAY_COUNT_EXT = 0x8084; + int GL_INDEX_ARRAY_TYPE_EXT = 0x8085; + int GL_INDEX_ARRAY_STRIDE_EXT = 0x8086; + int GL_INDEX_ARRAY_COUNT_EXT = 0x8087; + int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; + int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; + int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; + int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; + int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; + int GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; + int GL_VERTEX_ARRAY_POINTER_EXT = 0x808E; + int GL_NORMAL_ARRAY_POINTER_EXT = 0x808F; + int GL_COLOR_ARRAY_POINTER_EXT = 0x8090; + int GL_INDEX_ARRAY_POINTER_EXT = 0x8091; + int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; + int GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; + void glArrayElementEXT(int i); + void glColorPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer); + void glDrawArraysEXT(int mode, int first, int count); + void glEdgeFlagPointerEXT(int stride, int count, @NativeType("const GLboolean *") MemorySegment pointer); + void glGetPointervEXT(int pname, @NativeType("void **") MemorySegment params); + void glIndexPointerEXT(int type, int stride, int count, @NativeType("const void *") MemorySegment pointer); + void glNormalPointerEXT(int type, int stride, int count, @NativeType("const void *") MemorySegment pointer); + void glTexCoordPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer); + void glVertexPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java index dc7eac02..de71e6ef 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java @@ -18,110 +18,34 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_vertex_attrib_64bit} */ -public final class GLEXTVertexAttrib64bit { - public static final int GL_DOUBLE_VEC2_EXT = 0x8FFC; - public static final int GL_DOUBLE_VEC3_EXT = 0x8FFD; - public static final int GL_DOUBLE_VEC4_EXT = 0x8FFE; - public static final int GL_DOUBLE_MAT2_EXT = 0x8F46; - public static final int GL_DOUBLE_MAT3_EXT = 0x8F47; - public static final int GL_DOUBLE_MAT4_EXT = 0x8F48; - public static final int GL_DOUBLE_MAT2x3_EXT = 0x8F49; - public static final int GL_DOUBLE_MAT2x4_EXT = 0x8F4A; - public static final int GL_DOUBLE_MAT3x2_EXT = 0x8F4B; - public static final int GL_DOUBLE_MAT3x4_EXT = 0x8F4C; - public static final int GL_DOUBLE_MAT4x2_EXT = 0x8F4D; - public static final int GL_DOUBLE_MAT4x3_EXT = 0x8F4E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_vertex_attrib_64bit) return; - ext.glVertexAttribL1dEXT = load.invoke("glVertexAttribL1dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE)); - ext.glVertexAttribL2dEXT = load.invoke("glVertexAttribL2dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttribL3dEXT = load.invoke("glVertexAttribL3dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttribL4dEXT = load.invoke("glVertexAttribL4dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttribL1dvEXT = load.invoke("glVertexAttribL1dvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL2dvEXT = load.invoke("glVertexAttribL2dvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL3dvEXT = load.invoke("glVertexAttribL3dvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL4dvEXT = load.invoke("glVertexAttribL4dvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribLPointerEXT = load.invoke("glVertexAttribLPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribLdvEXT = load.invoke("glGetVertexAttribLdvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glVertexAttribL1dEXT(int index, double x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1dEXT).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL2dEXT(int index, double x, double y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL2dEXT).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL3dEXT(int index, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL3dEXT).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL4dEXT(int index, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL4dEXT).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL1dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1dvEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL2dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL2dvEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL3dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL3dvEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL4dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL4dvEXT).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribLPointerEXT(int index, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribLPointerEXT).invokeExact(index, size, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribLdvEXT(int index, int pname, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribLdvEXT).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTVertexAttrib64bit { + int GL_DOUBLE_VEC2_EXT = 0x8FFC; + int GL_DOUBLE_VEC3_EXT = 0x8FFD; + int GL_DOUBLE_VEC4_EXT = 0x8FFE; + int GL_DOUBLE_MAT2_EXT = 0x8F46; + int GL_DOUBLE_MAT3_EXT = 0x8F47; + int GL_DOUBLE_MAT4_EXT = 0x8F48; + int GL_DOUBLE_MAT2x3_EXT = 0x8F49; + int GL_DOUBLE_MAT2x4_EXT = 0x8F4A; + int GL_DOUBLE_MAT3x2_EXT = 0x8F4B; + int GL_DOUBLE_MAT3x4_EXT = 0x8F4C; + int GL_DOUBLE_MAT4x2_EXT = 0x8F4D; + int GL_DOUBLE_MAT4x3_EXT = 0x8F4E; + + void glVertexAttribL1dEXT(int index, double x); + void glVertexAttribL2dEXT(int index, double x, double y); + void glVertexAttribL3dEXT(int index, double x, double y, double z); + void glVertexAttribL4dEXT(int index, double x, double y, double z, double w); + void glVertexAttribL1dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribL2dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribL3dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribL4dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribLPointerEXT(int index, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer); + void glGetVertexAttribLdvEXT(int index, int pname, @NativeType("GLdouble *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java index 3821f511..7b82437f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java @@ -18,472 +18,164 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_vertex_shader} */ -public final class GLEXTVertexShader { - public static final int GL_VERTEX_SHADER_EXT = 0x8780; - public static final int GL_VERTEX_SHADER_BINDING_EXT = 0x8781; - public static final int GL_OP_INDEX_EXT = 0x8782; - public static final int GL_OP_NEGATE_EXT = 0x8783; - public static final int GL_OP_DOT3_EXT = 0x8784; - public static final int GL_OP_DOT4_EXT = 0x8785; - public static final int GL_OP_MUL_EXT = 0x8786; - public static final int GL_OP_ADD_EXT = 0x8787; - public static final int GL_OP_MADD_EXT = 0x8788; - public static final int GL_OP_FRAC_EXT = 0x8789; - public static final int GL_OP_MAX_EXT = 0x878A; - public static final int GL_OP_MIN_EXT = 0x878B; - public static final int GL_OP_SET_GE_EXT = 0x878C; - public static final int GL_OP_SET_LT_EXT = 0x878D; - public static final int GL_OP_CLAMP_EXT = 0x878E; - public static final int GL_OP_FLOOR_EXT = 0x878F; - public static final int GL_OP_ROUND_EXT = 0x8790; - public static final int GL_OP_EXP_BASE_2_EXT = 0x8791; - public static final int GL_OP_LOG_BASE_2_EXT = 0x8792; - public static final int GL_OP_POWER_EXT = 0x8793; - public static final int GL_OP_RECIP_EXT = 0x8794; - public static final int GL_OP_RECIP_SQRT_EXT = 0x8795; - public static final int GL_OP_SUB_EXT = 0x8796; - public static final int GL_OP_CROSS_PRODUCT_EXT = 0x8797; - public static final int GL_OP_MULTIPLY_MATRIX_EXT = 0x8798; - public static final int GL_OP_MOV_EXT = 0x8799; - public static final int GL_OUTPUT_VERTEX_EXT = 0x879A; - public static final int GL_OUTPUT_COLOR0_EXT = 0x879B; - public static final int GL_OUTPUT_COLOR1_EXT = 0x879C; - public static final int GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D; - public static final int GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E; - public static final int GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F; - public static final int GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; - public static final int GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; - public static final int GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; - public static final int GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; - public static final int GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; - public static final int GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; - public static final int GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; - public static final int GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; - public static final int GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; - public static final int GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; - public static final int GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; - public static final int GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; - public static final int GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; - public static final int GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; - public static final int GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; - public static final int GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; - public static final int GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; - public static final int GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; - public static final int GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; - public static final int GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; - public static final int GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; - public static final int GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; - public static final int GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; - public static final int GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; - public static final int GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; - public static final int GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; - public static final int GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; - public static final int GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; - public static final int GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; - public static final int GL_OUTPUT_FOG_EXT = 0x87BD; - public static final int GL_SCALAR_EXT = 0x87BE; - public static final int GL_VECTOR_EXT = 0x87BF; - public static final int GL_MATRIX_EXT = 0x87C0; - public static final int GL_VARIANT_EXT = 0x87C1; - public static final int GL_INVARIANT_EXT = 0x87C2; - public static final int GL_LOCAL_CONSTANT_EXT = 0x87C3; - public static final int GL_LOCAL_EXT = 0x87C4; - public static final int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; - public static final int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; - public static final int GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; - public static final int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; - public static final int GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; - public static final int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; - public static final int GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0; - public static final int GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; - public static final int GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; - public static final int GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3; - public static final int GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; - public static final int GL_X_EXT = 0x87D5; - public static final int GL_Y_EXT = 0x87D6; - public static final int GL_Z_EXT = 0x87D7; - public static final int GL_W_EXT = 0x87D8; - public static final int GL_NEGATIVE_X_EXT = 0x87D9; - public static final int GL_NEGATIVE_Y_EXT = 0x87DA; - public static final int GL_NEGATIVE_Z_EXT = 0x87DB; - public static final int GL_NEGATIVE_W_EXT = 0x87DC; - public static final int GL_ZERO_EXT = 0x87DD; - public static final int GL_ONE_EXT = 0x87DE; - public static final int GL_NEGATIVE_ONE_EXT = 0x87DF; - public static final int GL_NORMALIZED_RANGE_EXT = 0x87E0; - public static final int GL_FULL_RANGE_EXT = 0x87E1; - public static final int GL_CURRENT_VERTEX_EXT = 0x87E2; - public static final int GL_MVP_MATRIX_EXT = 0x87E3; - public static final int GL_VARIANT_VALUE_EXT = 0x87E4; - public static final int GL_VARIANT_DATATYPE_EXT = 0x87E5; - public static final int GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6; - public static final int GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7; - public static final int GL_VARIANT_ARRAY_EXT = 0x87E8; - public static final int GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9; - public static final int GL_INVARIANT_VALUE_EXT = 0x87EA; - public static final int GL_INVARIANT_DATATYPE_EXT = 0x87EB; - public static final int GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC; - public static final int GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_vertex_shader) return; - ext.glBeginVertexShaderEXT = load.invoke("glBeginVertexShaderEXT", ofVoid()); - ext.glEndVertexShaderEXT = load.invoke("glEndVertexShaderEXT", ofVoid()); - ext.glBindVertexShaderEXT = load.invoke("glBindVertexShaderEXT", ofVoid(JAVA_INT)); - ext.glGenVertexShadersEXT = load.invoke("glGenVertexShadersEXT", of(JAVA_INT, JAVA_INT)); - ext.glDeleteVertexShaderEXT = load.invoke("glDeleteVertexShaderEXT", ofVoid(JAVA_INT)); - ext.glShaderOp1EXT = load.invoke("glShaderOp1EXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glShaderOp2EXT = load.invoke("glShaderOp2EXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glShaderOp3EXT = load.invoke("glShaderOp3EXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glSwizzleEXT = load.invoke("glSwizzleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glWriteMaskEXT = load.invoke("glWriteMaskEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glInsertComponentEXT = load.invoke("glInsertComponentEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glExtractComponentEXT = load.invoke("glExtractComponentEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGenSymbolsEXT = load.invoke("glGenSymbolsEXT", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glSetInvariantEXT = load.invoke("glSetInvariantEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glSetLocalConstantEXT = load.invoke("glSetLocalConstantEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVariantbvEXT = load.invoke("glVariantbvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantsvEXT = load.invoke("glVariantsvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantivEXT = load.invoke("glVariantivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantfvEXT = load.invoke("glVariantfvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantdvEXT = load.invoke("glVariantdvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantubvEXT = load.invoke("glVariantubvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantusvEXT = load.invoke("glVariantusvEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantuivEXT = load.invoke("glVariantuivEXT", ofVoid(JAVA_INT, ADDRESS)); - ext.glVariantPointerEXT = load.invoke("glVariantPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glEnableVariantClientStateEXT = load.invoke("glEnableVariantClientStateEXT", ofVoid(JAVA_INT)); - ext.glDisableVariantClientStateEXT = load.invoke("glDisableVariantClientStateEXT", ofVoid(JAVA_INT)); - ext.glBindLightParameterEXT = load.invoke("glBindLightParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBindMaterialParameterEXT = load.invoke("glBindMaterialParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBindTexGenParameterEXT = load.invoke("glBindTexGenParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBindTextureUnitParameterEXT = load.invoke("glBindTextureUnitParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glBindParameterEXT = load.invoke("glBindParameterEXT", of(JAVA_INT, JAVA_INT)); - ext.glIsVariantEnabledEXT = load.invoke("glIsVariantEnabledEXT", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); - ext.glGetVariantBooleanvEXT = load.invoke("glGetVariantBooleanvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVariantIntegervEXT = load.invoke("glGetVariantIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVariantFloatvEXT = load.invoke("glGetVariantFloatvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVariantPointervEXT = load.invoke("glGetVariantPointervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetInvariantBooleanvEXT = load.invoke("glGetInvariantBooleanvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetInvariantIntegervEXT = load.invoke("glGetInvariantIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetInvariantFloatvEXT = load.invoke("glGetInvariantFloatvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetLocalConstantBooleanvEXT = load.invoke("glGetLocalConstantBooleanvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetLocalConstantIntegervEXT = load.invoke("glGetLocalConstantIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetLocalConstantFloatvEXT = load.invoke("glGetLocalConstantFloatvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glBeginVertexShaderEXT() { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginVertexShaderEXT).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndVertexShaderEXT() { - final var ext = getExtCapabilities(); - try { - check(ext.glEndVertexShaderEXT).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindVertexShaderEXT(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindVertexShaderEXT).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGenVertexShadersEXT(int range) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGenVertexShadersEXT).invokeExact(range); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteVertexShaderEXT(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteVertexShaderEXT).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShaderOp1EXT(int op, int res, int arg1) { - final var ext = getExtCapabilities(); - try { - check(ext.glShaderOp1EXT).invokeExact(op, res, arg1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShaderOp2EXT(int op, int res, int arg1, int arg2) { - final var ext = getExtCapabilities(); - try { - check(ext.glShaderOp2EXT).invokeExact(op, res, arg1, arg2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShaderOp3EXT(int op, int res, int arg1, int arg2, int arg3) { - final var ext = getExtCapabilities(); - try { - check(ext.glShaderOp3EXT).invokeExact(op, res, arg1, arg2, arg3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSwizzleEXT(int res, int in, int outX, int outY, int outZ, int outW) { - final var ext = getExtCapabilities(); - try { - check(ext.glSwizzleEXT).invokeExact(res, in, outX, outY, outZ, outW); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWriteMaskEXT(int res, int in, int outX, int outY, int outZ, int outW) { - final var ext = getExtCapabilities(); - try { - check(ext.glWriteMaskEXT).invokeExact(res, in, outX, outY, outZ, outW); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glInsertComponentEXT(int res, int src, int num) { - final var ext = getExtCapabilities(); - try { - check(ext.glInsertComponentEXT).invokeExact(res, src, num); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glExtractComponentEXT(int res, int src, int num) { - final var ext = getExtCapabilities(); - try { - check(ext.glExtractComponentEXT).invokeExact(res, src, num); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGenSymbolsEXT(int datatype, int storagetype, int range, int components) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGenSymbolsEXT).invokeExact(datatype, storagetype, range, components); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSetInvariantEXT(int id, int type, @NativeType("const void *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glSetInvariantEXT).invokeExact(id, type, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSetLocalConstantEXT(int id, int type, @NativeType("const void *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glSetLocalConstantEXT).invokeExact(id, type, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantbvEXT(int id, @NativeType("const GLbyte *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantbvEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantsvEXT(int id, @NativeType("const GLshort *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantsvEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantivEXT(int id, @NativeType("const GLint *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantivEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantfvEXT(int id, @NativeType("const GLfloat *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantfvEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantdvEXT(int id, @NativeType("const GLdouble *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantdvEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantubvEXT(int id, @NativeType("const GLubyte *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantubvEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantusvEXT(int id, @NativeType("const GLushort *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantusvEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantuivEXT(int id, @NativeType("const GLuint *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantuivEXT).invokeExact(id, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVariantPointerEXT(int id, int type, int stride, @NativeType("const void *") MemorySegment addr) { - final var ext = getExtCapabilities(); - try { - check(ext.glVariantPointerEXT).invokeExact(id, type, stride, addr); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEnableVariantClientStateEXT(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glEnableVariantClientStateEXT).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDisableVariantClientStateEXT(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glDisableVariantClientStateEXT).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glBindLightParameterEXT(int light, int value) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glBindLightParameterEXT).invokeExact(light, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glBindMaterialParameterEXT(int face, int value) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glBindMaterialParameterEXT).invokeExact(face, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glBindTexGenParameterEXT(int unit, int coord, int value) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glBindTexGenParameterEXT).invokeExact(unit, coord, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glBindTextureUnitParameterEXT(int unit, int value) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glBindTextureUnitParameterEXT).invokeExact(unit, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glBindParameterEXT(int value) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glBindParameterEXT).invokeExact(value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsVariantEnabledEXT(int id, int cap) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsVariantEnabledEXT).invokeExact(id, cap); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVariantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVariantBooleanvEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVariantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVariantIntegervEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVariantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVariantFloatvEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVariantPointervEXT(int id, int value, @NativeType("void **") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVariantPointervEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetInvariantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetInvariantBooleanvEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetInvariantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetInvariantIntegervEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetInvariantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetInvariantFloatvEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetLocalConstantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetLocalConstantBooleanvEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetLocalConstantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetLocalConstantIntegervEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetLocalConstantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetLocalConstantFloatvEXT).invokeExact(id, value, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLEXTVertexShader { + int GL_VERTEX_SHADER_EXT = 0x8780; + int GL_VERTEX_SHADER_BINDING_EXT = 0x8781; + int GL_OP_INDEX_EXT = 0x8782; + int GL_OP_NEGATE_EXT = 0x8783; + int GL_OP_DOT3_EXT = 0x8784; + int GL_OP_DOT4_EXT = 0x8785; + int GL_OP_MUL_EXT = 0x8786; + int GL_OP_ADD_EXT = 0x8787; + int GL_OP_MADD_EXT = 0x8788; + int GL_OP_FRAC_EXT = 0x8789; + int GL_OP_MAX_EXT = 0x878A; + int GL_OP_MIN_EXT = 0x878B; + int GL_OP_SET_GE_EXT = 0x878C; + int GL_OP_SET_LT_EXT = 0x878D; + int GL_OP_CLAMP_EXT = 0x878E; + int GL_OP_FLOOR_EXT = 0x878F; + int GL_OP_ROUND_EXT = 0x8790; + int GL_OP_EXP_BASE_2_EXT = 0x8791; + int GL_OP_LOG_BASE_2_EXT = 0x8792; + int GL_OP_POWER_EXT = 0x8793; + int GL_OP_RECIP_EXT = 0x8794; + int GL_OP_RECIP_SQRT_EXT = 0x8795; + int GL_OP_SUB_EXT = 0x8796; + int GL_OP_CROSS_PRODUCT_EXT = 0x8797; + int GL_OP_MULTIPLY_MATRIX_EXT = 0x8798; + int GL_OP_MOV_EXT = 0x8799; + int GL_OUTPUT_VERTEX_EXT = 0x879A; + int GL_OUTPUT_COLOR0_EXT = 0x879B; + int GL_OUTPUT_COLOR1_EXT = 0x879C; + int GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D; + int GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E; + int GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F; + int GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; + int GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; + int GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; + int GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; + int GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; + int GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; + int GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; + int GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; + int GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; + int GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; + int GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; + int GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; + int GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; + int GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; + int GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; + int GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; + int GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; + int GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; + int GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; + int GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; + int GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; + int GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; + int GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; + int GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; + int GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; + int GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; + int GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; + int GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; + int GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; + int GL_OUTPUT_FOG_EXT = 0x87BD; + int GL_SCALAR_EXT = 0x87BE; + int GL_VECTOR_EXT = 0x87BF; + int GL_MATRIX_EXT = 0x87C0; + int GL_VARIANT_EXT = 0x87C1; + int GL_INVARIANT_EXT = 0x87C2; + int GL_LOCAL_CONSTANT_EXT = 0x87C3; + int GL_LOCAL_EXT = 0x87C4; + int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; + int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; + int GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; + int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; + int GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; + int GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; + int GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; + int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; + int GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; + int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; + int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; + int GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0; + int GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; + int GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; + int GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3; + int GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; + int GL_X_EXT = 0x87D5; + int GL_Y_EXT = 0x87D6; + int GL_Z_EXT = 0x87D7; + int GL_W_EXT = 0x87D8; + int GL_NEGATIVE_X_EXT = 0x87D9; + int GL_NEGATIVE_Y_EXT = 0x87DA; + int GL_NEGATIVE_Z_EXT = 0x87DB; + int GL_NEGATIVE_W_EXT = 0x87DC; + int GL_ZERO_EXT = 0x87DD; + int GL_ONE_EXT = 0x87DE; + int GL_NEGATIVE_ONE_EXT = 0x87DF; + int GL_NORMALIZED_RANGE_EXT = 0x87E0; + int GL_FULL_RANGE_EXT = 0x87E1; + int GL_CURRENT_VERTEX_EXT = 0x87E2; + int GL_MVP_MATRIX_EXT = 0x87E3; + int GL_VARIANT_VALUE_EXT = 0x87E4; + int GL_VARIANT_DATATYPE_EXT = 0x87E5; + int GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6; + int GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7; + int GL_VARIANT_ARRAY_EXT = 0x87E8; + int GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9; + int GL_INVARIANT_VALUE_EXT = 0x87EA; + int GL_INVARIANT_DATATYPE_EXT = 0x87EB; + int GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC; + int GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; + + void glBeginVertexShaderEXT(); + void glEndVertexShaderEXT(); + void glBindVertexShaderEXT(int id); + int glGenVertexShadersEXT(int range); + void glDeleteVertexShaderEXT(int id); + void glShaderOp1EXT(int op, int res, int arg1); + void glShaderOp2EXT(int op, int res, int arg1, int arg2); + void glShaderOp3EXT(int op, int res, int arg1, int arg2, int arg3); + void glSwizzleEXT(int res, int in, int outX, int outY, int outZ, int outW); + void glWriteMaskEXT(int res, int in, int outX, int outY, int outZ, int outW); + void glInsertComponentEXT(int res, int src, int num); + void glExtractComponentEXT(int res, int src, int num); + int glGenSymbolsEXT(int datatype, int storagetype, int range, int components); + void glSetInvariantEXT(int id, int type, @NativeType("const void *") MemorySegment addr); + void glSetLocalConstantEXT(int id, int type, @NativeType("const void *") MemorySegment addr); + void glVariantbvEXT(int id, @NativeType("const GLbyte *") MemorySegment addr); + void glVariantsvEXT(int id, @NativeType("const GLshort *") MemorySegment addr); + void glVariantivEXT(int id, @NativeType("const GLint *") MemorySegment addr); + void glVariantfvEXT(int id, @NativeType("const GLfloat *") MemorySegment addr); + void glVariantdvEXT(int id, @NativeType("const GLdouble *") MemorySegment addr); + void glVariantubvEXT(int id, @NativeType("const GLubyte *") MemorySegment addr); + void glVariantusvEXT(int id, @NativeType("const GLushort *") MemorySegment addr); + void glVariantuivEXT(int id, @NativeType("const GLuint *") MemorySegment addr); + void glVariantPointerEXT(int id, int type, int stride, @NativeType("const void *") MemorySegment addr); + void glEnableVariantClientStateEXT(int id); + void glDisableVariantClientStateEXT(int id); + int glBindLightParameterEXT(int light, int value); + int glBindMaterialParameterEXT(int face, int value); + int glBindTexGenParameterEXT(int unit, int coord, int value); + int glBindTextureUnitParameterEXT(int unit, int value); + int glBindParameterEXT(int value); + boolean glIsVariantEnabledEXT(int id, int cap); + void glGetVariantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data); + void glGetVariantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data); + void glGetVariantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data); + void glGetVariantPointervEXT(int id, int value, @NativeType("void **") MemorySegment data); + void glGetInvariantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data); + void glGetInvariantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data); + void glGetInvariantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data); + void glGetLocalConstantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data); + void glGetLocalConstantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data); + void glGetLocalConstantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java index e735722a..32416f96 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java @@ -18,55 +18,28 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_vertex_weighting} */ -public final class GLEXTVertexWeighting { - public static final int GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; - public static final int GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502; - public static final int GL_MODELVIEW0_MATRIX_EXT = 0x0BA6; - public static final int GL_MODELVIEW1_MATRIX_EXT = 0x8506; - public static final int GL_VERTEX_WEIGHTING_EXT = 0x8509; - public static final int GL_MODELVIEW0_EXT = 0x1700; - public static final int GL_MODELVIEW1_EXT = 0x850A; - public static final int GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B; - public static final int GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C; - public static final int GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; - public static final int GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; - public static final int GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; - public static final int GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_vertex_weighting) return; - ext.glVertexWeightfEXT = load.invoke("glVertexWeightfEXT", ofVoid(JAVA_FLOAT)); - ext.glVertexWeightfvEXT = load.invoke("glVertexWeightfvEXT", ofVoid(ADDRESS)); - ext.glVertexWeightPointerEXT = load.invoke("glVertexWeightPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glVertexWeightfEXT(float weight) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexWeightfEXT).invokeExact(weight); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexWeightfvEXT(@NativeType("const GLfloat *") MemorySegment weight) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexWeightfvEXT).invokeExact(weight); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexWeightPointerEXT(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexWeightPointerEXT).invokeExact(size, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTVertexWeighting { + int GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; + int GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502; + int GL_MODELVIEW0_MATRIX_EXT = 0x0BA6; + int GL_MODELVIEW1_MATRIX_EXT = 0x8506; + int GL_VERTEX_WEIGHTING_EXT = 0x8509; + int GL_MODELVIEW0_EXT = 0x1700; + int GL_MODELVIEW1_EXT = 0x850A; + int GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B; + int GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C; + int GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; + int GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; + int GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; + int GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; + void glVertexWeightfEXT(float weight); + void glVertexWeightfvEXT(@NativeType("const GLfloat *") MemorySegment weight); + void glVertexWeightPointerEXT(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java index f0bf68ad..2b6e7943 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java @@ -18,36 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_win32_keyed_mutex} */ -public final class GLEXTWin32KeyedMutex { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_win32_keyed_mutex) return; - ext.glAcquireKeyedMutexWin32EXT = load.invoke("glAcquireKeyedMutexWin32EXT", of(JAVA_BYTE, JAVA_INT, JAVA_LONG, JAVA_INT)); - ext.glReleaseKeyedMutexWin32EXT = load.invoke("glReleaseKeyedMutexWin32EXT", of(JAVA_BYTE, JAVA_INT, JAVA_LONG)); - } - - public static boolean glAcquireKeyedMutexWin32EXT(int memory, long key, int timeout) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glAcquireKeyedMutexWin32EXT).invokeExact(memory, key, timeout); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glReleaseKeyedMutexWin32EXT(int memory, long key) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glReleaseKeyedMutexWin32EXT).invokeExact(memory, key); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTWin32KeyedMutex { + boolean glAcquireKeyedMutexWin32EXT(int memory, long key, int timeout); + boolean glReleaseKeyedMutexWin32EXT(int memory, long key); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java index d6389d67..7f4dbeef 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java @@ -18,32 +18,19 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_window_rectangles} */ -public final class GLEXTWindowRectangles { - public static final int GL_INCLUSIVE_EXT = 0x8F10; - public static final int GL_EXCLUSIVE_EXT = 0x8F11; - public static final int GL_WINDOW_RECTANGLE_EXT = 0x8F12; - public static final int GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13; - public static final int GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14; - public static final int GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_window_rectangles) return; - ext.glWindowRectanglesEXT = load.invoke("glWindowRectanglesEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glWindowRectanglesEXT(int mode, int count, @NativeType("const GLint *") MemorySegment box) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowRectanglesEXT).invokeExact(mode, count, box); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTWindowRectangles { + int GL_INCLUSIVE_EXT = 0x8F10; + int GL_EXCLUSIVE_EXT = 0x8F11; + int GL_WINDOW_RECTANGLE_EXT = 0x8F12; + int GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13; + int GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14; + int GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15; + void glWindowRectanglesEXT(int mode, int count, @NativeType("const GLint *") MemorySegment box); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java index 2b3196b5..c623dea5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java @@ -18,28 +18,14 @@ package overrungl.opengl.ext.ext; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_EXT_x11_sync_object} */ -public final class GLEXTX11SyncObject { - public static final int GL_SYNC_X11_FENCE_EXT = 0x90E1; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_EXT_x11_sync_object) return; - ext.glImportSyncEXT = load.invoke("glImportSyncEXT", of(ADDRESS, JAVA_INT, JAVA_LONG, JAVA_INT)); - } - - public static @NativeType("GLsync") MemorySegment glImportSyncEXT(int external_sync_type, long external_sync, int flags) { - final var ext = getExtCapabilities(); - try { - return (MemorySegment) - check(ext.glImportSyncEXT).invokeExact(external_sync_type, external_sync, flags); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLEXTX11SyncObject { + int GL_SYNC_X11_FENCE_EXT = 0x90E1; + @NativeType("GLsync") MemorySegment glImportSyncEXT(int external_sync_type, long external_sync, int flags); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java index 88f82176..ed100d70 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ibm; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_IBM_cull_vertex} */ -public final class GLIBMCullVertex { - public static final int GL_CULL_VERTEX_IBM = 103050; +public interface GLIBMCullVertex { + int GL_CULL_VERTEX_IBM = 103050; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java index ceb448c4..f93d5986 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.ibm; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_IBM_multimode_draw_arrays} */ -public final class GLIBMMultimodeDrawArrays { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_IBM_multimode_draw_arrays) return; - ext.glMultiModeDrawArraysIBM = load.invoke("glMultiModeDrawArraysIBM", ofVoid(ADDRESS, ADDRESS, ADDRESS, JAVA_INT, JAVA_INT)); - ext.glMultiModeDrawElementsIBM = load.invoke("glMultiModeDrawElementsIBM", ofVoid(ADDRESS, ADDRESS, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT)); - } - - public static void glMultiModeDrawArraysIBM(@NativeType("const GLenum *") MemorySegment mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount, int modestride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiModeDrawArraysIBM).invokeExact(mode, first, count, primcount, modestride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiModeDrawElementsIBM(@NativeType("const GLenum *") MemorySegment mode, @NativeType("const GLsizei *") MemorySegment count, int type, @NativeType("const void *const*") MemorySegment indices, int primcount, int modestride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiModeDrawElementsIBM).invokeExact(mode, count, type, indices, primcount, modestride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLIBMMultimodeDrawArrays { + void glMultiModeDrawArraysIBM(@NativeType("const GLenum *") MemorySegment mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount, int modestride); + void glMultiModeDrawElementsIBM(@NativeType("const GLenum *") MemorySegment mode, @NativeType("const GLsizei *") MemorySegment count, int type, @NativeType("const void *const*") MemorySegment indices, int primcount, int modestride); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java index b9b66632..ce949cc7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ibm; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_IBM_rasterpos_clip} */ -public final class GLIBMRasterposClip { - public static final int GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262; +public interface GLIBMRasterposClip { + int GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java index 6a72f818..cc07548d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.ibm; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_IBM_static_data} */ -public final class GLIBMStaticData { - public static final int GL_ALL_STATIC_DATA_IBM = 103060; - public static final int GL_STATIC_VERTEX_ARRAY_IBM = 103061; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_IBM_static_data) return; - ext.glFlushStaticDataIBM = load.invoke("glFlushStaticDataIBM", ofVoid(JAVA_INT)); - } - - public static void glFlushStaticDataIBM(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glFlushStaticDataIBM).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLIBMStaticData { + int GL_ALL_STATIC_DATA_IBM = 103060; + int GL_STATIC_VERTEX_ARRAY_IBM = 103061; + void glFlushStaticDataIBM(int target); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java index 7453cc46..cb6a139e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.ibm; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_IBM_texture_mirrored_repeat} */ -public final class GLIBMTextureMirroredRepeat { - public static final int GL_MIRRORED_REPEAT_IBM = 0x8370; +public interface GLIBMTextureMirroredRepeat { + int GL_MIRRORED_REPEAT_IBM = 0x8370; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java index 9c25f714..b8f24062 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java @@ -18,98 +18,36 @@ package overrungl.opengl.ext.ibm; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_IBM_vertex_array_lists} */ -public final class GLIBMVertexArrayLists { - public static final int GL_VERTEX_ARRAY_LIST_IBM = 103070; - public static final int GL_NORMAL_ARRAY_LIST_IBM = 103071; - public static final int GL_COLOR_ARRAY_LIST_IBM = 103072; - public static final int GL_INDEX_ARRAY_LIST_IBM = 103073; - public static final int GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074; - public static final int GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075; - public static final int GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076; - public static final int GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; - public static final int GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; - public static final int GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; - public static final int GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082; - public static final int GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083; - public static final int GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; - public static final int GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; - public static final int GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; - public static final int GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_IBM_vertex_array_lists) return; - ext.glColorPointerListIBM = load.invoke("glColorPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glSecondaryColorPointerListIBM = load.invoke("glSecondaryColorPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glEdgeFlagPointerListIBM = load.invoke("glEdgeFlagPointerListIBM", ofVoid(JAVA_INT, ADDRESS, JAVA_INT)); - ext.glFogCoordPointerListIBM = load.invoke("glFogCoordPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glIndexPointerListIBM = load.invoke("glIndexPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glNormalPointerListIBM = load.invoke("glNormalPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glTexCoordPointerListIBM = load.invoke("glTexCoordPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glVertexPointerListIBM = load.invoke("glVertexPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - } - - public static void glColorPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColorPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColorPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEdgeFlagPointerListIBM(int stride, @NativeType("const GLboolean **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glEdgeFlagPointerListIBM).invokeExact(stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoordPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoordPointerListIBM).invokeExact(type, stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glIndexPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glIndexPointerListIBM).invokeExact(type, stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalPointerListIBM).invokeExact(type, stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoordPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoordPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLIBMVertexArrayLists { + int GL_VERTEX_ARRAY_LIST_IBM = 103070; + int GL_NORMAL_ARRAY_LIST_IBM = 103071; + int GL_COLOR_ARRAY_LIST_IBM = 103072; + int GL_INDEX_ARRAY_LIST_IBM = 103073; + int GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074; + int GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075; + int GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076; + int GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; + int GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; + int GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; + int GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082; + int GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083; + int GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; + int GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; + int GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; + int GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; + + void glColorPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride); + void glSecondaryColorPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride); + void glEdgeFlagPointerListIBM(int stride, @NativeType("const GLboolean **") MemorySegment pointer, int ptrstride); + void glFogCoordPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride); + void glIndexPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride); + void glNormalPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride); + void glTexCoordPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride); + void glVertexPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java index af961380..fad08b57 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.intel; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INTEL_blackhole_render} */ -public final class GLINTELBlackholeRender { - public static final int GL_BLACKHOLE_RENDER_INTEL = 0x83FC; +public interface GLINTELBlackholeRender { + int GL_BLACKHOLE_RENDER_INTEL = 0x83FC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java index b020fa7d..084fe263 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.intel; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INTEL_conservative_rasterization} */ -public final class GLINTELConservativeRasterization { - public static final int GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; +public interface GLINTELConservativeRasterization { + int GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java index aaf88e98..46086595 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.intel; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INTEL_framebuffer_CMAA} */ -public final class GLINTELFramebufferCMAA { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INTEL_framebuffer_CMAA) return; - ext.glApplyFramebufferAttachmentCMAAINTEL = load.invoke("glApplyFramebufferAttachmentCMAAINTEL", ofVoid()); - } - - public static void glApplyFramebufferAttachmentCMAAINTEL() { - final var ext = getExtCapabilities(); - try { - check(ext.glApplyFramebufferAttachmentCMAAINTEL).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLINTELFramebufferCMAA { + void glApplyFramebufferAttachmentCMAAINTEL(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java index f5aab922..3d2c8f21 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java @@ -18,47 +18,19 @@ package overrungl.opengl.ext.intel; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INTEL_map_texture} */ -public final class GLINTELMapTexture { - public static final int GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; - public static final int GL_LAYOUT_DEFAULT_INTEL = 0; - public static final int GL_LAYOUT_LINEAR_INTEL = 1; - public static final int GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INTEL_map_texture) return; - ext.glSyncTextureINTEL = load.invoke("glSyncTextureINTEL", ofVoid(JAVA_INT)); - ext.glUnmapTexture2DINTEL = load.invoke("glUnmapTexture2DINTEL", ofVoid(JAVA_INT, JAVA_INT)); - ext.glMapTexture2DINTEL = load.invoke("glMapTexture2DINTEL", of(ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glSyncTextureINTEL(int texture) { - final var ext = getExtCapabilities(); - try { - check(ext.glSyncTextureINTEL).invokeExact(texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUnmapTexture2DINTEL(int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glUnmapTexture2DINTEL).invokeExact(texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static @NativeType("void*") MemorySegment glMapTexture2DINTEL(int texture, int level, int access, @NativeType("GLint *") MemorySegment stride, @NativeType("GLenum *") MemorySegment layout) { - final var ext = getExtCapabilities(); - try { - return (MemorySegment) - check(ext.glMapTexture2DINTEL).invokeExact(texture, level, access, stride, layout); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLINTELMapTexture { + int GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; + int GL_LAYOUT_DEFAULT_INTEL = 0; + int GL_LAYOUT_LINEAR_INTEL = 1; + int GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; + void glSyncTextureINTEL(int texture); + void glUnmapTexture2DINTEL(int texture, int level); + @NativeType("void*") MemorySegment glMapTexture2DINTEL(int texture, int level, int access, @NativeType("GLint *") MemorySegment stride, @NativeType("GLenum *") MemorySegment layout); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java index bc0965b6..5c68a96c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java @@ -18,55 +18,21 @@ package overrungl.opengl.ext.intel; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INTEL_parallel_arrays} */ -public final class GLINTELParallelArrays { - public static final int GL_PARALLEL_ARRAYS_INTEL = 0x83F4; - public static final int GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; - public static final int GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; - public static final int GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; - public static final int GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INTEL_parallel_arrays) return; - ext.glVertexPointervINTEL = load.invoke("glVertexPointervINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNormalPointervINTEL = load.invoke("glNormalPointervINTEL", ofVoid(JAVA_INT, ADDRESS)); - ext.glColorPointervINTEL = load.invoke("glColorPointervINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexCoordPointervINTEL = load.invoke("glTexCoordPointervINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glVertexPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexPointervINTEL).invokeExact(size, type, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalPointervINTEL(int type, @NativeType("const void **") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalPointervINTEL).invokeExact(type, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorPointervINTEL).invokeExact(size, type, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoordPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoordPointervINTEL).invokeExact(size, type, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLINTELParallelArrays { + int GL_PARALLEL_ARRAYS_INTEL = 0x83F4; + int GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; + int GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; + int GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; + int GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; + + void glVertexPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer); + void glNormalPointervINTEL(int type, @NativeType("const void **") MemorySegment pointer); + void glColorPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer); + void glTexCoordPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java index 2c68714f..4969131e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java @@ -18,118 +18,42 @@ package overrungl.opengl.ext.intel; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_INTEL_performance_query} */ -public final class GLINTELPerformanceQuery { - public static final int GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; - public static final int GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; - public static final int GL_PERFQUERY_WAIT_INTEL = 0x83FB; - public static final int GL_PERFQUERY_FLUSH_INTEL = 0x83FA; - public static final int GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; - public static final int GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; - public static final int GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; - public static final int GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; - public static final int GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; - public static final int GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; - public static final int GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; - public static final int GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; - public static final int GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; - public static final int GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; - public static final int GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; - public static final int GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; - public static final int GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; - public static final int GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; - public static final int GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; - public static final int GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INTEL_performance_query) return; - ext.glBeginPerfQueryINTEL = load.invoke("glBeginPerfQueryINTEL", ofVoid(JAVA_INT)); - ext.glCreatePerfQueryINTEL = load.invoke("glCreatePerfQueryINTEL", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeletePerfQueryINTEL = load.invoke("glDeletePerfQueryINTEL", ofVoid(JAVA_INT)); - ext.glEndPerfQueryINTEL = load.invoke("glEndPerfQueryINTEL", ofVoid(JAVA_INT)); - ext.glGetFirstPerfQueryIdINTEL = load.invoke("glGetFirstPerfQueryIdINTEL", ofVoid(ADDRESS)); - ext.glGetNextPerfQueryIdINTEL = load.invoke("glGetNextPerfQueryIdINTEL", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetPerfCounterInfoINTEL = load.invoke("glGetPerfCounterInfoINTEL", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glGetPerfQueryDataINTEL = load.invoke("glGetPerfQueryDataINTEL", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetPerfQueryIdByNameINTEL = load.invoke("glGetPerfQueryIdByNameINTEL", ofVoid(ADDRESS, ADDRESS)); - ext.glGetPerfQueryInfoINTEL = load.invoke("glGetPerfQueryInfoINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - } - - public static void glBeginPerfQueryINTEL(int queryHandle) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginPerfQueryINTEL).invokeExact(queryHandle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCreatePerfQueryINTEL(int queryId, @NativeType("GLuint *") MemorySegment queryHandle) { - final var ext = getExtCapabilities(); - try { - check(ext.glCreatePerfQueryINTEL).invokeExact(queryId, queryHandle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeletePerfQueryINTEL(int queryHandle) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeletePerfQueryINTEL).invokeExact(queryHandle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndPerfQueryINTEL(int queryHandle) { - final var ext = getExtCapabilities(); - try { - check(ext.glEndPerfQueryINTEL).invokeExact(queryHandle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFirstPerfQueryIdINTEL(@NativeType("GLuint *") MemorySegment queryId) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFirstPerfQueryIdINTEL).invokeExact(queryId); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNextPerfQueryIdINTEL(int queryId, @NativeType("GLuint *") MemorySegment nextQueryId) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNextPerfQueryIdINTEL).invokeExact(queryId, nextQueryId); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfCounterInfoINTEL(int queryId, int counterId, int counterNameLength, @NativeType("GLchar *") MemorySegment counterName, int counterDescLength, @NativeType("GLchar *") MemorySegment counterDesc, @NativeType("GLuint *") MemorySegment counterOffset, @NativeType("GLuint *") MemorySegment counterDataSize, @NativeType("GLuint *") MemorySegment counterTypeEnum, @NativeType("GLuint *") MemorySegment counterDataTypeEnum, @NativeType("GLuint64 *") MemorySegment rawCounterMaxValue) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfCounterInfoINTEL).invokeExact(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfQueryDataINTEL(int queryHandle, int flags, int dataSize, @NativeType("void *") MemorySegment data, @NativeType("GLuint *") MemorySegment bytesWritten) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfQueryDataINTEL).invokeExact(queryHandle, flags, dataSize, data, bytesWritten); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfQueryIdByNameINTEL(@NativeType("GLchar *") MemorySegment queryName, @NativeType("GLuint *") MemorySegment queryId) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfQueryIdByNameINTEL).invokeExact(queryName, queryId); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPerfQueryInfoINTEL(int queryId, int queryNameLength, @NativeType("GLchar *") MemorySegment queryName, @NativeType("GLuint *") MemorySegment dataSize, @NativeType("GLuint *") MemorySegment noCounters, @NativeType("GLuint *") MemorySegment noInstances, @NativeType("GLuint *") MemorySegment capsMask) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPerfQueryInfoINTEL).invokeExact(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLINTELPerformanceQuery { + int GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; + int GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; + int GL_PERFQUERY_WAIT_INTEL = 0x83FB; + int GL_PERFQUERY_FLUSH_INTEL = 0x83FA; + int GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; + int GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; + int GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; + int GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; + int GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; + int GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; + int GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; + int GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; + int GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; + int GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; + int GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; + int GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; + int GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; + int GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; + int GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; + int GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; + + void glBeginPerfQueryINTEL(int queryHandle); + void glCreatePerfQueryINTEL(int queryId, @NativeType("GLuint *") MemorySegment queryHandle); + void glDeletePerfQueryINTEL(int queryHandle); + void glEndPerfQueryINTEL(int queryHandle); + void glGetFirstPerfQueryIdINTEL(@NativeType("GLuint *") MemorySegment queryId); + void glGetNextPerfQueryIdINTEL(int queryId, @NativeType("GLuint *") MemorySegment nextQueryId); + void glGetPerfCounterInfoINTEL(int queryId, int counterId, int counterNameLength, @NativeType("GLchar *") MemorySegment counterName, int counterDescLength, @NativeType("GLchar *") MemorySegment counterDesc, @NativeType("GLuint *") MemorySegment counterOffset, @NativeType("GLuint *") MemorySegment counterDataSize, @NativeType("GLuint *") MemorySegment counterTypeEnum, @NativeType("GLuint *") MemorySegment counterDataTypeEnum, @NativeType("GLuint64 *") MemorySegment rawCounterMaxValue); + void glGetPerfQueryDataINTEL(int queryHandle, int flags, int dataSize, @NativeType("void *") MemorySegment data, @NativeType("GLuint *") MemorySegment bytesWritten); + void glGetPerfQueryIdByNameINTEL(@NativeType("GLchar *") MemorySegment queryName, @NativeType("GLuint *") MemorySegment queryId); + void glGetPerfQueryInfoINTEL(int queryId, int queryNameLength, @NativeType("GLchar *") MemorySegment queryName, @NativeType("GLuint *") MemorySegment dataSize, @NativeType("GLuint *") MemorySegment noCounters, @NativeType("GLuint *") MemorySegment noInstances, @NativeType("GLuint *") MemorySegment capsMask); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java index 3bf60770..add4de7d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java @@ -18,41 +18,28 @@ package overrungl.opengl.ext.khr; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_KHR_blend_equation_advanced} */ -public final class GLKHRBlendEquationAdvanced { - public static final int GL_MULTIPLY_KHR = 0x9294; - public static final int GL_SCREEN_KHR = 0x9295; - public static final int GL_OVERLAY_KHR = 0x9296; - public static final int GL_DARKEN_KHR = 0x9297; - public static final int GL_LIGHTEN_KHR = 0x9298; - public static final int GL_COLORDODGE_KHR = 0x9299; - public static final int GL_COLORBURN_KHR = 0x929A; - public static final int GL_HARDLIGHT_KHR = 0x929B; - public static final int GL_SOFTLIGHT_KHR = 0x929C; - public static final int GL_DIFFERENCE_KHR = 0x929E; - public static final int GL_EXCLUSION_KHR = 0x92A0; - public static final int GL_HSL_HUE_KHR = 0x92AD; - public static final int GL_HSL_SATURATION_KHR = 0x92AE; - public static final int GL_HSL_COLOR_KHR = 0x92AF; - public static final int GL_HSL_LUMINOSITY_KHR = 0x92B0; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_KHR_blend_equation_advanced) return; - ext.glBlendBarrierKHR = load.invoke("glBlendBarrierKHR", ofVoid()); - } - - public static void glBlendBarrierKHR() { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendBarrierKHR).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLKHRBlendEquationAdvanced { + int GL_MULTIPLY_KHR = 0x9294; + int GL_SCREEN_KHR = 0x9295; + int GL_OVERLAY_KHR = 0x9296; + int GL_DARKEN_KHR = 0x9297; + int GL_LIGHTEN_KHR = 0x9298; + int GL_COLORDODGE_KHR = 0x9299; + int GL_COLORBURN_KHR = 0x929A; + int GL_HARDLIGHT_KHR = 0x929B; + int GL_SOFTLIGHT_KHR = 0x929C; + int GL_DIFFERENCE_KHR = 0x929E; + int GL_EXCLUSION_KHR = 0x92A0; + int GL_HSL_HUE_KHR = 0x92AD; + int GL_HSL_SATURATION_KHR = 0x92AE; + int GL_HSL_COLOR_KHR = 0x92AF; + int GL_HSL_LUMINOSITY_KHR = 0x92B0; + void glBlendBarrierKHR(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java index 538c6a6d..50b60c8c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.khr; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_KHR_blend_equation_advanced_coherent} */ -public final class GLKHRBlendEquationAdvancedCoherent { - public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285; +public interface GLKHRBlendEquationAdvancedCoherent { + int GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java index a5fcb12d..4d0d739d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.khr; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_KHR_no_error} */ -public final class GLKHRNoError { - public static final int GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; +public interface GLKHRNoError { + int GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java index bbe7b1fa..7cfdba03 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.khr; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_KHR_parallel_shader_compile} */ -public final class GLKHRParallelShaderCompile { - public static final int GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; - public static final int GL_COMPLETION_STATUS_KHR = 0x91B1; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_KHR_parallel_shader_compile) return; - ext.glMaxShaderCompilerThreadsKHR = load.invoke("glMaxShaderCompilerThreadsKHR", ofVoid(JAVA_INT)); - } - - public static void glMaxShaderCompilerThreadsKHR(int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glMaxShaderCompilerThreadsKHR).invokeExact(count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLKHRParallelShaderCompile { + int GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; + int GL_COMPLETION_STATUS_KHR = 0x91B1; + void glMaxShaderCompilerThreadsKHR(int count); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java index 40713187..07021658 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.khr; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_KHR_robustness} */ -public final class GLKHRRobustness { - public static final int GL_CONTEXT_ROBUST_ACCESS = 0x90F3; +public interface GLKHRRobustness { + int GL_CONTEXT_ROBUST_ACCESS = 0x90F3; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java index 14c62d3e..1ce7670d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java @@ -18,26 +18,23 @@ package overrungl.opengl.ext.khr; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_KHR_shader_subgroup} */ -public final class GLKHRShaderSubgroup { - public static final int GL_SUBGROUP_SIZE_KHR = 0x9532; - public static final int GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; - public static final int GL_SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534; - public static final int GL_SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535; - public static final int GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001; - public static final int GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002; - public static final int GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004; - public static final int GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008; - public static final int GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010; - public static final int GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020; - public static final int GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040; - public static final int GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080; +public interface GLKHRShaderSubgroup { + int GL_SUBGROUP_SIZE_KHR = 0x9532; + int GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; + int GL_SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534; + int GL_SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535; + int GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001; + int GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002; + int GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004; + int GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008; + int GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010; + int GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020; + int GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040; + int GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java index f5b77d63..25ca91bb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java @@ -18,42 +18,39 @@ package overrungl.opengl.ext.khr; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_KHR_texture_compression_astc_hdr} */ -public final class GLKHRTextureCompressionAstcHdr { - public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; - public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; - public static final int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; - public static final int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; - public static final int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; - public static final int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; - public static final int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; - public static final int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; - public static final int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; - public static final int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; - public static final int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; - public static final int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; - public static final int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; - public static final int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; +public interface GLKHRTextureCompressionAstcHdr { + int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; + int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; + int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; + int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; + int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; + int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; + int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; + int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; + int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; + int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; + int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; + int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; + int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; + int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; + int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java index 90f63a3c..82e26d1f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_framebuffer_flip_x} */ -public final class GLMESAFramebufferFlipX { - public static final int GL_FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; +public interface GLMESAFramebufferFlipX { + int GL_FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java index d8508292..c8746120 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java @@ -18,35 +18,15 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_framebuffer_flip_y} */ -public final class GLMESAFramebufferFlipY { - public static final int GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_MESA_framebuffer_flip_y) return; - ext.glFramebufferParameteriMESA = load.invoke("glFramebufferParameteriMESA", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetFramebufferParameterivMESA = load.invoke("glGetFramebufferParameterivMESA", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glFramebufferParameteriMESA(int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferParameteriMESA).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFramebufferParameterivMESA(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFramebufferParameterivMESA).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLMESAFramebufferFlipY { + int GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; + void glFramebufferParameteriMESA(int target, int pname, int param); + void glGetFramebufferParameterivMESA(int target, int pname, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java index d28d6cee..3d253c20 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_framebuffer_swap_xy} */ -public final class GLMESAFramebufferSwapXY { - public static final int GL_FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; +public interface GLMESAFramebufferSwapXY { + int GL_FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java index c3681b87..28bd2288 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_pack_invert} */ -public final class GLMESAPackInvert { - public static final int GL_PACK_INVERT_MESA = 0x8758; +public interface GLMESAPackInvert { + int GL_PACK_INVERT_MESA = 0x8758; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java index f4174332..e14e4299 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_program_binary_formats} */ -public final class GLMESAProgramBinaryFormats { - public static final int GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F; +public interface GLMESAProgramBinaryFormats { + int GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java index f036b4da..2ebb3779 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_resize_buffers} */ -public final class GLMESAResizeBuffers { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_MESA_resize_buffers) return; - ext.glResizeBuffersMESA = load.invoke("glResizeBuffersMESA", ofVoid()); - } - - public static void glResizeBuffersMESA() { - final var ext = getExtCapabilities(); - try { - check(ext.glResizeBuffersMESA).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLMESAResizeBuffers { + void glResizeBuffersMESA(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java index 1b0308fc..570a77af 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_tile_raster_order} */ -public final class GLMESATileRasterOrder { - public static final int GL_TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; - public static final int GL_TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; - public static final int GL_TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA; +public interface GLMESATileRasterOrder { + int GL_TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; + int GL_TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; + int GL_TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java index aa1e4b21..0054aa7a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java @@ -18,210 +18,36 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_window_pos} */ -public final class GLMESAWindowPos { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_MESA_window_pos) return; - ext.glWindowPos2dMESA = load.invoke("glWindowPos2dMESA", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glWindowPos2dvMESA = load.invoke("glWindowPos2dvMESA", ofVoid(ADDRESS)); - ext.glWindowPos2fMESA = load.invoke("glWindowPos2fMESA", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); - ext.glWindowPos2fvMESA = load.invoke("glWindowPos2fvMESA", ofVoid(ADDRESS)); - ext.glWindowPos2iMESA = load.invoke("glWindowPos2iMESA", ofVoid(JAVA_INT, JAVA_INT)); - ext.glWindowPos2ivMESA = load.invoke("glWindowPos2ivMESA", ofVoid(ADDRESS)); - ext.glWindowPos2sMESA = load.invoke("glWindowPos2sMESA", ofVoid(JAVA_SHORT, JAVA_SHORT)); - ext.glWindowPos2svMESA = load.invoke("glWindowPos2svMESA", ofVoid(ADDRESS)); - ext.glWindowPos3dMESA = load.invoke("glWindowPos3dMESA", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glWindowPos3dvMESA = load.invoke("glWindowPos3dvMESA", ofVoid(ADDRESS)); - ext.glWindowPos3fMESA = load.invoke("glWindowPos3fMESA", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glWindowPos3fvMESA = load.invoke("glWindowPos3fvMESA", ofVoid(ADDRESS)); - ext.glWindowPos3iMESA = load.invoke("glWindowPos3iMESA", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glWindowPos3ivMESA = load.invoke("glWindowPos3ivMESA", ofVoid(ADDRESS)); - ext.glWindowPos3sMESA = load.invoke("glWindowPos3sMESA", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glWindowPos3svMESA = load.invoke("glWindowPos3svMESA", ofVoid(ADDRESS)); - ext.glWindowPos4dMESA = load.invoke("glWindowPos4dMESA", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glWindowPos4dvMESA = load.invoke("glWindowPos4dvMESA", ofVoid(ADDRESS)); - ext.glWindowPos4fMESA = load.invoke("glWindowPos4fMESA", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glWindowPos4fvMESA = load.invoke("glWindowPos4fvMESA", ofVoid(ADDRESS)); - ext.glWindowPos4iMESA = load.invoke("glWindowPos4iMESA", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glWindowPos4ivMESA = load.invoke("glWindowPos4ivMESA", ofVoid(ADDRESS)); - ext.glWindowPos4sMESA = load.invoke("glWindowPos4sMESA", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glWindowPos4svMESA = load.invoke("glWindowPos4svMESA", ofVoid(ADDRESS)); - } - - public static void glWindowPos2dMESA(double x, double y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2dMESA).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2dvMESA(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2dvMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2fMESA(float x, float y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2fMESA).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2fvMESA(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2fvMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2iMESA(int x, int y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2iMESA).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2ivMESA(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2ivMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2sMESA(short x, short y) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2sMESA).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos2svMESA(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos2svMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3dMESA(double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3dMESA).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3dvMESA(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3dvMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3fMESA(float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3fMESA).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3fvMESA(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3fvMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3iMESA(int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3iMESA).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3ivMESA(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3ivMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3sMESA(short x, short y, short z) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3sMESA).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos3svMESA(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos3svMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4dMESA(double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4dMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4dvMESA(@NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4dvMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4fMESA(float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4fMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4fvMESA(@NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4fvMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4iMESA(int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4iMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4ivMESA(@NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4ivMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4sMESA(short x, short y, short z, short w) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4sMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWindowPos4svMESA(@NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glWindowPos4svMESA).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLMESAWindowPos { + + void glWindowPos2dMESA(double x, double y); + void glWindowPos2dvMESA(@NativeType("const GLdouble *") MemorySegment v); + void glWindowPos2fMESA(float x, float y); + void glWindowPos2fvMESA(@NativeType("const GLfloat *") MemorySegment v); + void glWindowPos2iMESA(int x, int y); + void glWindowPos2ivMESA(@NativeType("const GLint *") MemorySegment v); + void glWindowPos2sMESA(short x, short y); + void glWindowPos2svMESA(@NativeType("const GLshort *") MemorySegment v); + void glWindowPos3dMESA(double x, double y, double z); + void glWindowPos3dvMESA(@NativeType("const GLdouble *") MemorySegment v); + void glWindowPos3fMESA(float x, float y, float z); + void glWindowPos3fvMESA(@NativeType("const GLfloat *") MemorySegment v); + void glWindowPos3iMESA(int x, int y, int z); + void glWindowPos3ivMESA(@NativeType("const GLint *") MemorySegment v); + void glWindowPos3sMESA(short x, short y, short z); + void glWindowPos3svMESA(@NativeType("const GLshort *") MemorySegment v); + void glWindowPos4dMESA(double x, double y, double z, double w); + void glWindowPos4dvMESA(@NativeType("const GLdouble *") MemorySegment v); + void glWindowPos4fMESA(float x, float y, float z, float w); + void glWindowPos4fvMESA(@NativeType("const GLfloat *") MemorySegment v); + void glWindowPos4iMESA(int x, int y, int z, int w); + void glWindowPos4ivMESA(@NativeType("const GLint *") MemorySegment v); + void glWindowPos4sMESA(short x, short y, short z, short w); + void glWindowPos4svMESA(@NativeType("const GLshort *") MemorySegment v); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java index c42d2b31..caa0c7cd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java @@ -18,20 +18,17 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESAX_texture_stack} */ -public final class GLMESAXTextureStack { - public static final int GL_TEXTURE_1D_STACK_MESAX = 0x8759; - public static final int GL_TEXTURE_2D_STACK_MESAX = 0x875A; - public static final int GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; - public static final int GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; - public static final int GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; - public static final int GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; +public interface GLMESAXTextureStack { + int GL_TEXTURE_1D_STACK_MESAX = 0x8759; + int GL_TEXTURE_2D_STACK_MESAX = 0x875A; + int GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; + int GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; + int GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; + int GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java index 8ea9bfad..465e032e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.mesa; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_MESA_ycbcr_texture} */ -public final class GLMESAYcbcrTexture { - public static final int GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA; - public static final int GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; - public static final int GL_YCBCR_MESA = 0x8757; +public interface GLMESAYcbcrTexture { + int GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA; + int GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; + int GL_YCBCR_MESA = 0x8757; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java index 02b9e996..5eb1bfbe 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_alpha_to_coverage_dither_control} */ -public final class GLNVAlphaToCoverageDitherControl { - public static final int GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D; - public static final int GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E; - public static final int GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F; - public static final int GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_alpha_to_coverage_dither_control) return; - ext.glAlphaToCoverageDitherControlNV = load.invoke("glAlphaToCoverageDitherControlNV", ofVoid(JAVA_INT)); - } - - public static void glAlphaToCoverageDitherControlNV(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glAlphaToCoverageDitherControlNV).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVAlphaToCoverageDitherControl { + int GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D; + int GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E; + int GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F; + int GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF; + void glAlphaToCoverageDitherControlNV(int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java index 22530da7..57d3f81f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_bindless_multi_draw_indirect} */ -public final class GLNVBindlessMultiDrawIndirect { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_bindless_multi_draw_indirect) return; - ext.glMultiDrawArraysIndirectBindlessNV = load.invoke("glMultiDrawArraysIndirectBindlessNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiDrawElementsIndirectBindlessNV = load.invoke("glMultiDrawElementsIndirectBindlessNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glMultiDrawArraysIndirectBindlessNV(int mode, @NativeType("const void *") MemorySegment indirect, int drawCount, int stride, int vertexBufferCount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawArraysIndirectBindlessNV).invokeExact(mode, indirect, drawCount, stride, vertexBufferCount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawElementsIndirectBindlessNV(int mode, int type, @NativeType("const void *") MemorySegment indirect, int drawCount, int stride, int vertexBufferCount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawElementsIndirectBindlessNV).invokeExact(mode, type, indirect, drawCount, stride, vertexBufferCount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVBindlessMultiDrawIndirect { + void glMultiDrawArraysIndirectBindlessNV(int mode, @NativeType("const void *") MemorySegment indirect, int drawCount, int stride, int vertexBufferCount); + void glMultiDrawElementsIndirectBindlessNV(int mode, int type, @NativeType("const void *") MemorySegment indirect, int drawCount, int stride, int vertexBufferCount); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java index 9dd1a783..b5d3970d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_bindless_multi_draw_indirect_count} */ -public final class GLNVBindlessMultiDrawIndirectCount { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_bindless_multi_draw_indirect_count) return; - ext.glMultiDrawArraysIndirectBindlessCountNV = load.invoke("glMultiDrawArraysIndirectBindlessCountNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiDrawElementsIndirectBindlessCountNV = load.invoke("glMultiDrawElementsIndirectBindlessCountNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glMultiDrawArraysIndirectBindlessCountNV(int mode, @NativeType("const void *") MemorySegment indirect, int drawCount, int maxDrawCount, int stride, int vertexBufferCount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawArraysIndirectBindlessCountNV).invokeExact(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawElementsIndirectBindlessCountNV(int mode, int type, @NativeType("const void *") MemorySegment indirect, int drawCount, int maxDrawCount, int stride, int vertexBufferCount) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawElementsIndirectBindlessCountNV).invokeExact(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVBindlessMultiDrawIndirectCount { + void glMultiDrawArraysIndirectBindlessCountNV(int mode, @NativeType("const void *") MemorySegment indirect, int drawCount, int maxDrawCount, int stride, int vertexBufferCount); + void glMultiDrawElementsIndirectBindlessCountNV(int mode, int type, @NativeType("const void *") MemorySegment indirect, int drawCount, int maxDrawCount, int stride, int vertexBufferCount); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java index e43b91d3..f2a86ac7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java @@ -18,127 +18,25 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_bindless_texture} */ -public final class GLNVBindlessTexture { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_bindless_texture) return; - ext.glGetTextureHandleNV = load.invoke("glGetTextureHandleNV", of(JAVA_LONG, JAVA_INT)); - ext.glGetTextureSamplerHandleNV = load.invoke("glGetTextureSamplerHandleNV", of(JAVA_LONG, JAVA_INT, JAVA_INT)); - ext.glMakeTextureHandleResidentNV = load.invoke("glMakeTextureHandleResidentNV", ofVoid(JAVA_LONG)); - ext.glMakeTextureHandleNonResidentNV = load.invoke("glMakeTextureHandleNonResidentNV", ofVoid(JAVA_LONG)); - ext.glGetImageHandleNV = load.invoke("glGetImageHandleNV", of(JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT)); - ext.glMakeImageHandleResidentNV = load.invoke("glMakeImageHandleResidentNV", ofVoid(JAVA_LONG, JAVA_INT)); - ext.glMakeImageHandleNonResidentNV = load.invoke("glMakeImageHandleNonResidentNV", ofVoid(JAVA_LONG)); - ext.glUniformHandleui64NV = load.invoke("glUniformHandleui64NV", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glUniformHandleui64vNV = load.invoke("glUniformHandleui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniformHandleui64NV = load.invoke("glProgramUniformHandleui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glProgramUniformHandleui64vNV = load.invoke("glProgramUniformHandleui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glIsTextureHandleResidentNV = load.invoke("glIsTextureHandleResidentNV", of(JAVA_BYTE, JAVA_LONG)); - ext.glIsImageHandleResidentNV = load.invoke("glIsImageHandleResidentNV", of(JAVA_BYTE, JAVA_LONG)); - } - - public static long glGetTextureHandleNV(int texture) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glGetTextureHandleNV).invokeExact(texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static long glGetTextureSamplerHandleNV(int texture, int sampler) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glGetTextureSamplerHandleNV).invokeExact(texture, sampler); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeTextureHandleResidentNV(long handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeTextureHandleResidentNV).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeTextureHandleNonResidentNV(long handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeTextureHandleNonResidentNV).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static long glGetImageHandleNV(int texture, int level, boolean layered, int layer, int format) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glGetImageHandleNV).invokeExact(texture, level, layered, layer, format); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeImageHandleResidentNV(long handle, int access) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeImageHandleResidentNV).invokeExact(handle, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeImageHandleNonResidentNV(long handle) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeImageHandleNonResidentNV).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformHandleui64NV(int location, long value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformHandleui64NV).invokeExact(location, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformHandleui64vNV(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformHandleui64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformHandleui64NV(int program, int location, long value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformHandleui64NV).invokeExact(program, location, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformHandleui64vNV(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformHandleui64vNV).invokeExact(program, location, count, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsTextureHandleResidentNV(long handle) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsTextureHandleResidentNV).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsImageHandleResidentNV(long handle) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsImageHandleResidentNV).invokeExact(handle); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVBindlessTexture { + + long glGetTextureHandleNV(int texture); + long glGetTextureSamplerHandleNV(int texture, int sampler); + void glMakeTextureHandleResidentNV(long handle); + void glMakeTextureHandleNonResidentNV(long handle); + long glGetImageHandleNV(int texture, int level, boolean layered, int layer, int format); + void glMakeImageHandleResidentNV(long handle, int access); + void glMakeImageHandleNonResidentNV(long handle); + void glUniformHandleui64NV(int location, long value); + void glUniformHandleui64vNV(int location, int count, @NativeType("const GLuint64 *") MemorySegment value); + void glProgramUniformHandleui64NV(int program, int location, long value); + void glProgramUniformHandleui64vNV(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment values); + boolean glIsTextureHandleResidentNV(long handle); + boolean glIsImageHandleResidentNV(long handle); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java index 4e0e6cd8..765dd62f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java @@ -18,83 +18,63 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_blend_equation_advanced} */ -public final class GLNVBlendEquationAdvanced { - public static final int GL_BLEND_OVERLAP_NV = 0x9281; - public static final int GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280; - public static final int GL_BLUE_NV = 0x1905; - public static final int GL_COLORBURN_NV = 0x929A; - public static final int GL_COLORDODGE_NV = 0x9299; - public static final int GL_CONJOINT_NV = 0x9284; - public static final int GL_CONTRAST_NV = 0x92A1; - public static final int GL_DARKEN_NV = 0x9297; - public static final int GL_DIFFERENCE_NV = 0x929E; - public static final int GL_DISJOINT_NV = 0x9283; - public static final int GL_DST_ATOP_NV = 0x928F; - public static final int GL_DST_IN_NV = 0x928B; - public static final int GL_DST_NV = 0x9287; - public static final int GL_DST_OUT_NV = 0x928D; - public static final int GL_DST_OVER_NV = 0x9289; - public static final int GL_EXCLUSION_NV = 0x92A0; - public static final int GL_GREEN_NV = 0x1904; - public static final int GL_HARDLIGHT_NV = 0x929B; - public static final int GL_HARDMIX_NV = 0x92A9; - public static final int GL_HSL_COLOR_NV = 0x92AF; - public static final int GL_HSL_HUE_NV = 0x92AD; - public static final int GL_HSL_LUMINOSITY_NV = 0x92B0; - public static final int GL_HSL_SATURATION_NV = 0x92AE; - public static final int GL_INVERT_OVG_NV = 0x92B4; - public static final int GL_INVERT_RGB_NV = 0x92A3; - public static final int GL_LIGHTEN_NV = 0x9298; - public static final int GL_LINEARBURN_NV = 0x92A5; - public static final int GL_LINEARDODGE_NV = 0x92A4; - public static final int GL_LINEARLIGHT_NV = 0x92A7; - public static final int GL_MINUS_CLAMPED_NV = 0x92B3; - public static final int GL_MINUS_NV = 0x929F; - public static final int GL_MULTIPLY_NV = 0x9294; - public static final int GL_OVERLAY_NV = 0x9296; - public static final int GL_PINLIGHT_NV = 0x92A8; - public static final int GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2; - public static final int GL_PLUS_CLAMPED_NV = 0x92B1; - public static final int GL_PLUS_DARKER_NV = 0x9292; - public static final int GL_PLUS_NV = 0x9291; - public static final int GL_RED_NV = 0x1903; - public static final int GL_SCREEN_NV = 0x9295; - public static final int GL_SOFTLIGHT_NV = 0x929C; - public static final int GL_SRC_ATOP_NV = 0x928E; - public static final int GL_SRC_IN_NV = 0x928A; - public static final int GL_SRC_NV = 0x9286; - public static final int GL_SRC_OUT_NV = 0x928C; - public static final int GL_SRC_OVER_NV = 0x9288; - public static final int GL_UNCORRELATED_NV = 0x9282; - public static final int GL_VIVIDLIGHT_NV = 0x92A6; - public static final int GL_XOR_NV = 0x1506; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_blend_equation_advanced) return; - ext.glBlendParameteriNV = load.invoke("glBlendParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glBlendBarrierNV = load.invoke("glBlendBarrierNV", ofVoid()); - } - - public static void glBlendParameteriNV(int pname, int value) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendParameteriNV).invokeExact(pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendBarrierNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendBarrierNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVBlendEquationAdvanced { + int GL_BLEND_OVERLAP_NV = 0x9281; + int GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280; + int GL_BLUE_NV = 0x1905; + int GL_COLORBURN_NV = 0x929A; + int GL_COLORDODGE_NV = 0x9299; + int GL_CONJOINT_NV = 0x9284; + int GL_CONTRAST_NV = 0x92A1; + int GL_DARKEN_NV = 0x9297; + int GL_DIFFERENCE_NV = 0x929E; + int GL_DISJOINT_NV = 0x9283; + int GL_DST_ATOP_NV = 0x928F; + int GL_DST_IN_NV = 0x928B; + int GL_DST_NV = 0x9287; + int GL_DST_OUT_NV = 0x928D; + int GL_DST_OVER_NV = 0x9289; + int GL_EXCLUSION_NV = 0x92A0; + int GL_GREEN_NV = 0x1904; + int GL_HARDLIGHT_NV = 0x929B; + int GL_HARDMIX_NV = 0x92A9; + int GL_HSL_COLOR_NV = 0x92AF; + int GL_HSL_HUE_NV = 0x92AD; + int GL_HSL_LUMINOSITY_NV = 0x92B0; + int GL_HSL_SATURATION_NV = 0x92AE; + int GL_INVERT_OVG_NV = 0x92B4; + int GL_INVERT_RGB_NV = 0x92A3; + int GL_LIGHTEN_NV = 0x9298; + int GL_LINEARBURN_NV = 0x92A5; + int GL_LINEARDODGE_NV = 0x92A4; + int GL_LINEARLIGHT_NV = 0x92A7; + int GL_MINUS_CLAMPED_NV = 0x92B3; + int GL_MINUS_NV = 0x929F; + int GL_MULTIPLY_NV = 0x9294; + int GL_OVERLAY_NV = 0x9296; + int GL_PINLIGHT_NV = 0x92A8; + int GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2; + int GL_PLUS_CLAMPED_NV = 0x92B1; + int GL_PLUS_DARKER_NV = 0x9292; + int GL_PLUS_NV = 0x9291; + int GL_RED_NV = 0x1903; + int GL_SCREEN_NV = 0x9295; + int GL_SOFTLIGHT_NV = 0x929C; + int GL_SRC_ATOP_NV = 0x928E; + int GL_SRC_IN_NV = 0x928A; + int GL_SRC_NV = 0x9286; + int GL_SRC_OUT_NV = 0x928C; + int GL_SRC_OVER_NV = 0x9288; + int GL_UNCORRELATED_NV = 0x9282; + int GL_VIVIDLIGHT_NV = 0x92A6; + int GL_XOR_NV = 0x1506; + void glBlendParameteriNV(int pname, int value); + void glBlendBarrierNV(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java index 64ac7dc0..8a3f6ae8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_blend_equation_advanced_coherent} */ -public final class GLNVBlendEquationAdvancedCoherent { - public static final int GL_BLEND_ADVANCED_COHERENT_NV = 0x9285; +public interface GLNVBlendEquationAdvancedCoherent { + int GL_BLEND_ADVANCED_COHERENT_NV = 0x9285; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java index 83bb883a..4e6a8874 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_clip_space_w_scaling} */ -public final class GLNVClipSpaceWScaling { - public static final int GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937C; - public static final int GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; - public static final int GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_clip_space_w_scaling) return; - ext.glViewportPositionWScaleNV = load.invoke("glViewportPositionWScaleNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - } - - public static void glViewportPositionWScaleNV(int index, float xcoeff, float ycoeff) { - final var ext = getExtCapabilities(); - try { - check(ext.glViewportPositionWScaleNV).invokeExact(index, xcoeff, ycoeff); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVClipSpaceWScaling { + int GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937C; + int GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; + int GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; + void glViewportPositionWScaleNV(int index, float xcoeff, float ycoeff); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java index dc5d4a76..6ed4392f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java @@ -18,177 +18,48 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_command_list} */ -public final class GLNVCommandList { - public static final int GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; - public static final int GL_NOP_COMMAND_NV = 0x0001; - public static final int GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002; - public static final int GL_DRAW_ARRAYS_COMMAND_NV = 0x0003; - public static final int GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; - public static final int GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; - public static final int GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; - public static final int GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; - public static final int GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008; - public static final int GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; - public static final int GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000A; - public static final int GL_BLEND_COLOR_COMMAND_NV = 0x000B; - public static final int GL_STENCIL_REF_COMMAND_NV = 0x000C; - public static final int GL_LINE_WIDTH_COMMAND_NV = 0x000D; - public static final int GL_POLYGON_OFFSET_COMMAND_NV = 0x000E; - public static final int GL_ALPHA_REF_COMMAND_NV = 0x000F; - public static final int GL_VIEWPORT_COMMAND_NV = 0x0010; - public static final int GL_SCISSOR_COMMAND_NV = 0x0011; - public static final int GL_FRONT_FACE_COMMAND_NV = 0x0012; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_command_list) return; - ext.glCreateStatesNV = load.invoke("glCreateStatesNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeleteStatesNV = load.invoke("glDeleteStatesNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsStateNV = load.invoke("glIsStateNV", of(JAVA_BYTE, JAVA_INT)); - ext.glStateCaptureNV = load.invoke("glStateCaptureNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glGetCommandHeaderNV = load.invoke("glGetCommandHeaderNV", of(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetStageIndexNV = load.invoke("glGetStageIndexNV", of(JAVA_SHORT, JAVA_INT)); - ext.glDrawCommandsNV = load.invoke("glDrawCommandsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); - ext.glDrawCommandsAddressNV = load.invoke("glDrawCommandsAddressNV", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); - ext.glDrawCommandsStatesNV = load.invoke("glDrawCommandsStatesNV", ofVoid(JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); - ext.glDrawCommandsStatesAddressNV = load.invoke("glDrawCommandsStatesAddressNV", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); - ext.glCreateCommandListsNV = load.invoke("glCreateCommandListsNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeleteCommandListsNV = load.invoke("glDeleteCommandListsNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsCommandListNV = load.invoke("glIsCommandListNV", of(JAVA_BYTE, JAVA_INT)); - ext.glListDrawCommandsStatesClientNV = load.invoke("glListDrawCommandsStatesClientNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); - ext.glCommandListSegmentsNV = load.invoke("glCommandListSegmentsNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glCompileCommandListNV = load.invoke("glCompileCommandListNV", ofVoid(JAVA_INT)); - ext.glCallCommandListNV = load.invoke("glCallCommandListNV", ofVoid(JAVA_INT)); - } - - public static void glCreateStatesNV(int n, @NativeType("GLuint *") MemorySegment states) { - final var ext = getExtCapabilities(); - try { - check(ext.glCreateStatesNV).invokeExact(n, states); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteStatesNV(int n, @NativeType("const GLuint *") MemorySegment states) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteStatesNV).invokeExact(n, states); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsStateNV(int state) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsStateNV).invokeExact(state); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStateCaptureNV(int state, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glStateCaptureNV).invokeExact(state, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGetCommandHeaderNV(int tokenID, int size) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetCommandHeaderNV).invokeExact(tokenID, size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static short glGetStageIndexNV(int shadertype) { - final var ext = getExtCapabilities(); - try { - return (short) - check(ext.glGetStageIndexNV).invokeExact(shadertype); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawCommandsNV(int primitiveMode, int buffer, @NativeType("const GLintptr *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawCommandsNV).invokeExact(primitiveMode, buffer, indirects, sizes, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawCommandsAddressNV(int primitiveMode, @NativeType("const GLuint64 *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawCommandsAddressNV).invokeExact(primitiveMode, indirects, sizes, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawCommandsStatesNV(int buffer, @NativeType("const GLintptr *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawCommandsStatesNV).invokeExact(buffer, indirects, sizes, states, fbos, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawCommandsStatesAddressNV(@NativeType("const GLuint64 *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawCommandsStatesAddressNV).invokeExact(indirects, sizes, states, fbos, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCreateCommandListsNV(int n, @NativeType("GLuint *") MemorySegment lists) { - final var ext = getExtCapabilities(); - try { - check(ext.glCreateCommandListsNV).invokeExact(n, lists); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteCommandListsNV(int n, @NativeType("const GLuint *") MemorySegment lists) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteCommandListsNV).invokeExact(n, lists); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsCommandListNV(int list) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsCommandListNV).invokeExact(list); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glListDrawCommandsStatesClientNV(int list, int segment, @NativeType("const void **") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glListDrawCommandsStatesClientNV).invokeExact(list, segment, indirects, sizes, states, fbos, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCommandListSegmentsNV(int list, int segments) { - final var ext = getExtCapabilities(); - try { - check(ext.glCommandListSegmentsNV).invokeExact(list, segments); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCompileCommandListNV(int list) { - final var ext = getExtCapabilities(); - try { - check(ext.glCompileCommandListNV).invokeExact(list); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCallCommandListNV(int list) { - final var ext = getExtCapabilities(); - try { - check(ext.glCallCommandListNV).invokeExact(list); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVCommandList { + int GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; + int GL_NOP_COMMAND_NV = 0x0001; + int GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002; + int GL_DRAW_ARRAYS_COMMAND_NV = 0x0003; + int GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; + int GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; + int GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; + int GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; + int GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008; + int GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; + int GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000A; + int GL_BLEND_COLOR_COMMAND_NV = 0x000B; + int GL_STENCIL_REF_COMMAND_NV = 0x000C; + int GL_LINE_WIDTH_COMMAND_NV = 0x000D; + int GL_POLYGON_OFFSET_COMMAND_NV = 0x000E; + int GL_ALPHA_REF_COMMAND_NV = 0x000F; + int GL_VIEWPORT_COMMAND_NV = 0x0010; + int GL_SCISSOR_COMMAND_NV = 0x0011; + int GL_FRONT_FACE_COMMAND_NV = 0x0012; + + void glCreateStatesNV(int n, @NativeType("GLuint *") MemorySegment states); + void glDeleteStatesNV(int n, @NativeType("const GLuint *") MemorySegment states); + boolean glIsStateNV(int state); + void glStateCaptureNV(int state, int mode); + int glGetCommandHeaderNV(int tokenID, int size); + short glGetStageIndexNV(int shadertype); + void glDrawCommandsNV(int primitiveMode, int buffer, @NativeType("const GLintptr *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, int count); + void glDrawCommandsAddressNV(int primitiveMode, @NativeType("const GLuint64 *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, int count); + void glDrawCommandsStatesNV(int buffer, @NativeType("const GLintptr *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count); + void glDrawCommandsStatesAddressNV(@NativeType("const GLuint64 *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count); + void glCreateCommandListsNV(int n, @NativeType("GLuint *") MemorySegment lists); + void glDeleteCommandListsNV(int n, @NativeType("const GLuint *") MemorySegment lists); + boolean glIsCommandListNV(int list); + void glListDrawCommandsStatesClientNV(int list, int segment, @NativeType("const void **") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count); + void glCommandListSegmentsNV(int list, int segments); + void glCompileCommandListNV(int list); + void glCallCommandListNV(int list); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java index f7f3cee8..20d43a9f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_compute_program5} */ -public final class GLNVComputeProgram5 { - public static final int GL_COMPUTE_PROGRAM_NV = 0x90FB; - public static final int GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; +public interface GLNVComputeProgram5 { + int GL_COMPUTE_PROGRAM_NV = 0x90FB; + int GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java index dde4d1bb..cac6f49b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java @@ -18,38 +18,18 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_conditional_render} */ -public final class GLNVConditionalRender { - public static final int GL_QUERY_WAIT_NV = 0x8E13; - public static final int GL_QUERY_NO_WAIT_NV = 0x8E14; - public static final int GL_QUERY_BY_REGION_WAIT_NV = 0x8E15; - public static final int GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_conditional_render) return; - ext.glBeginConditionalRenderNV = load.invoke("glBeginConditionalRenderNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glEndConditionalRenderNV = load.invoke("glEndConditionalRenderNV", ofVoid()); - } - - public static void glBeginConditionalRenderNV(int id, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginConditionalRenderNV).invokeExact(id, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndConditionalRenderNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glEndConditionalRenderNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVConditionalRender { + int GL_QUERY_WAIT_NV = 0x8E13; + int GL_QUERY_NO_WAIT_NV = 0x8E14; + int GL_QUERY_BY_REGION_WAIT_NV = 0x8E15; + int GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; + void glBeginConditionalRenderNV(int id, int mode); + void glEndConditionalRenderNV(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java index f25dc09b..53bf25bf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_conservative_raster} */ -public final class GLNVConservativeRaster { - public static final int GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346; - public static final int GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; - public static final int GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; - public static final int GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_conservative_raster) return; - ext.glSubpixelPrecisionBiasNV = load.invoke("glSubpixelPrecisionBiasNV", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glSubpixelPrecisionBiasNV(int xbits, int ybits) { - final var ext = getExtCapabilities(); - try { - check(ext.glSubpixelPrecisionBiasNV).invokeExact(xbits, ybits); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVConservativeRaster { + int GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346; + int GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; + int GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; + int GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; + void glSubpixelPrecisionBiasNV(int xbits, int ybits); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java index 93f71105..428170a4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_conservative_raster_dilate} */ -public final class GLNVConservativeRasterDilate { - public static final int GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379; - public static final int GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; - public static final int GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_conservative_raster_dilate) return; - ext.glConservativeRasterParameterfNV = load.invoke("glConservativeRasterParameterfNV", ofVoid(JAVA_INT, JAVA_FLOAT)); - } - - public static void glConservativeRasterParameterfNV(int pname, float value) { - final var ext = getExtCapabilities(); - try { - check(ext.glConservativeRasterParameterfNV).invokeExact(pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVConservativeRasterDilate { + int GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379; + int GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; + int GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; + void glConservativeRasterParameterfNV(int pname, float value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java index 980c8a26..40f07c7a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_conservative_raster_pre_snap} */ -public final class GLNVConservativeRasterPreSnap { - public static final int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550; +public interface GLNVConservativeRasterPreSnap { + int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java index 8a24e828..7ee84326 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_conservative_raster_pre_snap_triangles} */ -public final class GLNVConservativeRasterPreSnapTriangles { - public static final int GL_CONSERVATIVE_RASTER_MODE_NV = 0x954D; - public static final int GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; - public static final int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_conservative_raster_pre_snap_triangles) return; - ext.glConservativeRasterParameteriNV = load.invoke("glConservativeRasterParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glConservativeRasterParameteriNV(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glConservativeRasterParameteriNV).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVConservativeRasterPreSnapTriangles { + int GL_CONSERVATIVE_RASTER_MODE_NV = 0x954D; + int GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; + int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; + void glConservativeRasterParameteriNV(int pname, int param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java index 8587e932..135ac868 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_copy_depth_to_color} */ -public final class GLNVCopyDepthToColor { - public static final int GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E; - public static final int GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F; +public interface GLNVCopyDepthToColor { + int GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E; + int GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java index 94ae52a3..a1d0b933 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_copy_image} */ -public final class GLNVCopyImage { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_copy_image) return; - ext.glCopyImageSubDataNV = load.invoke("glCopyImageSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glCopyImageSubDataNV(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int width, int height, int depth) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyImageSubDataNV).invokeExact(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVCopyImage { + void glCopyImageSubDataNV(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int width, int height, int depth); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java index db50def8..6971fc27 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_deep_texture3D} */ -public final class GLNVDeepTexture3D { - public static final int GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; - public static final int GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; +public interface GLNVDeepTexture3D { + int GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; + int GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java index cd081830..6878afdc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java @@ -18,46 +18,19 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_depth_buffer_float} */ -public final class GLNVDepthBufferFloat { - public static final int GL_DEPTH_COMPONENT32F_NV = 0x8DAB; - public static final int GL_DEPTH32F_STENCIL8_NV = 0x8DAC; - public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; - public static final int GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_depth_buffer_float) return; - ext.glDepthRangedNV = load.invoke("glDepthRangedNV", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glClearDepthdNV = load.invoke("glClearDepthdNV", ofVoid(JAVA_DOUBLE)); - ext.glDepthBoundsdNV = load.invoke("glDepthBoundsdNV", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); - } - - public static void glDepthRangedNV(double zNear, double zFar) { - final var ext = getExtCapabilities(); - try { - check(ext.glDepthRangedNV).invokeExact(zNear, zFar); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearDepthdNV(double depth) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearDepthdNV).invokeExact(depth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDepthBoundsdNV(double zmin, double zmax) { - final var ext = getExtCapabilities(); - try { - check(ext.glDepthBoundsdNV).invokeExact(zmin, zmax); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVDepthBufferFloat { + int GL_DEPTH_COMPONENT32F_NV = 0x8DAB; + int GL_DEPTH32F_STENCIL8_NV = 0x8DAC; + int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; + int GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; + void glDepthRangedNV(double zNear, double zFar); + void glClearDepthdNV(double depth); + void glDepthBoundsdNV(double zmin, double zmax); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java index b782616f..c5b221e9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_depth_clamp} */ -public final class GLNVDepthClamp { - public static final int GL_DEPTH_CLAMP_NV = 0x864F; +public interface GLNVDepthClamp { + int GL_DEPTH_CLAMP_NV = 0x864F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java index 085de6d2..5cf6589b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_draw_texture} */ -public final class GLNVDrawTexture { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_draw_texture) return; - ext.glDrawTextureNV = load.invoke("glDrawTextureNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - } - - public static void glDrawTextureNV(int texture, int sampler, float x0, float y0, float x1, float y1, float z, float s0, float t0, float s1, float t1) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawTextureNV).invokeExact(texture, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVDrawTexture { + void glDrawTextureNV(int texture, int sampler, float x0, float y0, float x1, float y1, float z, float s0, float t0, float s1, float t1); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java index 5238c653..5f9c0409 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java @@ -18,59 +18,17 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_draw_vulkan_image} */ -public final class GLNVDrawVulkanImage { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_draw_vulkan_image) return; - ext.glDrawVkImageNV = load.invoke("glDrawVkImageNV", ofVoid(JAVA_LONG, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glGetVkProcAddrNV = load.invoke("glGetVkProcAddrNV", of(ADDRESS, ADDRESS)); - ext.glWaitVkSemaphoreNV = load.invoke("glWaitVkSemaphoreNV", ofVoid(JAVA_LONG)); - ext.glSignalVkSemaphoreNV = load.invoke("glSignalVkSemaphoreNV", ofVoid(JAVA_LONG)); - ext.glSignalVkFenceNV = load.invoke("glSignalVkFenceNV", ofVoid(JAVA_LONG)); - } - - public static void glDrawVkImageNV(long vkImage, int sampler, float x0, float y0, float x1, float y1, float z, float s0, float t0, float s1, float t1) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawVkImageNV).invokeExact(vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static @NativeType("GLVULKANPROCNV") MemorySegment glGetVkProcAddrNV(@NativeType("const GLchar *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - return (MemorySegment) - check(ext.glGetVkProcAddrNV).invokeExact(name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWaitVkSemaphoreNV(long vkSemaphore) { - final var ext = getExtCapabilities(); - try { - check(ext.glWaitVkSemaphoreNV).invokeExact(vkSemaphore); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSignalVkSemaphoreNV(long vkSemaphore) { - final var ext = getExtCapabilities(); - try { - check(ext.glSignalVkSemaphoreNV).invokeExact(vkSemaphore); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSignalVkFenceNV(long vkFence) { - final var ext = getExtCapabilities(); - try { - check(ext.glSignalVkFenceNV).invokeExact(vkFence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVDrawVulkanImage { + void glDrawVkImageNV(long vkImage, int sampler, float x0, float y0, float x1, float y1, float z, float s0, float t0, float s1, float t1); + @NativeType("GLVULKANPROCNV") MemorySegment glGetVkProcAddrNV(@NativeType("const GLchar *") MemorySegment name); + void glWaitVkSemaphoreNV(long vkSemaphore); + void glSignalVkSemaphoreNV(long vkSemaphore); + void glSignalVkFenceNV(long vkFence); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java index 5d3e2cf7..0f10c1ca 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java @@ -18,114 +18,45 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_evaluators} */ -public final class GLNVEvaluators { - public static final int GL_EVAL_2D_NV = 0x86C0; - public static final int GL_EVAL_TRIANGULAR_2D_NV = 0x86C1; - public static final int GL_MAP_TESSELLATION_NV = 0x86C2; - public static final int GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3; - public static final int GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4; - public static final int GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; - public static final int GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6; - public static final int GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7; - public static final int GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8; - public static final int GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9; - public static final int GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA; - public static final int GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB; - public static final int GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC; - public static final int GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD; - public static final int GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE; - public static final int GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF; - public static final int GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0; - public static final int GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1; - public static final int GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2; - public static final int GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3; - public static final int GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4; - public static final int GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5; - public static final int GL_MAX_MAP_TESSELLATION_NV = 0x86D6; - public static final int GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_evaluators) return; - ext.glMapControlPointsNV = load.invoke("glMapControlPointsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glMapParameterivNV = load.invoke("glMapParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMapParameterfvNV = load.invoke("glMapParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMapControlPointsNV = load.invoke("glGetMapControlPointsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); - ext.glGetMapParameterivNV = load.invoke("glGetMapParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMapParameterfvNV = load.invoke("glGetMapParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMapAttribParameterivNV = load.invoke("glGetMapAttribParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMapAttribParameterfvNV = load.invoke("glGetMapAttribParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glEvalMapsNV = load.invoke("glEvalMapsNV", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, @NativeType("const void *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapControlPointsNV).invokeExact(target, index, type, ustride, vstride, uorder, vorder, packed, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapParameterivNV(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapParameterivNV).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapParameterfvNV(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapParameterfvNV).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, @NativeType("void *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMapControlPointsNV).invokeExact(target, index, type, ustride, vstride, packed, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMapParameterivNV(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMapParameterivNV).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMapParameterfvNV(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMapParameterfvNV).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMapAttribParameterivNV(int target, int index, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMapAttribParameterivNV).invokeExact(target, index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMapAttribParameterfvNV(int target, int index, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMapAttribParameterfvNV).invokeExact(target, index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEvalMapsNV(int target, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glEvalMapsNV).invokeExact(target, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVEvaluators { + int GL_EVAL_2D_NV = 0x86C0; + int GL_EVAL_TRIANGULAR_2D_NV = 0x86C1; + int GL_MAP_TESSELLATION_NV = 0x86C2; + int GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3; + int GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4; + int GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; + int GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6; + int GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7; + int GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8; + int GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9; + int GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA; + int GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB; + int GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC; + int GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD; + int GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE; + int GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF; + int GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0; + int GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1; + int GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2; + int GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3; + int GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4; + int GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5; + int GL_MAX_MAP_TESSELLATION_NV = 0x86D6; + int GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; + + void glMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, @NativeType("const void *") MemorySegment points); + void glMapParameterivNV(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glMapParameterfvNV(int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, @NativeType("void *") MemorySegment points); + void glGetMapParameterivNV(int target, int pname, @NativeType("GLint *") MemorySegment params); + void glGetMapParameterfvNV(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetMapAttribParameterivNV(int target, int index, int pname, @NativeType("GLint *") MemorySegment params); + void glGetMapAttribParameterfvNV(int target, int index, int pname, @NativeType("GLfloat *") MemorySegment params); + void glEvalMapsNV(int target, int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java index 856db0f9..346740ee 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java @@ -18,52 +18,25 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_explicit_multisample} */ -public final class GLNVExplicitMultisample { - public static final int GL_SAMPLE_POSITION_NV = 0x8E50; - public static final int GL_SAMPLE_MASK_NV = 0x8E51; - public static final int GL_SAMPLE_MASK_VALUE_NV = 0x8E52; - public static final int GL_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; - public static final int GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; - public static final int GL_TEXTURE_RENDERBUFFER_NV = 0x8E55; - public static final int GL_SAMPLER_RENDERBUFFER_NV = 0x8E56; - public static final int GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; - public static final int GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; - public static final int GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_explicit_multisample) return; - ext.glGetMultisamplefvNV = load.invoke("glGetMultisamplefvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glSampleMaskIndexedNV = load.invoke("glSampleMaskIndexedNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glTexRenderbufferNV = load.invoke("glTexRenderbufferNV", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glGetMultisamplefvNV(int pname, int index, @NativeType("GLfloat *") MemorySegment val) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMultisamplefvNV).invokeExact(pname, index, val); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSampleMaskIndexedNV(int index, int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glSampleMaskIndexedNV).invokeExact(index, mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexRenderbufferNV(int target, int renderbuffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexRenderbufferNV).invokeExact(target, renderbuffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVExplicitMultisample { + int GL_SAMPLE_POSITION_NV = 0x8E50; + int GL_SAMPLE_MASK_NV = 0x8E51; + int GL_SAMPLE_MASK_VALUE_NV = 0x8E52; + int GL_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; + int GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; + int GL_TEXTURE_RENDERBUFFER_NV = 0x8E55; + int GL_SAMPLER_RENDERBUFFER_NV = 0x8E56; + int GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; + int GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; + int GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; + void glGetMultisamplefvNV(int pname, int index, @NativeType("GLfloat *") MemorySegment val); + void glSampleMaskIndexedNV(int index, int mask); + void glTexRenderbufferNV(int target, int renderbuffer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java index 6455554a..961c426f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java @@ -18,79 +18,22 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_fence} */ -public final class GLNVFence { - public static final int GL_ALL_COMPLETED_NV = 0x84F2; - public static final int GL_FENCE_STATUS_NV = 0x84F3; - public static final int GL_FENCE_CONDITION_NV = 0x84F4; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_fence) return; - ext.glDeleteFencesNV = load.invoke("glDeleteFencesNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenFencesNV = load.invoke("glGenFencesNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsFenceNV = load.invoke("glIsFenceNV", of(JAVA_BYTE, JAVA_INT)); - ext.glTestFenceNV = load.invoke("glTestFenceNV", of(JAVA_BYTE, JAVA_INT)); - ext.glGetFenceivNV = load.invoke("glGetFenceivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFinishFenceNV = load.invoke("glFinishFenceNV", ofVoid(JAVA_INT)); - ext.glSetFenceNV = load.invoke("glSetFenceNV", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glDeleteFencesNV(int n, @NativeType("const GLuint *") MemorySegment fences) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteFencesNV).invokeExact(n, fences); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenFencesNV(int n, @NativeType("GLuint *") MemorySegment fences) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenFencesNV).invokeExact(n, fences); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsFenceNV(int fence) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsFenceNV).invokeExact(fence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glTestFenceNV(int fence) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glTestFenceNV).invokeExact(fence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFenceivNV(int fence, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFenceivNV).invokeExact(fence, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFinishFenceNV(int fence) { - final var ext = getExtCapabilities(); - try { - check(ext.glFinishFenceNV).invokeExact(fence); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSetFenceNV(int fence, int condition) { - final var ext = getExtCapabilities(); - try { - check(ext.glSetFenceNV).invokeExact(fence, condition); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVFence { + int GL_ALL_COMPLETED_NV = 0x84F2; + int GL_FENCE_STATUS_NV = 0x84F3; + int GL_FENCE_CONDITION_NV = 0x84F4; + + void glDeleteFencesNV(int n, @NativeType("const GLuint *") MemorySegment fences); + void glGenFencesNV(int n, @NativeType("GLuint *") MemorySegment fences); + boolean glIsFenceNV(int fence); + boolean glTestFenceNV(int fence); + void glGetFenceivNV(int fence, int pname, @NativeType("GLint *") MemorySegment params); + void glFinishFenceNV(int fence); + void glSetFenceNV(int fence, int condition); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java index 7da64672..ae98b3d8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_fill_rectangle} */ -public final class GLNVFillRectangle { - public static final int GL_FILL_RECTANGLE_NV = 0x933C; +public interface GLNVFillRectangle { + int GL_FILL_RECTANGLE_NV = 0x933C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java index 7a034a30..6cfc7719 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java @@ -18,29 +18,26 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_float_buffer} */ -public final class GLNVFloatBuffer { - public static final int GL_FLOAT_R_NV = 0x8880; - public static final int GL_FLOAT_RG_NV = 0x8881; - public static final int GL_FLOAT_RGB_NV = 0x8882; - public static final int GL_FLOAT_RGBA_NV = 0x8883; - public static final int GL_FLOAT_R16_NV = 0x8884; - public static final int GL_FLOAT_R32_NV = 0x8885; - public static final int GL_FLOAT_RG16_NV = 0x8886; - public static final int GL_FLOAT_RG32_NV = 0x8887; - public static final int GL_FLOAT_RGB16_NV = 0x8888; - public static final int GL_FLOAT_RGB32_NV = 0x8889; - public static final int GL_FLOAT_RGBA16_NV = 0x888A; - public static final int GL_FLOAT_RGBA32_NV = 0x888B; - public static final int GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; - public static final int GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; - public static final int GL_FLOAT_RGBA_MODE_NV = 0x888E; +public interface GLNVFloatBuffer { + int GL_FLOAT_R_NV = 0x8880; + int GL_FLOAT_RG_NV = 0x8881; + int GL_FLOAT_RGB_NV = 0x8882; + int GL_FLOAT_RGBA_NV = 0x8883; + int GL_FLOAT_R16_NV = 0x8884; + int GL_FLOAT_R32_NV = 0x8885; + int GL_FLOAT_RG16_NV = 0x8886; + int GL_FLOAT_RG32_NV = 0x8887; + int GL_FLOAT_RGB16_NV = 0x8888; + int GL_FLOAT_RGB32_NV = 0x8889; + int GL_FLOAT_RGBA16_NV = 0x888A; + int GL_FLOAT_RGBA32_NV = 0x888B; + int GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; + int GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; + int GL_FLOAT_RGBA_MODE_NV = 0x888E; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java index 1fbfeafc..9c85165b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_fog_distance} */ -public final class GLNVFogDistance { - public static final int GL_FOG_DISTANCE_MODE_NV = 0x855A; - public static final int GL_EYE_RADIAL_NV = 0x855B; - public static final int GL_EYE_PLANE_ABSOLUTE_NV = 0x855C; +public interface GLNVFogDistance { + int GL_FOG_DISTANCE_MODE_NV = 0x855A; + int GL_EYE_RADIAL_NV = 0x855B; + int GL_EYE_PLANE_ABSOLUTE_NV = 0x855C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java index cf7698e2..537d6041 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_fragment_coverage_to_color} */ -public final class GLNVFragmentCoverageToColor { - public static final int GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; - public static final int GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_fragment_coverage_to_color) return; - ext.glFragmentCoverageColorNV = load.invoke("glFragmentCoverageColorNV", ofVoid(JAVA_INT)); - } - - public static void glFragmentCoverageColorNV(int color) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentCoverageColorNV).invokeExact(color); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVFragmentCoverageToColor { + int GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; + int GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; + void glFragmentCoverageColorNV(int color); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java index 3ff21b33..feba03a1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java @@ -18,72 +18,24 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_fragment_program} */ -public final class GLNVFragmentProgram { - public static final int GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; - public static final int GL_FRAGMENT_PROGRAM_NV = 0x8870; - public static final int GL_MAX_TEXTURE_COORDS_NV = 0x8871; - public static final int GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; - public static final int GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873; - public static final int GL_PROGRAM_ERROR_STRING_NV = 0x8874; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_fragment_program) return; - ext.glProgramNamedParameter4fNV = load.invoke("glProgramNamedParameter4fNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glProgramNamedParameter4fvNV = load.invoke("glProgramNamedParameter4fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glProgramNamedParameter4dNV = load.invoke("glProgramNamedParameter4dNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glProgramNamedParameter4dvNV = load.invoke("glProgramNamedParameter4dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetProgramNamedParameterfvNV = load.invoke("glGetProgramNamedParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glGetProgramNamedParameterdvNV = load.invoke("glGetProgramNamedParameterdvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glProgramNamedParameter4fNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramNamedParameter4fNV).invokeExact(id, len, name, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramNamedParameter4fvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramNamedParameter4fvNV).invokeExact(id, len, name, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramNamedParameter4dNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramNamedParameter4dNV).invokeExact(id, len, name, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramNamedParameter4dvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramNamedParameter4dvNV).invokeExact(id, len, name, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramNamedParameterfvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramNamedParameterfvNV).invokeExact(id, len, name, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramNamedParameterdvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramNamedParameterdvNV).invokeExact(id, len, name, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVFragmentProgram { + int GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; + int GL_FRAGMENT_PROGRAM_NV = 0x8870; + int GL_MAX_TEXTURE_COORDS_NV = 0x8871; + int GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; + int GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873; + int GL_PROGRAM_ERROR_STRING_NV = 0x8874; + + void glProgramNamedParameter4fNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, float x, float y, float z, float w); + void glProgramNamedParameter4fvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("const GLfloat *") MemorySegment v); + void glProgramNamedParameter4dNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, double x, double y, double z, double w); + void glProgramNamedParameter4dvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("const GLdouble *") MemorySegment v); + void glGetProgramNamedParameterfvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("GLfloat *") MemorySegment params); + void glGetProgramNamedParameterdvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("GLdouble *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java index 03698561..481fa08d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_fragment_program2} */ -public final class GLNVFragmentProgram2 { - public static final int GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; - public static final int GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; - public static final int GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; - public static final int GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; - public static final int GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; +public interface GLNVFragmentProgram2 { + int GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; + int GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; + int GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; + int GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; + int GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java index 1e46b57e..8df2aec4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java @@ -18,50 +18,23 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_framebuffer_mixed_samples} */ -public final class GLNVFramebufferMixedSamples { - public static final int GL_COVERAGE_MODULATION_TABLE_NV = 0x9331; - public static final int GL_COLOR_SAMPLES_NV = 0x8E20; - public static final int GL_DEPTH_SAMPLES_NV = 0x932D; - public static final int GL_STENCIL_SAMPLES_NV = 0x932E; - public static final int GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; - public static final int GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; - public static final int GL_COVERAGE_MODULATION_NV = 0x9332; - public static final int GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_framebuffer_mixed_samples) return; - ext.glCoverageModulationTableNV = load.invoke("glCoverageModulationTableNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetCoverageModulationTableNV = load.invoke("glGetCoverageModulationTableNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glCoverageModulationNV = load.invoke("glCoverageModulationNV", ofVoid(JAVA_INT)); - } - - public static void glCoverageModulationTableNV(int n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glCoverageModulationTableNV).invokeExact(n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCoverageModulationTableNV(int bufSize, @NativeType("GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCoverageModulationTableNV).invokeExact(bufSize, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCoverageModulationNV(int components) { - final var ext = getExtCapabilities(); - try { - check(ext.glCoverageModulationNV).invokeExact(components); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVFramebufferMixedSamples { + int GL_COVERAGE_MODULATION_TABLE_NV = 0x9331; + int GL_COLOR_SAMPLES_NV = 0x8E20; + int GL_DEPTH_SAMPLES_NV = 0x932D; + int GL_STENCIL_SAMPLES_NV = 0x932E; + int GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; + int GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; + int GL_COVERAGE_MODULATION_NV = 0x9332; + int GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; + void glCoverageModulationTableNV(int n, @NativeType("const GLfloat *") MemorySegment v); + void glGetCoverageModulationTableNV(int bufSize, @NativeType("GLfloat *") MemorySegment v); + void glCoverageModulationNV(int components); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java index 592b4c53..c841b6a8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_framebuffer_multisample_coverage} */ -public final class GLNVFramebufferMultisampleCoverage { - public static final int GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; - public static final int GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; - public static final int GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; - public static final int GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_framebuffer_multisample_coverage) return; - ext.glRenderbufferStorageMultisampleCoverageNV = load.invoke("glRenderbufferStorageMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glRenderbufferStorageMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalformat, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glRenderbufferStorageMultisampleCoverageNV).invokeExact(target, coverageSamples, colorSamples, internalformat, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVFramebufferMultisampleCoverage { + int GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; + int GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; + int GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; + int GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; + void glRenderbufferStorageMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalformat, int width, int height); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java index 98ebb1ec..3b72921c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java @@ -18,45 +18,18 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_geometry_program4} */ -public final class GLNVGeometryProgram4 { - public static final int GL_GEOMETRY_PROGRAM_NV = 0x8C26; - public static final int GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; - public static final int GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_geometry_program4) return; - ext.glProgramVertexLimitNV = load.invoke("glProgramVertexLimitNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glFramebufferTextureEXT = load.invoke("glFramebufferTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFramebufferTextureFaceEXT = load.invoke("glFramebufferTextureFaceEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glProgramVertexLimitNV(int target, int limit) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramVertexLimitNV).invokeExact(target, limit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTextureEXT(int target, int attachment, int texture, int level) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTextureEXT).invokeExact(target, attachment, texture, level); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFramebufferTextureFaceEXT(int target, int attachment, int texture, int level, int face) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferTextureFaceEXT).invokeExact(target, attachment, texture, level, face); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVGeometryProgram4 { + int GL_GEOMETRY_PROGRAM_NV = 0x8C26; + int GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; + int GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; + void glProgramVertexLimitNV(int target, int limit); + void glFramebufferTextureEXT(int target, int attachment, int texture, int level); + void glFramebufferTextureFaceEXT(int target, int attachment, int texture, int level, int face); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java index 06b65502..2a7bc2e6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java @@ -18,119 +18,29 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_gpu_multicast} */ -public final class GLNVGpuMulticast { - public static final int GL_PER_GPU_STORAGE_BIT_NV = 0x0800; - public static final int GL_MULTICAST_GPUS_NV = 0x92BA; - public static final int GL_RENDER_GPU_MASK_NV = 0x9558; - public static final int GL_PER_GPU_STORAGE_NV = 0x9548; - public static final int GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_gpu_multicast) return; - ext.glRenderGpuMaskNV = load.invoke("glRenderGpuMaskNV", ofVoid(JAVA_INT)); - ext.glMulticastBufferSubDataNV = load.invoke("glMulticastBufferSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); - ext.glMulticastCopyBufferSubDataNV = load.invoke("glMulticastCopyBufferSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glMulticastCopyImageSubDataNV = load.invoke("glMulticastCopyImageSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMulticastBlitFramebufferNV = load.invoke("glMulticastBlitFramebufferNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMulticastFramebufferSampleLocationsfvNV = load.invoke("glMulticastFramebufferSampleLocationsfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMulticastBarrierNV = load.invoke("glMulticastBarrierNV", ofVoid()); - ext.glMulticastWaitSyncNV = load.invoke("glMulticastWaitSyncNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glMulticastGetQueryObjectivNV = load.invoke("glMulticastGetQueryObjectivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMulticastGetQueryObjectuivNV = load.invoke("glMulticastGetQueryObjectuivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMulticastGetQueryObjecti64vNV = load.invoke("glMulticastGetQueryObjecti64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMulticastGetQueryObjectui64vNV = load.invoke("glMulticastGetQueryObjectui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glRenderGpuMaskNV(int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glRenderGpuMaskNV).invokeExact(mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastBufferSubDataNV(int gpuMask, int buffer, long offset, long size, @NativeType("const void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastBufferSubDataNV).invokeExact(gpuMask, buffer, offset, size, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastCopyBufferSubDataNV(int readGpu, int writeGpuMask, int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastCopyBufferSubDataNV).invokeExact(readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastCopyImageSubDataNV(int srcGpu, int dstGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastCopyImageSubDataNV).invokeExact(srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastBlitFramebufferNV(int srcGpu, int dstGpu, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastBlitFramebufferNV).invokeExact(srcGpu, dstGpu, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastFramebufferSampleLocationsfvNV(int gpu, int framebuffer, int start, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastFramebufferSampleLocationsfvNV).invokeExact(gpu, framebuffer, start, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastBarrierNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastBarrierNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastWaitSyncNV(int signalGpu, int waitGpuMask) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastWaitSyncNV).invokeExact(signalGpu, waitGpuMask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastGetQueryObjectivNV(int gpu, int id, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastGetQueryObjectivNV).invokeExact(gpu, id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastGetQueryObjectuivNV(int gpu, int id, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastGetQueryObjectuivNV).invokeExact(gpu, id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastGetQueryObjecti64vNV(int gpu, int id, int pname, @NativeType("GLint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastGetQueryObjecti64vNV).invokeExact(gpu, id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastGetQueryObjectui64vNV(int gpu, int id, int pname, @NativeType("GLuint64 *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastGetQueryObjectui64vNV).invokeExact(gpu, id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVGpuMulticast { + int GL_PER_GPU_STORAGE_BIT_NV = 0x0800; + int GL_MULTICAST_GPUS_NV = 0x92BA; + int GL_RENDER_GPU_MASK_NV = 0x9558; + int GL_PER_GPU_STORAGE_NV = 0x9548; + int GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; + + void glRenderGpuMaskNV(int mask); + void glMulticastBufferSubDataNV(int gpuMask, int buffer, long offset, long size, @NativeType("const void *") MemorySegment data); + void glMulticastCopyBufferSubDataNV(int readGpu, int writeGpuMask, int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size); + void glMulticastCopyImageSubDataNV(int srcGpu, int dstGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth); + void glMulticastBlitFramebufferNV(int srcGpu, int dstGpu, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter); + void glMulticastFramebufferSampleLocationsfvNV(int gpu, int framebuffer, int start, int count, @NativeType("const GLfloat *") MemorySegment v); + void glMulticastBarrierNV(); + void glMulticastWaitSyncNV(int signalGpu, int waitGpuMask); + void glMulticastGetQueryObjectivNV(int gpu, int id, int pname, @NativeType("GLint *") MemorySegment params); + void glMulticastGetQueryObjectuivNV(int gpu, int id, int pname, @NativeType("GLuint *") MemorySegment params); + void glMulticastGetQueryObjecti64vNV(int gpu, int id, int pname, @NativeType("GLint64 *") MemorySegment params); + void glMulticastGetQueryObjectui64vNV(int gpu, int id, int pname, @NativeType("GLuint64 *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java index e3ab9f11..1dac0f6c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java @@ -18,154 +18,36 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_gpu_program4} */ -public final class GLNVGpuProgram4 { - public static final int GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; - public static final int GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; - public static final int GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; - public static final int GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907; - public static final int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; - public static final int GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; - public static final int GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; - public static final int GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_gpu_program4) return; - ext.glProgramLocalParameterI4iNV = load.invoke("glProgramLocalParameterI4iNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramLocalParameterI4ivNV = load.invoke("glProgramLocalParameterI4ivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramLocalParametersI4ivNV = load.invoke("glProgramLocalParametersI4ivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramLocalParameterI4uiNV = load.invoke("glProgramLocalParameterI4uiNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramLocalParameterI4uivNV = load.invoke("glProgramLocalParameterI4uivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramLocalParametersI4uivNV = load.invoke("glProgramLocalParametersI4uivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramEnvParameterI4iNV = load.invoke("glProgramEnvParameterI4iNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramEnvParameterI4ivNV = load.invoke("glProgramEnvParameterI4ivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramEnvParametersI4ivNV = load.invoke("glProgramEnvParametersI4ivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramEnvParameterI4uiNV = load.invoke("glProgramEnvParameterI4uiNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glProgramEnvParameterI4uivNV = load.invoke("glProgramEnvParameterI4uivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramEnvParametersI4uivNV = load.invoke("glProgramEnvParametersI4uivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramLocalParameterIivNV = load.invoke("glGetProgramLocalParameterIivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramLocalParameterIuivNV = load.invoke("glGetProgramLocalParameterIuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramEnvParameterIivNV = load.invoke("glGetProgramEnvParameterIivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramEnvParameterIuivNV = load.invoke("glGetProgramEnvParameterIuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glProgramLocalParameterI4iNV(int target, int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameterI4iNV).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameterI4ivNV(int target, int index, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameterI4ivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParametersI4ivNV(int target, int index, int count, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParametersI4ivNV).invokeExact(target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameterI4uiNV(int target, int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameterI4uiNV).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParameterI4uivNV(int target, int index, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParameterI4uivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramLocalParametersI4uivNV(int target, int index, int count, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramLocalParametersI4uivNV).invokeExact(target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameterI4iNV(int target, int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameterI4iNV).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameterI4ivNV(int target, int index, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameterI4ivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParametersI4ivNV(int target, int index, int count, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParametersI4ivNV).invokeExact(target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameterI4uiNV(int target, int index, int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameterI4uiNV).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParameterI4uivNV(int target, int index, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParameterI4uivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramEnvParametersI4uivNV(int target, int index, int count, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramEnvParametersI4uivNV).invokeExact(target, index, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramLocalParameterIivNV(int target, int index, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramLocalParameterIivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramLocalParameterIuivNV(int target, int index, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramLocalParameterIuivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramEnvParameterIivNV(int target, int index, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramEnvParameterIivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramEnvParameterIuivNV(int target, int index, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramEnvParameterIuivNV).invokeExact(target, index, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVGpuProgram4 { + int GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; + int GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; + int GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; + int GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907; + int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; + int GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; + int GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; + int GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; + + void glProgramLocalParameterI4iNV(int target, int index, int x, int y, int z, int w); + void glProgramLocalParameterI4ivNV(int target, int index, @NativeType("const GLint *") MemorySegment params); + void glProgramLocalParametersI4ivNV(int target, int index, int count, @NativeType("const GLint *") MemorySegment params); + void glProgramLocalParameterI4uiNV(int target, int index, int x, int y, int z, int w); + void glProgramLocalParameterI4uivNV(int target, int index, @NativeType("const GLuint *") MemorySegment params); + void glProgramLocalParametersI4uivNV(int target, int index, int count, @NativeType("const GLuint *") MemorySegment params); + void glProgramEnvParameterI4iNV(int target, int index, int x, int y, int z, int w); + void glProgramEnvParameterI4ivNV(int target, int index, @NativeType("const GLint *") MemorySegment params); + void glProgramEnvParametersI4ivNV(int target, int index, int count, @NativeType("const GLint *") MemorySegment params); + void glProgramEnvParameterI4uiNV(int target, int index, int x, int y, int z, int w); + void glProgramEnvParameterI4uivNV(int target, int index, @NativeType("const GLuint *") MemorySegment params); + void glProgramEnvParametersI4uivNV(int target, int index, int count, @NativeType("const GLuint *") MemorySegment params); + void glGetProgramLocalParameterIivNV(int target, int index, @NativeType("GLint *") MemorySegment params); + void glGetProgramLocalParameterIuivNV(int target, int index, @NativeType("GLuint *") MemorySegment params); + void glGetProgramEnvParameterIivNV(int target, int index, @NativeType("GLint *") MemorySegment params); + void glGetProgramEnvParameterIuivNV(int target, int index, @NativeType("GLuint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java index f2970f53..731cb097 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java @@ -18,42 +18,22 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_gpu_program5} */ -public final class GLNVGpuProgram5 { - public static final int GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; - public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; - public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; - public static final int GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; - public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; - public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; - public static final int GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; - public static final int GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_gpu_program5) return; - ext.glProgramSubroutineParametersuivNV = load.invoke("glProgramSubroutineParametersuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramSubroutineParameteruivNV = load.invoke("glGetProgramSubroutineParameteruivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glProgramSubroutineParametersuivNV(int target, int count, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramSubroutineParametersuivNV).invokeExact(target, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramSubroutineParameteruivNV(int target, int index, @NativeType("GLuint *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramSubroutineParameteruivNV).invokeExact(target, index, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVGpuProgram5 { + int GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; + int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; + int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; + int GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; + int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; + int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; + int GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; + int GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; + void glProgramSubroutineParametersuivNV(int target, int count, @NativeType("const GLuint *") MemorySegment params); + void glGetProgramSubroutineParameteruivNV(int target, int index, @NativeType("GLuint *") MemorySegment param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java index 764f6b63..177f3be9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java @@ -18,387 +18,59 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_half_float} */ -public final class GLNVHalfFloat { - public static final int GL_HALF_FLOAT_NV = 0x140B; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_half_float) return; - ext.glVertex2hNV = load.invoke("glVertex2hNV", ofVoid(JAVA_SHORT, JAVA_SHORT)); - ext.glVertex2hvNV = load.invoke("glVertex2hvNV", ofVoid(ADDRESS)); - ext.glVertex3hNV = load.invoke("glVertex3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertex3hvNV = load.invoke("glVertex3hvNV", ofVoid(ADDRESS)); - ext.glVertex4hNV = load.invoke("glVertex4hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertex4hvNV = load.invoke("glVertex4hvNV", ofVoid(ADDRESS)); - ext.glNormal3hNV = load.invoke("glNormal3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glNormal3hvNV = load.invoke("glNormal3hvNV", ofVoid(ADDRESS)); - ext.glColor3hNV = load.invoke("glColor3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glColor3hvNV = load.invoke("glColor3hvNV", ofVoid(ADDRESS)); - ext.glColor4hNV = load.invoke("glColor4hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glColor4hvNV = load.invoke("glColor4hvNV", ofVoid(ADDRESS)); - ext.glTexCoord1hNV = load.invoke("glTexCoord1hNV", ofVoid(JAVA_SHORT)); - ext.glTexCoord1hvNV = load.invoke("glTexCoord1hvNV", ofVoid(ADDRESS)); - ext.glTexCoord2hNV = load.invoke("glTexCoord2hNV", ofVoid(JAVA_SHORT, JAVA_SHORT)); - ext.glTexCoord2hvNV = load.invoke("glTexCoord2hvNV", ofVoid(ADDRESS)); - ext.glTexCoord3hNV = load.invoke("glTexCoord3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glTexCoord3hvNV = load.invoke("glTexCoord3hvNV", ofVoid(ADDRESS)); - ext.glTexCoord4hNV = load.invoke("glTexCoord4hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glTexCoord4hvNV = load.invoke("glTexCoord4hvNV", ofVoid(ADDRESS)); - ext.glMultiTexCoord1hNV = load.invoke("glMultiTexCoord1hNV", ofVoid(JAVA_INT, JAVA_SHORT)); - ext.glMultiTexCoord1hvNV = load.invoke("glMultiTexCoord1hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord2hNV = load.invoke("glMultiTexCoord2hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); - ext.glMultiTexCoord2hvNV = load.invoke("glMultiTexCoord2hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord3hNV = load.invoke("glMultiTexCoord3hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glMultiTexCoord3hvNV = load.invoke("glMultiTexCoord3hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord4hNV = load.invoke("glMultiTexCoord4hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glMultiTexCoord4hvNV = load.invoke("glMultiTexCoord4hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib1hNV = load.invoke("glVertexAttrib1hNV", ofVoid(JAVA_INT, JAVA_SHORT)); - ext.glVertexAttrib1hvNV = load.invoke("glVertexAttrib1hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib2hNV = load.invoke("glVertexAttrib2hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib2hvNV = load.invoke("glVertexAttrib2hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib3hNV = load.invoke("glVertexAttrib3hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib3hvNV = load.invoke("glVertexAttrib3hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4hNV = load.invoke("glVertexAttrib4hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib4hvNV = load.invoke("glVertexAttrib4hvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribs1hvNV = load.invoke("glVertexAttribs1hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs2hvNV = load.invoke("glVertexAttribs2hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs3hvNV = load.invoke("glVertexAttribs3hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs4hvNV = load.invoke("glVertexAttribs4hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFogCoordhNV = load.invoke("glFogCoordhNV", ofVoid(JAVA_SHORT)); - ext.glFogCoordhvNV = load.invoke("glFogCoordhvNV", ofVoid(ADDRESS)); - ext.glSecondaryColor3hNV = load.invoke("glSecondaryColor3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glSecondaryColor3hvNV = load.invoke("glSecondaryColor3hvNV", ofVoid(ADDRESS)); - ext.glVertexWeighthNV = load.invoke("glVertexWeighthNV", ofVoid(JAVA_SHORT)); - ext.glVertexWeighthvNV = load.invoke("glVertexWeighthvNV", ofVoid(ADDRESS)); - } - - public static void glVertex2hNV(short x, short y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex2hNV).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex2hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex2hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex3hNV(short x, short y, short z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex3hNV).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex3hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex4hNV(short x, short y, short z, short w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex4hNV).invokeExact(x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex4hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex4hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormal3hNV(short nx, short ny, short nz) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormal3hNV).invokeExact(nx, ny, nz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormal3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormal3hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor3hNV(short red, short green, short blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor3hNV).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor3hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4hNV(short red, short green, short blue, short alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4hNV).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord1hNV(short s) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord1hNV).invokeExact(s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord1hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord1hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2hNV(short s, short t) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2hNV).invokeExact(s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord3hNV(short s, short t, short r) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord3hNV).invokeExact(s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord3hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4hNV(short s, short t, short r, short q) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4hNV).invokeExact(s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1hNV(int target, short s) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1hNV).invokeExact(target, s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1hvNV).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2hNV(int target, short s, short t) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2hNV).invokeExact(target, s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2hvNV).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3hNV(int target, short s, short t, short r) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3hNV).invokeExact(target, s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3hvNV).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4hNV(int target, short s, short t, short r, short q) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4hNV).invokeExact(target, s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4hvNV).invokeExact(target, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1hNV(int index, short x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1hNV).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1hvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2hNV(int index, short x, short y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2hNV).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2hvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3hNV(int index, short x, short y, short z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3hNV).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3hvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4hNV(int index, short x, short y, short z, short w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4hNV).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4hvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs1hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs1hvNV).invokeExact(index, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs2hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs2hvNV).invokeExact(index, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs3hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs3hvNV).invokeExact(index, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs4hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs4hvNV).invokeExact(index, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoordhNV(short fog) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoordhNV).invokeExact(fog); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoordhvNV(@NativeType("const GLhalfNV *") MemorySegment fog) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoordhvNV).invokeExact(fog); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3hNV(short red, short green, short blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3hNV).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColor3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColor3hvNV).invokeExact(v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexWeighthNV(short weight) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexWeighthNV).invokeExact(weight); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexWeighthvNV(@NativeType("const GLhalfNV *") MemorySegment weight) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexWeighthvNV).invokeExact(weight); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVHalfFloat { + int GL_HALF_FLOAT_NV = 0x140B; + + void glVertex2hNV(short x, short y); + void glVertex2hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glVertex3hNV(short x, short y, short z); + void glVertex3hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glVertex4hNV(short x, short y, short z, short w); + void glVertex4hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glNormal3hNV(short nx, short ny, short nz); + void glNormal3hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glColor3hNV(short red, short green, short blue); + void glColor3hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glColor4hNV(short red, short green, short blue, short alpha); + void glColor4hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glTexCoord1hNV(short s); + void glTexCoord1hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glTexCoord2hNV(short s, short t); + void glTexCoord2hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glTexCoord3hNV(short s, short t, short r); + void glTexCoord3hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glTexCoord4hNV(short s, short t, short r, short q); + void glTexCoord4hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glMultiTexCoord1hNV(int target, short s); + void glMultiTexCoord1hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v); + void glMultiTexCoord2hNV(int target, short s, short t); + void glMultiTexCoord2hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v); + void glMultiTexCoord3hNV(int target, short s, short t, short r); + void glMultiTexCoord3hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v); + void glMultiTexCoord4hNV(int target, short s, short t, short r, short q); + void glMultiTexCoord4hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttrib1hNV(int index, short x); + void glVertexAttrib1hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttrib2hNV(int index, short x, short y); + void glVertexAttrib2hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttrib3hNV(int index, short x, short y, short z); + void glVertexAttrib3hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttrib4hNV(int index, short x, short y, short z, short w); + void glVertexAttrib4hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttribs1hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttribs2hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttribs3hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v); + void glVertexAttribs4hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v); + void glFogCoordhNV(short fog); + void glFogCoordhvNV(@NativeType("const GLhalfNV *") MemorySegment fog); + void glSecondaryColor3hNV(short red, short green, short blue); + void glSecondaryColor3hvNV(@NativeType("const GLhalfNV *") MemorySegment v); + void glVertexWeighthNV(short weight); + void glVertexWeighthvNV(@NativeType("const GLhalfNV *") MemorySegment weight); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java index adf8e174..e0f7063d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java @@ -18,30 +18,17 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_internalformat_sample_query} */ -public final class GLNVInternalformatSampleQuery { - public static final int GL_MULTISAMPLES_NV = 0x9371; - public static final int GL_SUPERSAMPLE_SCALE_X_NV = 0x9372; - public static final int GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373; - public static final int GL_CONFORMANT_NV = 0x9374; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_internalformat_sample_query) return; - ext.glGetInternalformatSampleivNV = load.invoke("glGetInternalformatSampleivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glGetInternalformatSampleivNV(int target, int internalformat, int samples, int pname, int count, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetInternalformatSampleivNV).invokeExact(target, internalformat, samples, pname, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVInternalformatSampleQuery { + int GL_MULTISAMPLES_NV = 0x9371; + int GL_SUPERSAMPLE_SCALE_X_NV = 0x9372; + int GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373; + int GL_CONFORMANT_NV = 0x9374; + void glGetInternalformatSampleivNV(int target, int internalformat, int samples, int pname, int count, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java index 49a204f1..afa46085 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_light_max_exponent} */ -public final class GLNVLightMaxExponent { - public static final int GL_MAX_SHININESS_NV = 0x8504; - public static final int GL_MAX_SPOT_EXPONENT_NV = 0x8505; +public interface GLNVLightMaxExponent { + int GL_MAX_SHININESS_NV = 0x8504; + int GL_MAX_SPOT_EXPONENT_NV = 0x8505; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java index 871f7d4e..d8bf9719 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java @@ -18,76 +18,28 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_memory_attachment} */ -public final class GLNVMemoryAttachment { - public static final int GL_ATTACHED_MEMORY_OBJECT_NV = 0x95A4; - public static final int GL_ATTACHED_MEMORY_OFFSET_NV = 0x95A5; - public static final int GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; - public static final int GL_MEMORY_ATTACHABLE_SIZE_NV = 0x95A7; - public static final int GL_MEMORY_ATTACHABLE_NV = 0x95A8; - public static final int GL_DETACHED_MEMORY_INCARNATION_NV = 0x95A9; - public static final int GL_DETACHED_TEXTURES_NV = 0x95AA; - public static final int GL_DETACHED_BUFFERS_NV = 0x95AB; - public static final int GL_MAX_DETACHED_TEXTURES_NV = 0x95AC; - public static final int GL_MAX_DETACHED_BUFFERS_NV = 0x95AD; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_memory_attachment) return; - ext.glGetMemoryObjectDetachedResourcesuivNV = load.invoke("glGetMemoryObjectDetachedResourcesuivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glResetMemoryObjectParameterNV = load.invoke("glResetMemoryObjectParameterNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glTexAttachMemoryNV = load.invoke("glTexAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glBufferAttachMemoryNV = load.invoke("glBufferAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glTextureAttachMemoryNV = load.invoke("glTextureAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glNamedBufferAttachMemoryNV = load.invoke("glNamedBufferAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - } - - public static void glGetMemoryObjectDetachedResourcesuivNV(int memory, int pname, int first, int count, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMemoryObjectDetachedResourcesuivNV).invokeExact(memory, pname, first, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glResetMemoryObjectParameterNV(int memory, int pname) { - final var ext = getExtCapabilities(); - try { - check(ext.glResetMemoryObjectParameterNV).invokeExact(memory, pname); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexAttachMemoryNV(int target, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexAttachMemoryNV).invokeExact(target, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBufferAttachMemoryNV(int target, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferAttachMemoryNV).invokeExact(target, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureAttachMemoryNV(int texture, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureAttachMemoryNV).invokeExact(texture, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferAttachMemoryNV(int buffer, int memory, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferAttachMemoryNV).invokeExact(buffer, memory, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVMemoryAttachment { + int GL_ATTACHED_MEMORY_OBJECT_NV = 0x95A4; + int GL_ATTACHED_MEMORY_OFFSET_NV = 0x95A5; + int GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; + int GL_MEMORY_ATTACHABLE_SIZE_NV = 0x95A7; + int GL_MEMORY_ATTACHABLE_NV = 0x95A8; + int GL_DETACHED_MEMORY_INCARNATION_NV = 0x95A9; + int GL_DETACHED_TEXTURES_NV = 0x95AA; + int GL_DETACHED_BUFFERS_NV = 0x95AB; + int GL_MAX_DETACHED_TEXTURES_NV = 0x95AC; + int GL_MAX_DETACHED_BUFFERS_NV = 0x95AD; + + void glGetMemoryObjectDetachedResourcesuivNV(int memory, int pname, int first, int count, @NativeType("GLuint *") MemorySegment params); + void glResetMemoryObjectParameterNV(int memory, int pname); + void glTexAttachMemoryNV(int target, int memory, long offset); + void glBufferAttachMemoryNV(int target, int memory, long offset); + void glTextureAttachMemoryNV(int texture, int memory, long offset); + void glNamedBufferAttachMemoryNV(int buffer, int memory, long offset); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java index 1a8a608f..570b7695 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java @@ -18,50 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_memory_object_sparse} */ -public final class GLNVMemoryObjectSparse { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_memory_object_sparse) return; - ext.glBufferPageCommitmentMemNV = load.invoke("glBufferPageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_LONG, JAVA_BYTE)); - ext.glTexPageCommitmentMemNV = load.invoke("glTexPageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_BYTE)); - ext.glNamedBufferPageCommitmentMemNV = load.invoke("glNamedBufferPageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_LONG, JAVA_BYTE)); - ext.glTexturePageCommitmentMemNV = load.invoke("glTexturePageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_BYTE)); - } - - public static void glBufferPageCommitmentMemNV(int target, long offset, long size, int memory, long memOffset, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferPageCommitmentMemNV).invokeExact(target, offset, size, memory, memOffset, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexPageCommitmentMemNV(int target, int layer, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int memory, long offset, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexPageCommitmentMemNV).invokeExact(target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedBufferPageCommitmentMemNV(int buffer, long offset, long size, int memory, long memOffset, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedBufferPageCommitmentMemNV).invokeExact(buffer, offset, size, memory, memOffset, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexturePageCommitmentMemNV(int texture, int layer, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int memory, long offset, boolean commit) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexturePageCommitmentMemNV).invokeExact(texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVMemoryObjectSparse { + void glBufferPageCommitmentMemNV(int target, long offset, long size, int memory, long memOffset, boolean commit); + void glTexPageCommitmentMemNV(int target, int layer, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int memory, long offset, boolean commit); + void glNamedBufferPageCommitmentMemNV(int buffer, long offset, long size, int memory, long memOffset, boolean commit); + void glTexturePageCommitmentMemNV(int texture, int layer, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int memory, long offset, boolean commit); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java index 96e0c9cd..9eba8e32 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java @@ -18,98 +18,64 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_mesh_shader} */ -public final class GLNVMeshShader { - public static final int GL_MESH_SHADER_NV = 0x9559; - public static final int GL_TASK_SHADER_NV = 0x955A; - public static final int GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60; - public static final int GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61; - public static final int GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62; - public static final int GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63; - public static final int GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64; - public static final int GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65; - public static final int GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66; - public static final int GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; - public static final int GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68; - public static final int GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69; - public static final int GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A; - public static final int GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B; - public static final int GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C; - public static final int GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D; - public static final int GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E; - public static final int GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; - public static final int GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2; - public static final int GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3; - public static final int GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536; - public static final int GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537; - public static final int GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538; - public static final int GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539; - public static final int GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953A; - public static final int GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D; - public static final int GL_MAX_MESH_VIEWS_NV = 0x9557; - public static final int GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF; - public static final int GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543; - public static final int GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B; - public static final int GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C; - public static final int GL_MESH_WORK_GROUP_SIZE_NV = 0x953E; - public static final int GL_TASK_WORK_GROUP_SIZE_NV = 0x953F; - public static final int GL_MESH_VERTICES_OUT_NV = 0x9579; - public static final int GL_MESH_PRIMITIVES_OUT_NV = 0x957A; - public static final int GL_MESH_OUTPUT_TYPE_NV = 0x957B; - public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C; - public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D; - public static final int GL_REFERENCED_BY_MESH_SHADER_NV = 0x95A0; - public static final int GL_REFERENCED_BY_TASK_SHADER_NV = 0x95A1; - public static final int GL_MESH_SHADER_BIT_NV = 0x00000040; - public static final int GL_TASK_SHADER_BIT_NV = 0x00000080; - public static final int GL_MESH_SUBROUTINE_NV = 0x957C; - public static final int GL_TASK_SUBROUTINE_NV = 0x957D; - public static final int GL_MESH_SUBROUTINE_UNIFORM_NV = 0x957E; - public static final int GL_TASK_SUBROUTINE_UNIFORM_NV = 0x957F; - public static final int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E; - public static final int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_mesh_shader) return; - ext.glDrawMeshTasksNV = load.invoke("glDrawMeshTasksNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDrawMeshTasksIndirectNV = load.invoke("glDrawMeshTasksIndirectNV", ofVoid(JAVA_LONG)); - ext.glMultiDrawMeshTasksIndirectNV = load.invoke("glMultiDrawMeshTasksIndirectNV", ofVoid(JAVA_LONG, JAVA_INT, JAVA_INT)); - ext.glMultiDrawMeshTasksIndirectCountNV = load.invoke("glMultiDrawMeshTasksIndirectCountNV", ofVoid(JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_INT)); - } - - public static void glDrawMeshTasksNV(int first, int count) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawMeshTasksNV).invokeExact(first, count); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawMeshTasksIndirectNV(long indirect) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawMeshTasksIndirectNV).invokeExact(indirect); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawMeshTasksIndirectNV(long indirect, int drawcount, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawMeshTasksIndirectNV).invokeExact(indirect, drawcount, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiDrawMeshTasksIndirectCountNV(long indirect, long drawcount, int maxdrawcount, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiDrawMeshTasksIndirectCountNV).invokeExact(indirect, drawcount, maxdrawcount, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVMeshShader { + int GL_MESH_SHADER_NV = 0x9559; + int GL_TASK_SHADER_NV = 0x955A; + int GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60; + int GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61; + int GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62; + int GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63; + int GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64; + int GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65; + int GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66; + int GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; + int GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68; + int GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69; + int GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A; + int GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B; + int GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C; + int GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D; + int GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E; + int GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; + int GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2; + int GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3; + int GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536; + int GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537; + int GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538; + int GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539; + int GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953A; + int GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D; + int GL_MAX_MESH_VIEWS_NV = 0x9557; + int GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF; + int GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543; + int GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B; + int GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C; + int GL_MESH_WORK_GROUP_SIZE_NV = 0x953E; + int GL_TASK_WORK_GROUP_SIZE_NV = 0x953F; + int GL_MESH_VERTICES_OUT_NV = 0x9579; + int GL_MESH_PRIMITIVES_OUT_NV = 0x957A; + int GL_MESH_OUTPUT_TYPE_NV = 0x957B; + int GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C; + int GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D; + int GL_REFERENCED_BY_MESH_SHADER_NV = 0x95A0; + int GL_REFERENCED_BY_TASK_SHADER_NV = 0x95A1; + int GL_MESH_SHADER_BIT_NV = 0x00000040; + int GL_TASK_SHADER_BIT_NV = 0x00000080; + int GL_MESH_SUBROUTINE_NV = 0x957C; + int GL_TASK_SUBROUTINE_NV = 0x957D; + int GL_MESH_SUBROUTINE_UNIFORM_NV = 0x957E; + int GL_TASK_SUBROUTINE_UNIFORM_NV = 0x957F; + int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E; + int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F; + void glDrawMeshTasksNV(int first, int count); + void glDrawMeshTasksIndirectNV(long indirect); + void glMultiDrawMeshTasksIndirectNV(long indirect, int drawcount, int stride); + void glMultiDrawMeshTasksIndirectCountNV(long indirect, long drawcount, int maxdrawcount, int stride); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java index 4f495a8d..db835a02 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_multisample_filter_hint} */ -public final class GLNVMultisampleFilterHint { - public static final int GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534; +public interface GLNVMultisampleFilterHint { + int GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java index f1102e58..204c0343 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java @@ -18,79 +18,23 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_occlusion_query} */ -public final class GLNVOcculusionQuery { - public static final int GL_PIXEL_COUNTER_BITS_NV = 0x8864; - public static final int GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; - public static final int GL_PIXEL_COUNT_NV = 0x8866; - public static final int GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_occlusion_query) return; - ext.glGenOcclusionQueriesNV = load.invoke("glGenOcclusionQueriesNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeleteOcclusionQueriesNV = load.invoke("glDeleteOcclusionQueriesNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsOcclusionQueryNV = load.invoke("glIsOcclusionQueryNV", of(JAVA_BYTE, JAVA_INT)); - ext.glBeginOcclusionQueryNV = load.invoke("glBeginOcclusionQueryNV", ofVoid(JAVA_INT)); - ext.glEndOcclusionQueryNV = load.invoke("glEndOcclusionQueryNV", ofVoid()); - ext.glGetOcclusionQueryivNV = load.invoke("glGetOcclusionQueryivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetOcclusionQueryuivNV = load.invoke("glGetOcclusionQueryuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glGenOcclusionQueriesNV(int n, @NativeType("GLuint *") MemorySegment ids) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenOcclusionQueriesNV).invokeExact(n, ids); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteOcclusionQueriesNV(int n, @NativeType("const GLuint *") MemorySegment ids) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteOcclusionQueriesNV).invokeExact(n, ids); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsOcclusionQueryNV(int id) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsOcclusionQueryNV).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBeginOcclusionQueryNV(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginOcclusionQueryNV).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndOcclusionQueryNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glEndOcclusionQueryNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetOcclusionQueryivNV(int id, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetOcclusionQueryivNV).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetOcclusionQueryuivNV(int id, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetOcclusionQueryuivNV).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVOcculusionQuery { + int GL_PIXEL_COUNTER_BITS_NV = 0x8864; + int GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; + int GL_PIXEL_COUNT_NV = 0x8866; + int GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867; + + void glGenOcclusionQueriesNV(int n, @NativeType("GLuint *") MemorySegment ids); + void glDeleteOcclusionQueriesNV(int n, @NativeType("const GLuint *") MemorySegment ids); + boolean glIsOcclusionQueryNV(int id); + void glBeginOcclusionQueryNV(int id); + void glEndOcclusionQueryNV(); + void glGetOcclusionQueryivNV(int id, int pname, @NativeType("GLint *") MemorySegment params); + void glGetOcclusionQueryuivNV(int id, int pname, @NativeType("GLuint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java index 2e08f44a..dfbf4b36 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_packed_depth_stencil} */ -public final class GLNVPackedDepthStencil { - public static final int GL_DEPTH_STENCIL_NV = 0x84F9; - public static final int GL_UNSIGNED_INT_24_8_NV = 0x84FA; +public interface GLNVPackedDepthStencil { + int GL_DEPTH_STENCIL_NV = 0x84F9; + int GL_UNSIGNED_INT_24_8_NV = 0x84FA; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java index 32dedf19..25604c31 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java @@ -18,47 +18,20 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_parameter_buffer_object} */ -public final class GLNVParameterBufferObject { - public static final int GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; - public static final int GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; - public static final int GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; - public static final int GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; - public static final int GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_parameter_buffer_object) return; - ext.glProgramBufferParametersfvNV = load.invoke("glProgramBufferParametersfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramBufferParametersIivNV = load.invoke("glProgramBufferParametersIivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramBufferParametersIuivNV = load.invoke("glProgramBufferParametersIuivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glProgramBufferParametersfvNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramBufferParametersfvNV).invokeExact(target, bindingIndex, wordIndex, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramBufferParametersIivNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramBufferParametersIivNV).invokeExact(target, bindingIndex, wordIndex, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramBufferParametersIuivNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramBufferParametersIuivNV).invokeExact(target, bindingIndex, wordIndex, count, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVParameterBufferObject { + int GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; + int GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; + int GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; + int GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; + int GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; + void glProgramBufferParametersfvNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLfloat *") MemorySegment params); + void glProgramBufferParametersIivNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLint *") MemorySegment params); + void glProgramBufferParametersIuivNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLuint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java index 2b6c4437..13d16c49 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java @@ -18,702 +18,239 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_path_rendering} */ -public final class GLNVPathRendering { - public static final int GL_PATH_FORMAT_SVG_NV = 0x9070; - public static final int GL_PATH_FORMAT_PS_NV = 0x9071; - public static final int GL_STANDARD_FONT_NAME_NV = 0x9072; - public static final int GL_SYSTEM_FONT_NAME_NV = 0x9073; - public static final int GL_FILE_NAME_NV = 0x9074; - public static final int GL_PATH_STROKE_WIDTH_NV = 0x9075; - public static final int GL_PATH_END_CAPS_NV = 0x9076; - public static final int GL_PATH_INITIAL_END_CAP_NV = 0x9077; - public static final int GL_PATH_TERMINAL_END_CAP_NV = 0x9078; - public static final int GL_PATH_JOIN_STYLE_NV = 0x9079; - public static final int GL_PATH_MITER_LIMIT_NV = 0x907A; - public static final int GL_PATH_DASH_CAPS_NV = 0x907B; - public static final int GL_PATH_INITIAL_DASH_CAP_NV = 0x907C; - public static final int GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D; - public static final int GL_PATH_DASH_OFFSET_NV = 0x907E; - public static final int GL_PATH_CLIENT_LENGTH_NV = 0x907F; - public static final int GL_PATH_FILL_MODE_NV = 0x9080; - public static final int GL_PATH_FILL_MASK_NV = 0x9081; - public static final int GL_PATH_FILL_COVER_MODE_NV = 0x9082; - public static final int GL_PATH_STROKE_COVER_MODE_NV = 0x9083; - public static final int GL_PATH_STROKE_MASK_NV = 0x9084; - public static final int GL_COUNT_UP_NV = 0x9088; - public static final int GL_COUNT_DOWN_NV = 0x9089; - public static final int GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; - public static final int GL_CONVEX_HULL_NV = 0x908B; - public static final int GL_BOUNDING_BOX_NV = 0x908D; - public static final int GL_TRANSLATE_X_NV = 0x908E; - public static final int GL_TRANSLATE_Y_NV = 0x908F; - public static final int GL_TRANSLATE_2D_NV = 0x9090; - public static final int GL_TRANSLATE_3D_NV = 0x9091; - public static final int GL_AFFINE_2D_NV = 0x9092; - public static final int GL_AFFINE_3D_NV = 0x9094; - public static final int GL_TRANSPOSE_AFFINE_2D_NV = 0x9096; - public static final int GL_TRANSPOSE_AFFINE_3D_NV = 0x9098; - public static final int GL_UTF8_NV = 0x909A; - public static final int GL_UTF16_NV = 0x909B; - public static final int GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; - public static final int GL_PATH_COMMAND_COUNT_NV = 0x909D; - public static final int GL_PATH_COORD_COUNT_NV = 0x909E; - public static final int GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F; - public static final int GL_PATH_COMPUTED_LENGTH_NV = 0x90A0; - public static final int GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1; - public static final int GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; - public static final int GL_SQUARE_NV = 0x90A3; - public static final int GL_ROUND_NV = 0x90A4; - public static final int GL_TRIANGULAR_NV = 0x90A5; - public static final int GL_BEVEL_NV = 0x90A6; - public static final int GL_MITER_REVERT_NV = 0x90A7; - public static final int GL_MITER_TRUNCATE_NV = 0x90A8; - public static final int GL_SKIP_MISSING_GLYPH_NV = 0x90A9; - public static final int GL_USE_MISSING_GLYPH_NV = 0x90AA; - public static final int GL_PATH_ERROR_POSITION_NV = 0x90AB; - public static final int GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD; - public static final int GL_ADJACENT_PAIRS_NV = 0x90AE; - public static final int GL_FIRST_TO_REST_NV = 0x90AF; - public static final int GL_PATH_GEN_MODE_NV = 0x90B0; - public static final int GL_PATH_GEN_COEFF_NV = 0x90B1; - public static final int GL_PATH_GEN_COMPONENTS_NV = 0x90B3; - public static final int GL_PATH_STENCIL_FUNC_NV = 0x90B7; - public static final int GL_PATH_STENCIL_REF_NV = 0x90B8; - public static final int GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9; - public static final int GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; - public static final int GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; - public static final int GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF; - public static final int GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4; - public static final int GL_MOVE_TO_RESETS_NV = 0x90B5; - public static final int GL_MOVE_TO_CONTINUES_NV = 0x90B6; - public static final int GL_CLOSE_PATH_NV = 0x00; - public static final int GL_MOVE_TO_NV = 0x02; - public static final int GL_RELATIVE_MOVE_TO_NV = 0x03; - public static final int GL_LINE_TO_NV = 0x04; - public static final int GL_RELATIVE_LINE_TO_NV = 0x05; - public static final int GL_HORIZONTAL_LINE_TO_NV = 0x06; - public static final int GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; - public static final int GL_VERTICAL_LINE_TO_NV = 0x08; - public static final int GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09; - public static final int GL_QUADRATIC_CURVE_TO_NV = 0x0A; - public static final int GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; - public static final int GL_CUBIC_CURVE_TO_NV = 0x0C; - public static final int GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; - public static final int GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; - public static final int GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; - public static final int GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10; - public static final int GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; - public static final int GL_SMALL_CCW_ARC_TO_NV = 0x12; - public static final int GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; - public static final int GL_SMALL_CW_ARC_TO_NV = 0x14; - public static final int GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; - public static final int GL_LARGE_CCW_ARC_TO_NV = 0x16; - public static final int GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; - public static final int GL_LARGE_CW_ARC_TO_NV = 0x18; - public static final int GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; - public static final int GL_RESTART_PATH_NV = 0xF0; - public static final int GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; - public static final int GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; - public static final int GL_RECT_NV = 0xF6; - public static final int GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8; - public static final int GL_CIRCULAR_CW_ARC_TO_NV = 0xFA; - public static final int GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; - public static final int GL_ARC_TO_NV = 0xFE; - public static final int GL_RELATIVE_ARC_TO_NV = 0xFF; - public static final int GL_BOLD_BIT_NV = 0x01; - public static final int GL_ITALIC_BIT_NV = 0x02; - public static final int GL_GLYPH_WIDTH_BIT_NV = 0x01; - public static final int GL_GLYPH_HEIGHT_BIT_NV = 0x02; - public static final int GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; - public static final int GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; - public static final int GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; - public static final int GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; - public static final int GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; - public static final int GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; - public static final int GL_GLYPH_HAS_KERNING_BIT_NV = 0x100; - public static final int GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; - public static final int GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; - public static final int GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; - public static final int GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; - public static final int GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000; - public static final int GL_FONT_ASCENDER_BIT_NV = 0x00200000; - public static final int GL_FONT_DESCENDER_BIT_NV = 0x00400000; - public static final int GL_FONT_HEIGHT_BIT_NV = 0x00800000; - public static final int GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; - public static final int GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; - public static final int GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; - public static final int GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; - public static final int GL_FONT_HAS_KERNING_BIT_NV = 0x10000000; - public static final int GL_ROUNDED_RECT_NV = 0xE8; - public static final int GL_RELATIVE_ROUNDED_RECT_NV = 0xE9; - public static final int GL_ROUNDED_RECT2_NV = 0xEA; - public static final int GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB; - public static final int GL_ROUNDED_RECT4_NV = 0xEC; - public static final int GL_RELATIVE_ROUNDED_RECT4_NV = 0xED; - public static final int GL_ROUNDED_RECT8_NV = 0xEE; - public static final int GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF; - public static final int GL_RELATIVE_RECT_NV = 0xF7; - public static final int GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368; - public static final int GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369; - public static final int GL_FONT_UNAVAILABLE_NV = 0x936A; - public static final int GL_FONT_UNINTELLIGIBLE_NV = 0x936B; - public static final int GL_CONIC_CURVE_TO_NV = 0x1A; - public static final int GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B; - public static final int GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; - public static final int GL_STANDARD_FONT_FORMAT_NV = 0x936C; - public static final int GL_2_BYTES_NV = 0x1407; - public static final int GL_3_BYTES_NV = 0x1408; - public static final int GL_4_BYTES_NV = 0x1409; - public static final int GL_EYE_LINEAR_NV = 0x2400; - public static final int GL_OBJECT_LINEAR_NV = 0x2401; - public static final int GL_CONSTANT_NV = 0x8576; - public static final int GL_PATH_FOG_GEN_MODE_NV = 0x90AC; - public static final int GL_PRIMARY_COLOR_NV = 0x852C; - public static final int GL_SECONDARY_COLOR_NV = 0x852D; - public static final int GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2; - public static final int GL_PATH_PROJECTION_NV = 0x1701; - public static final int GL_PATH_MODELVIEW_NV = 0x1700; - public static final int GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; - public static final int GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6; - public static final int GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; - public static final int GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; - public static final int GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; - public static final int GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7; - public static final int GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; - public static final int GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; - public static final int GL_FRAGMENT_INPUT_NV = 0x936D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_path_rendering) return; - ext.glGenPathsNV = load.invoke("glGenPathsNV", of(JAVA_INT, JAVA_INT)); - ext.glDeletePathsNV = load.invoke("glDeletePathsNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glIsPathNV = load.invoke("glIsPathNV", of(JAVA_BYTE, JAVA_INT)); - ext.glPathCommandsNV = load.invoke("glPathCommandsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathCoordsNV = load.invoke("glPathCoordsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathSubCommandsNV = load.invoke("glPathSubCommandsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathSubCoordsNV = load.invoke("glPathSubCoordsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathStringNV = load.invoke("glPathStringNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathGlyphsNV = load.invoke("glPathGlyphsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glPathGlyphRangeNV = load.invoke("glPathGlyphRangeNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glWeightPathsNV = load.invoke("glWeightPathsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glCopyPathNV = load.invoke("glCopyPathNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glInterpolatePathsNV = load.invoke("glInterpolatePathsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glTransformPathNV = load.invoke("glTransformPathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathParameterivNV = load.invoke("glPathParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathParameteriNV = load.invoke("glPathParameteriNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glPathParameterfvNV = load.invoke("glPathParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathParameterfNV = load.invoke("glPathParameterfNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glPathDashArrayNV = load.invoke("glPathDashArrayNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathStencilFuncNV = load.invoke("glPathStencilFuncNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glPathStencilDepthOffsetNV = load.invoke("glPathStencilDepthOffsetNV", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); - ext.glStencilFillPathNV = load.invoke("glStencilFillPathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glStencilStrokePathNV = load.invoke("glStencilStrokePathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glStencilFillPathInstancedNV = load.invoke("glStencilFillPathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glStencilStrokePathInstancedNV = load.invoke("glStencilStrokePathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathCoverDepthFuncNV = load.invoke("glPathCoverDepthFuncNV", ofVoid(JAVA_INT)); - ext.glCoverFillPathNV = load.invoke("glCoverFillPathNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glCoverStrokePathNV = load.invoke("glCoverStrokePathNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glCoverFillPathInstancedNV = load.invoke("glCoverFillPathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCoverStrokePathInstancedNV = load.invoke("glCoverStrokePathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathParameterivNV = load.invoke("glGetPathParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathParameterfvNV = load.invoke("glGetPathParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathCommandsNV = load.invoke("glGetPathCommandsNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetPathCoordsNV = load.invoke("glGetPathCoordsNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetPathDashArrayNV = load.invoke("glGetPathDashArrayNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetPathMetricsNV = load.invoke("glGetPathMetricsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathMetricRangeNV = load.invoke("glGetPathMetricRangeNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathSpacingNV = load.invoke("glGetPathSpacingNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, ADDRESS)); - ext.glIsPointInFillPathNV = load.invoke("glIsPointInFillPathNV", of(JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glIsPointInStrokePathNV = load.invoke("glIsPointInStrokePathNV", of(JAVA_BYTE, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glGetPathLengthNV = load.invoke("glGetPathLengthNV", of(JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glPointAlongPathNV = load.invoke("glPointAlongPathNV", of(JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glMatrixLoad3x2fNV = load.invoke("glMatrixLoad3x2fNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixLoad3x3fNV = load.invoke("glMatrixLoad3x3fNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixLoadTranspose3x3fNV = load.invoke("glMatrixLoadTranspose3x3fNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixMult3x2fNV = load.invoke("glMatrixMult3x2fNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixMult3x3fNV = load.invoke("glMatrixMult3x3fNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glMatrixMultTranspose3x3fNV = load.invoke("glMatrixMultTranspose3x3fNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glStencilThenCoverFillPathNV = load.invoke("glStencilThenCoverFillPathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glStencilThenCoverStrokePathNV = load.invoke("glStencilThenCoverStrokePathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glStencilThenCoverFillPathInstancedNV = load.invoke("glStencilThenCoverFillPathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glStencilThenCoverStrokePathInstancedNV = load.invoke("glStencilThenCoverStrokePathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathGlyphIndexRangeNV = load.invoke("glPathGlyphIndexRangeNV", of(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_FLOAT, ADDRESS)); - ext.glPathGlyphIndexArrayNV = load.invoke("glPathGlyphIndexArrayNV", of(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glPathMemoryGlyphIndexArrayNV = load.invoke("glPathMemoryGlyphIndexArrayNV", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glProgramPathFragmentInputGenNV = load.invoke("glProgramPathFragmentInputGenNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramResourcefvNV = load.invoke("glGetProgramResourcefvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); - ext.glPathColorGenNV = load.invoke("glPathColorGenNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathTexGenNV = load.invoke("glPathTexGenNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPathFogGenNV = load.invoke("glPathFogGenNV", ofVoid(JAVA_INT)); - ext.glGetPathColorGenivNV = load.invoke("glGetPathColorGenivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathColorGenfvNV = load.invoke("glGetPathColorGenfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathTexGenivNV = load.invoke("glGetPathTexGenivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetPathTexGenfvNV = load.invoke("glGetPathTexGenfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static int glGenPathsNV(int range) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGenPathsNV).invokeExact(range); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeletePathsNV(int path, int range) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeletePathsNV).invokeExact(path, range); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsPathNV(int path) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsPathNV).invokeExact(path); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathCommandsNV(int path, int numCommands, @NativeType("const GLubyte *") MemorySegment commands, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathCommandsNV).invokeExact(path, numCommands, commands, numCoords, coordType, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathCoordsNV(int path, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathCoordsNV).invokeExact(path, numCoords, coordType, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathSubCommandsNV(int path, int commandStart, int commandsToDelete, int numCommands, @NativeType("const GLubyte *") MemorySegment commands, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathSubCommandsNV).invokeExact(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathSubCoordsNV(int path, int coordStart, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathSubCoordsNV).invokeExact(path, coordStart, numCoords, coordType, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathStringNV(int path, int format, int length, @NativeType("const void *") MemorySegment pathString) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathStringNV).invokeExact(path, format, length, pathString); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathGlyphsNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int numGlyphs, int type, @NativeType("const void *") MemorySegment charcodes, int handleMissingGlyphs, int pathParameterTemplate, float emScale) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathGlyphsNV).invokeExact(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathGlyphRangeNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int firstGlyph, int numGlyphs, int handleMissingGlyphs, int pathParameterTemplate, float emScale) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathGlyphRangeNV).invokeExact(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWeightPathsNV(int resultPath, int numPaths, @NativeType("const GLuint *") MemorySegment paths, @NativeType("const GLfloat *") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glWeightPathsNV).invokeExact(resultPath, numPaths, paths, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyPathNV(int resultPath, int srcPath) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyPathNV).invokeExact(resultPath, srcPath); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glInterpolatePathsNV(int resultPath, int pathA, int pathB, float weight) { - final var ext = getExtCapabilities(); - try { - check(ext.glInterpolatePathsNV).invokeExact(resultPath, pathA, pathB, weight); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTransformPathNV(int resultPath, int srcPath, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { - final var ext = getExtCapabilities(); - try { - check(ext.glTransformPathNV).invokeExact(resultPath, srcPath, transformType, transformValues); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathParameterivNV(int path, int pname, @NativeType("const GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathParameterivNV).invokeExact(path, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathParameteriNV(int path, int pname, int value) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathParameteriNV).invokeExact(path, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathParameterfvNV(int path, int pname, @NativeType("const GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathParameterfvNV).invokeExact(path, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathParameterfNV(int path, int pname, float value) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathParameterfNV).invokeExact(path, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathDashArrayNV(int path, int dashCount, @NativeType("const GLfloat *") MemorySegment dashArray) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathDashArrayNV).invokeExact(path, dashCount, dashArray); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathStencilFuncNV(int func, int ref, int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathStencilFuncNV).invokeExact(func, ref, mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathStencilDepthOffsetNV(float factor, float units) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathStencilDepthOffsetNV).invokeExact(factor, units); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilFillPathNV(int path, int fillMode, int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilFillPathNV).invokeExact(path, fillMode, mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilStrokePathNV(int path, int reference, int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilStrokePathNV).invokeExact(path, reference, mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int fillMode, int mask, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilFillPathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int reference, int mask, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilStrokePathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathCoverDepthFuncNV(int func) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathCoverDepthFuncNV).invokeExact(func); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCoverFillPathNV(int path, int coverMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glCoverFillPathNV).invokeExact(path, coverMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCoverStrokePathNV(int path, int coverMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glCoverStrokePathNV).invokeExact(path, coverMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCoverFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { - final var ext = getExtCapabilities(); - try { - check(ext.glCoverFillPathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCoverStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { - final var ext = getExtCapabilities(); - try { - check(ext.glCoverStrokePathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathParameterivNV(int path, int pname, @NativeType("GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathParameterivNV).invokeExact(path, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathParameterfvNV(int path, int pname, @NativeType("GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathParameterfvNV).invokeExact(path, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathCommandsNV(int path, @NativeType("GLubyte *") MemorySegment commands) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathCommandsNV).invokeExact(path, commands); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathCoordsNV(int path, @NativeType("GLfloat *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathCoordsNV).invokeExact(path, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathDashArrayNV(int path, @NativeType("GLfloat *") MemorySegment dashArray) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathDashArrayNV).invokeExact(path, dashArray); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathMetricsNV(int metricQueryMask, int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int stride, @NativeType("GLfloat *") MemorySegment metrics) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathMetricsNV).invokeExact(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathMetricRangeNV(int metricQueryMask, int firstPathName, int numPaths, int stride, @NativeType("GLfloat *") MemorySegment metrics) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathMetricRangeNV).invokeExact(metricQueryMask, firstPathName, numPaths, stride, metrics); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathSpacingNV(int pathListMode, int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, float advanceScale, float kerningScale, int transformType, @NativeType("GLfloat *") MemorySegment returnedSpacing) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathSpacingNV).invokeExact(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsPointInFillPathNV(int path, int mask, float x, float y) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsPointInFillPathNV).invokeExact(path, mask, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsPointInStrokePathNV(int path, float x, float y) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsPointInStrokePathNV).invokeExact(path, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static float glGetPathLengthNV(int path, int startSegment, int numSegments) { - final var ext = getExtCapabilities(); - try { - return (float) - check(ext.glGetPathLengthNV).invokeExact(path, startSegment, numSegments); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glPointAlongPathNV(int path, int startSegment, int numSegments, float distance, @NativeType("GLfloat *") MemorySegment x, @NativeType("GLfloat *") MemorySegment y, @NativeType("GLfloat *") MemorySegment tangentX, @NativeType("GLfloat *") MemorySegment tangentY) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glPointAlongPathNV).invokeExact(path, startSegment, numSegments, distance, x, y, tangentX, tangentY); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixLoad3x2fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoad3x2fNV).invokeExact(matrixMode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixLoad3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoad3x3fNV).invokeExact(matrixMode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixLoadTranspose3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixLoadTranspose3x3fNV).invokeExact(matrixMode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixMult3x2fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixMult3x2fNV).invokeExact(matrixMode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixMult3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixMult3x3fNV).invokeExact(matrixMode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMatrixMultTranspose3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMatrixMultTranspose3x3fNV).invokeExact(matrixMode, m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilThenCoverFillPathNV(int path, int fillMode, int mask, int coverMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilThenCoverFillPathNV).invokeExact(path, fillMode, mask, coverMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilThenCoverStrokePathNV(int path, int reference, int mask, int coverMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilThenCoverStrokePathNV).invokeExact(path, reference, mask, coverMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilThenCoverFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int fillMode, int mask, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilThenCoverFillPathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStencilThenCoverStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int reference, int mask, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { - final var ext = getExtCapabilities(); - try { - check(ext.glStencilThenCoverStrokePathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glPathGlyphIndexRangeNV(int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int pathParameterTemplate, float emScale, @NativeType("GLuint *") MemorySegment baseAndCount) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glPathGlyphIndexRangeNV).invokeExact(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glPathGlyphIndexArrayNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int firstGlyphIndex, int numGlyphs, int pathParameterTemplate, float emScale) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glPathGlyphIndexArrayNV).invokeExact(firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glPathMemoryGlyphIndexArrayNV(int firstPathName, int fontTarget, long fontSize, @NativeType("const void *") MemorySegment fontData, int faceIndex, int firstGlyphIndex, int numGlyphs, int pathParameterTemplate, float emScale) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glPathMemoryGlyphIndexArrayNV).invokeExact(firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramPathFragmentInputGenNV(int program, int location, int genMode, int components, @NativeType("const GLfloat *") MemorySegment coeffs) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramPathFragmentInputGenNV).invokeExact(program, location, genMode, components, coeffs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramResourcefvNV(int program, int programInterface, int index, int propCount, @NativeType("const GLenum *") MemorySegment props, int count, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramResourcefvNV).invokeExact(program, programInterface, index, propCount, props, count, length, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathColorGenNV(int color, int genMode, int colorFormat, @NativeType("const GLfloat *") MemorySegment coeffs) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathColorGenNV).invokeExact(color, genMode, colorFormat, coeffs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathTexGenNV(int texCoordSet, int genMode, int components, @NativeType("const GLfloat *") MemorySegment coeffs) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathTexGenNV).invokeExact(texCoordSet, genMode, components, coeffs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPathFogGenNV(int genMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glPathFogGenNV).invokeExact(genMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathColorGenivNV(int color, int pname, @NativeType("GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathColorGenivNV).invokeExact(color, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathColorGenfvNV(int color, int pname, @NativeType("GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathColorGenfvNV).invokeExact(color, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathTexGenivNV(int texCoordSet, int pname, @NativeType("GLint *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathTexGenivNV).invokeExact(texCoordSet, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPathTexGenfvNV(int texCoordSet, int pname, @NativeType("GLfloat *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPathTexGenfvNV).invokeExact(texCoordSet, pname, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVPathRendering { + int GL_PATH_FORMAT_SVG_NV = 0x9070; + int GL_PATH_FORMAT_PS_NV = 0x9071; + int GL_STANDARD_FONT_NAME_NV = 0x9072; + int GL_SYSTEM_FONT_NAME_NV = 0x9073; + int GL_FILE_NAME_NV = 0x9074; + int GL_PATH_STROKE_WIDTH_NV = 0x9075; + int GL_PATH_END_CAPS_NV = 0x9076; + int GL_PATH_INITIAL_END_CAP_NV = 0x9077; + int GL_PATH_TERMINAL_END_CAP_NV = 0x9078; + int GL_PATH_JOIN_STYLE_NV = 0x9079; + int GL_PATH_MITER_LIMIT_NV = 0x907A; + int GL_PATH_DASH_CAPS_NV = 0x907B; + int GL_PATH_INITIAL_DASH_CAP_NV = 0x907C; + int GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D; + int GL_PATH_DASH_OFFSET_NV = 0x907E; + int GL_PATH_CLIENT_LENGTH_NV = 0x907F; + int GL_PATH_FILL_MODE_NV = 0x9080; + int GL_PATH_FILL_MASK_NV = 0x9081; + int GL_PATH_FILL_COVER_MODE_NV = 0x9082; + int GL_PATH_STROKE_COVER_MODE_NV = 0x9083; + int GL_PATH_STROKE_MASK_NV = 0x9084; + int GL_COUNT_UP_NV = 0x9088; + int GL_COUNT_DOWN_NV = 0x9089; + int GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; + int GL_CONVEX_HULL_NV = 0x908B; + int GL_BOUNDING_BOX_NV = 0x908D; + int GL_TRANSLATE_X_NV = 0x908E; + int GL_TRANSLATE_Y_NV = 0x908F; + int GL_TRANSLATE_2D_NV = 0x9090; + int GL_TRANSLATE_3D_NV = 0x9091; + int GL_AFFINE_2D_NV = 0x9092; + int GL_AFFINE_3D_NV = 0x9094; + int GL_TRANSPOSE_AFFINE_2D_NV = 0x9096; + int GL_TRANSPOSE_AFFINE_3D_NV = 0x9098; + int GL_UTF8_NV = 0x909A; + int GL_UTF16_NV = 0x909B; + int GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; + int GL_PATH_COMMAND_COUNT_NV = 0x909D; + int GL_PATH_COORD_COUNT_NV = 0x909E; + int GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F; + int GL_PATH_COMPUTED_LENGTH_NV = 0x90A0; + int GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1; + int GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; + int GL_SQUARE_NV = 0x90A3; + int GL_ROUND_NV = 0x90A4; + int GL_TRIANGULAR_NV = 0x90A5; + int GL_BEVEL_NV = 0x90A6; + int GL_MITER_REVERT_NV = 0x90A7; + int GL_MITER_TRUNCATE_NV = 0x90A8; + int GL_SKIP_MISSING_GLYPH_NV = 0x90A9; + int GL_USE_MISSING_GLYPH_NV = 0x90AA; + int GL_PATH_ERROR_POSITION_NV = 0x90AB; + int GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD; + int GL_ADJACENT_PAIRS_NV = 0x90AE; + int GL_FIRST_TO_REST_NV = 0x90AF; + int GL_PATH_GEN_MODE_NV = 0x90B0; + int GL_PATH_GEN_COEFF_NV = 0x90B1; + int GL_PATH_GEN_COMPONENTS_NV = 0x90B3; + int GL_PATH_STENCIL_FUNC_NV = 0x90B7; + int GL_PATH_STENCIL_REF_NV = 0x90B8; + int GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9; + int GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; + int GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; + int GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF; + int GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4; + int GL_MOVE_TO_RESETS_NV = 0x90B5; + int GL_MOVE_TO_CONTINUES_NV = 0x90B6; + int GL_CLOSE_PATH_NV = 0x00; + int GL_MOVE_TO_NV = 0x02; + int GL_RELATIVE_MOVE_TO_NV = 0x03; + int GL_LINE_TO_NV = 0x04; + int GL_RELATIVE_LINE_TO_NV = 0x05; + int GL_HORIZONTAL_LINE_TO_NV = 0x06; + int GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; + int GL_VERTICAL_LINE_TO_NV = 0x08; + int GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09; + int GL_QUADRATIC_CURVE_TO_NV = 0x0A; + int GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; + int GL_CUBIC_CURVE_TO_NV = 0x0C; + int GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; + int GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; + int GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; + int GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10; + int GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; + int GL_SMALL_CCW_ARC_TO_NV = 0x12; + int GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; + int GL_SMALL_CW_ARC_TO_NV = 0x14; + int GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; + int GL_LARGE_CCW_ARC_TO_NV = 0x16; + int GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; + int GL_LARGE_CW_ARC_TO_NV = 0x18; + int GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; + int GL_RESTART_PATH_NV = 0xF0; + int GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; + int GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; + int GL_RECT_NV = 0xF6; + int GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8; + int GL_CIRCULAR_CW_ARC_TO_NV = 0xFA; + int GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; + int GL_ARC_TO_NV = 0xFE; + int GL_RELATIVE_ARC_TO_NV = 0xFF; + int GL_BOLD_BIT_NV = 0x01; + int GL_ITALIC_BIT_NV = 0x02; + int GL_GLYPH_WIDTH_BIT_NV = 0x01; + int GL_GLYPH_HEIGHT_BIT_NV = 0x02; + int GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; + int GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; + int GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; + int GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; + int GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; + int GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; + int GL_GLYPH_HAS_KERNING_BIT_NV = 0x100; + int GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; + int GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; + int GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; + int GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; + int GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000; + int GL_FONT_ASCENDER_BIT_NV = 0x00200000; + int GL_FONT_DESCENDER_BIT_NV = 0x00400000; + int GL_FONT_HEIGHT_BIT_NV = 0x00800000; + int GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; + int GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; + int GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; + int GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; + int GL_FONT_HAS_KERNING_BIT_NV = 0x10000000; + int GL_ROUNDED_RECT_NV = 0xE8; + int GL_RELATIVE_ROUNDED_RECT_NV = 0xE9; + int GL_ROUNDED_RECT2_NV = 0xEA; + int GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB; + int GL_ROUNDED_RECT4_NV = 0xEC; + int GL_RELATIVE_ROUNDED_RECT4_NV = 0xED; + int GL_ROUNDED_RECT8_NV = 0xEE; + int GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF; + int GL_RELATIVE_RECT_NV = 0xF7; + int GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368; + int GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369; + int GL_FONT_UNAVAILABLE_NV = 0x936A; + int GL_FONT_UNINTELLIGIBLE_NV = 0x936B; + int GL_CONIC_CURVE_TO_NV = 0x1A; + int GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B; + int GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; + int GL_STANDARD_FONT_FORMAT_NV = 0x936C; + int GL_2_BYTES_NV = 0x1407; + int GL_3_BYTES_NV = 0x1408; + int GL_4_BYTES_NV = 0x1409; + int GL_EYE_LINEAR_NV = 0x2400; + int GL_OBJECT_LINEAR_NV = 0x2401; + int GL_CONSTANT_NV = 0x8576; + int GL_PATH_FOG_GEN_MODE_NV = 0x90AC; + int GL_PRIMARY_COLOR_NV = 0x852C; + int GL_SECONDARY_COLOR_NV = 0x852D; + int GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2; + int GL_PATH_PROJECTION_NV = 0x1701; + int GL_PATH_MODELVIEW_NV = 0x1700; + int GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; + int GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6; + int GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; + int GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; + int GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; + int GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7; + int GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; + int GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; + int GL_FRAGMENT_INPUT_NV = 0x936D; + + int glGenPathsNV(int range); + void glDeletePathsNV(int path, int range); + boolean glIsPathNV(int path); + void glPathCommandsNV(int path, int numCommands, @NativeType("const GLubyte *") MemorySegment commands, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords); + void glPathCoordsNV(int path, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords); + void glPathSubCommandsNV(int path, int commandStart, int commandsToDelete, int numCommands, @NativeType("const GLubyte *") MemorySegment commands, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords); + void glPathSubCoordsNV(int path, int coordStart, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords); + void glPathStringNV(int path, int format, int length, @NativeType("const void *") MemorySegment pathString); + void glPathGlyphsNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int numGlyphs, int type, @NativeType("const void *") MemorySegment charcodes, int handleMissingGlyphs, int pathParameterTemplate, float emScale); + void glPathGlyphRangeNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int firstGlyph, int numGlyphs, int handleMissingGlyphs, int pathParameterTemplate, float emScale); + void glWeightPathsNV(int resultPath, int numPaths, @NativeType("const GLuint *") MemorySegment paths, @NativeType("const GLfloat *") MemorySegment weights); + void glCopyPathNV(int resultPath, int srcPath); + void glInterpolatePathsNV(int resultPath, int pathA, int pathB, float weight); + void glTransformPathNV(int resultPath, int srcPath, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues); + void glPathParameterivNV(int path, int pname, @NativeType("const GLint *") MemorySegment value); + void glPathParameteriNV(int path, int pname, int value); + void glPathParameterfvNV(int path, int pname, @NativeType("const GLfloat *") MemorySegment value); + void glPathParameterfNV(int path, int pname, float value); + void glPathDashArrayNV(int path, int dashCount, @NativeType("const GLfloat *") MemorySegment dashArray); + void glPathStencilFuncNV(int func, int ref, int mask); + void glPathStencilDepthOffsetNV(float factor, float units); + void glStencilFillPathNV(int path, int fillMode, int mask); + void glStencilStrokePathNV(int path, int reference, int mask); + void glStencilFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int fillMode, int mask, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues); + void glStencilStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int reference, int mask, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues); + void glPathCoverDepthFuncNV(int func); + void glCoverFillPathNV(int path, int coverMode); + void glCoverStrokePathNV(int path, int coverMode); + void glCoverFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues); + void glCoverStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues); + void glGetPathParameterivNV(int path, int pname, @NativeType("GLint *") MemorySegment value); + void glGetPathParameterfvNV(int path, int pname, @NativeType("GLfloat *") MemorySegment value); + void glGetPathCommandsNV(int path, @NativeType("GLubyte *") MemorySegment commands); + void glGetPathCoordsNV(int path, @NativeType("GLfloat *") MemorySegment coords); + void glGetPathDashArrayNV(int path, @NativeType("GLfloat *") MemorySegment dashArray); + void glGetPathMetricsNV(int metricQueryMask, int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int stride, @NativeType("GLfloat *") MemorySegment metrics); + void glGetPathMetricRangeNV(int metricQueryMask, int firstPathName, int numPaths, int stride, @NativeType("GLfloat *") MemorySegment metrics); + void glGetPathSpacingNV(int pathListMode, int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, float advanceScale, float kerningScale, int transformType, @NativeType("GLfloat *") MemorySegment returnedSpacing); + boolean glIsPointInFillPathNV(int path, int mask, float x, float y); + boolean glIsPointInStrokePathNV(int path, float x, float y); + float glGetPathLengthNV(int path, int startSegment, int numSegments); + boolean glPointAlongPathNV(int path, int startSegment, int numSegments, float distance, @NativeType("GLfloat *") MemorySegment x, @NativeType("GLfloat *") MemorySegment y, @NativeType("GLfloat *") MemorySegment tangentX, @NativeType("GLfloat *") MemorySegment tangentY); + void glMatrixLoad3x2fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixLoad3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixLoadTranspose3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixMult3x2fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixMult3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m); + void glMatrixMultTranspose3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m); + void glStencilThenCoverFillPathNV(int path, int fillMode, int mask, int coverMode); + void glStencilThenCoverStrokePathNV(int path, int reference, int mask, int coverMode); + void glStencilThenCoverFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int fillMode, int mask, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues); + void glStencilThenCoverStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int reference, int mask, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues); + int glPathGlyphIndexRangeNV(int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int pathParameterTemplate, float emScale, @NativeType("GLuint *") MemorySegment baseAndCount); + int glPathGlyphIndexArrayNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int firstGlyphIndex, int numGlyphs, int pathParameterTemplate, float emScale); + int glPathMemoryGlyphIndexArrayNV(int firstPathName, int fontTarget, long fontSize, @NativeType("const void *") MemorySegment fontData, int faceIndex, int firstGlyphIndex, int numGlyphs, int pathParameterTemplate, float emScale); + void glProgramPathFragmentInputGenNV(int program, int location, int genMode, int components, @NativeType("const GLfloat *") MemorySegment coeffs); + void glGetProgramResourcefvNV(int program, int programInterface, int index, int propCount, @NativeType("const GLenum *") MemorySegment props, int count, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLfloat *") MemorySegment params); + void glPathColorGenNV(int color, int genMode, int colorFormat, @NativeType("const GLfloat *") MemorySegment coeffs); + void glPathTexGenNV(int texCoordSet, int genMode, int components, @NativeType("const GLfloat *") MemorySegment coeffs); + void glPathFogGenNV(int genMode); + void glGetPathColorGenivNV(int color, int pname, @NativeType("GLint *") MemorySegment value); + void glGetPathColorGenfvNV(int color, int pname, @NativeType("GLfloat *") MemorySegment value); + void glGetPathTexGenivNV(int texCoordSet, int pname, @NativeType("GLint *") MemorySegment value); + void glGetPathTexGenfvNV(int texCoordSet, int pname, @NativeType("GLfloat *") MemorySegment value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java index 379ca3e9..544a2321 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_path_rendering_shared_edge} */ -public final class GLNVPathRenderingSharedEdge { - public static final int GL_SHARED_EDGE_NV = 0xC0; +public interface GLNVPathRenderingSharedEdge { + int GL_SHARED_EDGE_NV = 0xC0; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java index a706583a..11760d00 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java @@ -18,40 +18,20 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_pixel_data_range} */ -public final class GLNVPixelDataRange { - public static final int GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878; - public static final int GL_READ_PIXEL_DATA_RANGE_NV = 0x8879; - public static final int GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; - public static final int GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; - public static final int GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; - public static final int GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_pixel_data_range) return; - ext.glPixelDataRangeNV = load.invoke("glPixelDataRangeNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFlushPixelDataRangeNV = load.invoke("glFlushPixelDataRangeNV", ofVoid(JAVA_INT)); - } - - public static void glPixelDataRangeNV(int target, int length, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelDataRangeNV).invokeExact(target, length, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFlushPixelDataRangeNV(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glFlushPixelDataRangeNV).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVPixelDataRange { + int GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878; + int GL_READ_PIXEL_DATA_RANGE_NV = 0x8879; + int GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; + int GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; + int GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; + int GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; + void glPixelDataRangeNV(int target, int length, @NativeType("const void *") MemorySegment pointer); + void glFlushPixelDataRangeNV(int target); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java index df57ac2e..86e372ba 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java @@ -18,37 +18,17 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_point_sprite} */ -public final class GLNVPointSprite { - public static final int GL_POINT_SPRITE_NV = 0x8861; - public static final int GL_COORD_REPLACE_NV = 0x8862; - public static final int GL_POINT_SPRITE_R_MODE_NV = 0x8863; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_point_sprite) return; - ext.glPointParameteriNV = load.invoke("glPointParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glPointParameterivNV = load.invoke("glPointParameterivNV", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glPointParameteriNV(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameteriNV).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPointParameterivNV(int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterivNV).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVPointSprite { + int GL_POINT_SPRITE_NV = 0x8861; + int GL_COORD_REPLACE_NV = 0x8862; + int GL_POINT_SPRITE_R_MODE_NV = 0x8863; + void glPointParameteriNV(int pname, int param); + void glPointParameterivNV(int pname, @NativeType("const GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java index 82f63cdd..3cf2712c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java @@ -18,72 +18,24 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_present_video} */ -public final class GLNVPresentVideo { - public static final int GL_FRAME_NV = 0x8E26; - public static final int GL_FIELDS_NV = 0x8E27; - public static final int GL_CURRENT_TIME_NV = 0x8E28; - public static final int GL_NUM_FILL_STREAMS_NV = 0x8E29; - public static final int GL_PRESENT_TIME_NV = 0x8E2A; - public static final int GL_PRESENT_DURATION_NV = 0x8E2B; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_present_video) return; - ext.glPresentFrameKeyedNV = load.invoke("glPresentFrameKeyedNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glPresentFrameDualFillNV = load.invoke("glPresentFrameDualFillNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetVideoivNV = load.invoke("glGetVideoivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVideouivNV = load.invoke("glGetVideouivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVideoi64vNV = load.invoke("glGetVideoi64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVideoui64vNV = load.invoke("glGetVideoui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glPresentFrameKeyedNV(int video_slot, long minPresentTime, int beginPresentTimeId, int presentDurationId, int type, int target0, int fill0, int key0, int target1, int fill1, int key1) { - final var ext = getExtCapabilities(); - try { - check(ext.glPresentFrameKeyedNV).invokeExact(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPresentFrameDualFillNV(int video_slot, long minPresentTime, int beginPresentTimeId, int presentDurationId, int type, int target0, int fill0, int target1, int fill1, int target2, int fill2, int target3, int fill3) { - final var ext = getExtCapabilities(); - try { - check(ext.glPresentFrameDualFillNV).invokeExact(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideoivNV(int video_slot, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideoivNV).invokeExact(video_slot, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideouivNV(int video_slot, int pname, @NativeType("GLuint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideouivNV).invokeExact(video_slot, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideoi64vNV(int video_slot, int pname, @NativeType("GLint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideoi64vNV).invokeExact(video_slot, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideoui64vNV(int video_slot, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideoui64vNV).invokeExact(video_slot, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVPresentVideo { + int GL_FRAME_NV = 0x8E26; + int GL_FIELDS_NV = 0x8E27; + int GL_CURRENT_TIME_NV = 0x8E28; + int GL_NUM_FILL_STREAMS_NV = 0x8E29; + int GL_PRESENT_TIME_NV = 0x8E2A; + int GL_PRESENT_DURATION_NV = 0x8E2B; + + void glPresentFrameKeyedNV(int video_slot, long minPresentTime, int beginPresentTimeId, int presentDurationId, int type, int target0, int fill0, int key0, int target1, int fill1, int key1); + void glPresentFrameDualFillNV(int video_slot, long minPresentTime, int beginPresentTimeId, int presentDurationId, int type, int target0, int fill0, int target1, int fill1, int target2, int fill2, int target3, int fill3); + void glGetVideoivNV(int video_slot, int pname, @NativeType("GLint *") MemorySegment params); + void glGetVideouivNV(int video_slot, int pname, @NativeType("GLuint *") MemorySegment params); + void glGetVideoi64vNV(int video_slot, int pname, @NativeType("GLint64EXT *") MemorySegment params); + void glGetVideoui64vNV(int video_slot, int pname, @NativeType("GLuint64EXT *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java index 170f31db..6a3ca10e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java @@ -18,36 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_primitive_restart} */ -public final class GLNVPrimitiveRestart { - public static final int GL_PRIMITIVE_RESTART_NV = 0x8558; - public static final int GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_primitive_restart) return; - ext.glPrimitiveRestartNV = load.invoke("glPrimitiveRestartNV", ofVoid()); - ext.glPrimitiveRestartIndexNV = load.invoke("glPrimitiveRestartIndexNV", ofVoid(JAVA_INT)); - } - - public static void glPrimitiveRestartNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glPrimitiveRestartNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPrimitiveRestartIndexNV(int index) { - final var ext = getExtCapabilities(); - try { - check(ext.glPrimitiveRestartIndexNV).invokeExact(index); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVPrimitiveRestart { + int GL_PRIMITIVE_RESTART_NV = 0x8558; + int GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559; + void glPrimitiveRestartNV(); + void glPrimitiveRestartIndexNV(int index); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java index 9bc7af3c..b15ec155 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_primitive_shading_rate} */ -public final class GLNVPrimitiveShadingRate { - public static final int GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1; - public static final int GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2; +public interface GLNVPrimitiveShadingRate { + int GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1; + int GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java index ced4cffb..303a7a3b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java @@ -18,33 +18,19 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_query_resource} */ -public final class GLNVQueryResource { - public static final int GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540; - public static final int GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542; - public static final int GL_QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544; - public static final int GL_QUERY_RESOURCE_TEXTURE_NV = 0x9545; - public static final int GL_QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546; - public static final int GL_QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_query_resource) return; - ext.glQueryResourceNV = load.invoke("glQueryResourceNV", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static int glQueryResourceNV(int queryType, int tagId, int count, @NativeType("GLint *") MemorySegment buffer) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glQueryResourceNV).invokeExact(queryType, tagId, count, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVQueryResource { + int GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540; + int GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542; + int GL_QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544; + int GL_QUERY_RESOURCE_TEXTURE_NV = 0x9545; + int GL_QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546; + int GL_QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547; + int glQueryResourceNV(int queryType, int tagId, int count, @NativeType("GLint *") MemorySegment buffer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java index 3d5b7348..ce995a77 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java @@ -18,42 +18,15 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_query_resource_tag} */ -public final class GLNVQueryResourceTag { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_query_resource_tag) return; - ext.glGenQueryResourceTagNV = load.invoke("glGenQueryResourceTagNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glDeleteQueryResourceTagNV = load.invoke("glDeleteQueryResourceTagNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glQueryResourceTagNV = load.invoke("glQueryResourceTagNV", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glGenQueryResourceTagNV(int n, @NativeType("GLint *") MemorySegment tagIds) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenQueryResourceTagNV).invokeExact(n, tagIds); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteQueryResourceTagNV(int n, @NativeType("const GLint *") MemorySegment tagIds) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteQueryResourceTagNV).invokeExact(n, tagIds); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glQueryResourceTagNV(int tagId, @NativeType("const GLchar *") MemorySegment tagString) { - final var ext = getExtCapabilities(); - try { - check(ext.glQueryResourceTagNV).invokeExact(tagId, tagString); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVQueryResourceTag { + void glGenQueryResourceTagNV(int n, @NativeType("GLint *") MemorySegment tagIds); + void glDeleteQueryResourceTagNV(int n, @NativeType("const GLint *") MemorySegment tagIds); + void glQueryResourceTagNV(int tagId, @NativeType("const GLchar *") MemorySegment tagString); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java index 6a407815..aef78258 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java @@ -18,171 +18,74 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_register_combiners} */ -public final class GLNVRegisterCombiners { - public static final int GL_REGISTER_COMBINERS_NV = 0x8522; - public static final int GL_VARIABLE_A_NV = 0x8523; - public static final int GL_VARIABLE_B_NV = 0x8524; - public static final int GL_VARIABLE_C_NV = 0x8525; - public static final int GL_VARIABLE_D_NV = 0x8526; - public static final int GL_VARIABLE_E_NV = 0x8527; - public static final int GL_VARIABLE_F_NV = 0x8528; - public static final int GL_VARIABLE_G_NV = 0x8529; - public static final int GL_CONSTANT_COLOR0_NV = 0x852A; - public static final int GL_CONSTANT_COLOR1_NV = 0x852B; - public static final int GL_SPARE0_NV = 0x852E; - public static final int GL_SPARE1_NV = 0x852F; - public static final int GL_DISCARD_NV = 0x8530; - public static final int GL_E_TIMES_F_NV = 0x8531; - public static final int GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; - public static final int GL_UNSIGNED_IDENTITY_NV = 0x8536; - public static final int GL_UNSIGNED_INVERT_NV = 0x8537; - public static final int GL_EXPAND_NORMAL_NV = 0x8538; - public static final int GL_EXPAND_NEGATE_NV = 0x8539; - public static final int GL_HALF_BIAS_NORMAL_NV = 0x853A; - public static final int GL_HALF_BIAS_NEGATE_NV = 0x853B; - public static final int GL_SIGNED_IDENTITY_NV = 0x853C; - public static final int GL_SIGNED_NEGATE_NV = 0x853D; - public static final int GL_SCALE_BY_TWO_NV = 0x853E; - public static final int GL_SCALE_BY_FOUR_NV = 0x853F; - public static final int GL_SCALE_BY_ONE_HALF_NV = 0x8540; - public static final int GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; - public static final int GL_COMBINER_INPUT_NV = 0x8542; - public static final int GL_COMBINER_MAPPING_NV = 0x8543; - public static final int GL_COMBINER_COMPONENT_USAGE_NV = 0x8544; - public static final int GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545; - public static final int GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546; - public static final int GL_COMBINER_MUX_SUM_NV = 0x8547; - public static final int GL_COMBINER_SCALE_NV = 0x8548; - public static final int GL_COMBINER_BIAS_NV = 0x8549; - public static final int GL_COMBINER_AB_OUTPUT_NV = 0x854A; - public static final int GL_COMBINER_CD_OUTPUT_NV = 0x854B; - public static final int GL_COMBINER_SUM_OUTPUT_NV = 0x854C; - public static final int GL_MAX_GENERAL_COMBINERS_NV = 0x854D; - public static final int GL_NUM_GENERAL_COMBINERS_NV = 0x854E; - public static final int GL_COLOR_SUM_CLAMP_NV = 0x854F; - public static final int GL_COMBINER0_NV = 0x8550; - public static final int GL_COMBINER1_NV = 0x8551; - public static final int GL_COMBINER2_NV = 0x8552; - public static final int GL_COMBINER3_NV = 0x8553; - public static final int GL_COMBINER4_NV = 0x8554; - public static final int GL_COMBINER5_NV = 0x8555; - public static final int GL_COMBINER6_NV = 0x8556; - public static final int GL_COMBINER7_NV = 0x8557; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_register_combiners) return; - ext.glCombinerParameterfvNV = load.invoke("glCombinerParameterfvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glCombinerParameterfNV = load.invoke("glCombinerParameterfNV", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glCombinerParameterivNV = load.invoke("glCombinerParameterivNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glCombinerParameteriNV = load.invoke("glCombinerParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glCombinerInputNV = load.invoke("glCombinerInputNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glCombinerOutputNV = load.invoke("glCombinerOutputNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glFinalCombinerInputNV = load.invoke("glFinalCombinerInputNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetCombinerInputParameterfvNV = load.invoke("glGetCombinerInputParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetCombinerInputParameterivNV = load.invoke("glGetCombinerInputParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetCombinerOutputParameterfvNV = load.invoke("glGetCombinerOutputParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetCombinerOutputParameterivNV = load.invoke("glGetCombinerOutputParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFinalCombinerInputParameterfvNV = load.invoke("glGetFinalCombinerInputParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFinalCombinerInputParameterivNV = load.invoke("glGetFinalCombinerInputParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glCombinerParameterfvNV(int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glCombinerParameterfvNV).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCombinerParameterfNV(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glCombinerParameterfNV).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCombinerParameterivNV(int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glCombinerParameterivNV).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCombinerParameteriNV(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glCombinerParameteriNV).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage) { - final var ext = getExtCapabilities(); - try { - check(ext.glCombinerInputNV).invokeExact(stage, portion, variable, input, mapping, componentUsage); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, boolean abDotProduct, boolean cdDotProduct, boolean muxSum) { - final var ext = getExtCapabilities(); - try { - check(ext.glCombinerOutputNV).invokeExact(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage) { - final var ext = getExtCapabilities(); - try { - check(ext.glFinalCombinerInputNV).invokeExact(variable, input, mapping, componentUsage); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCombinerInputParameterfvNV).invokeExact(stage, portion, variable, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCombinerInputParameterivNV).invokeExact(stage, portion, variable, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCombinerOutputParameterfvNV).invokeExact(stage, portion, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCombinerOutputParameterivNV).invokeExact(stage, portion, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFinalCombinerInputParameterfvNV(int variable, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFinalCombinerInputParameterfvNV).invokeExact(variable, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFinalCombinerInputParameterivNV(int variable, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFinalCombinerInputParameterivNV).invokeExact(variable, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVRegisterCombiners { + int GL_REGISTER_COMBINERS_NV = 0x8522; + int GL_VARIABLE_A_NV = 0x8523; + int GL_VARIABLE_B_NV = 0x8524; + int GL_VARIABLE_C_NV = 0x8525; + int GL_VARIABLE_D_NV = 0x8526; + int GL_VARIABLE_E_NV = 0x8527; + int GL_VARIABLE_F_NV = 0x8528; + int GL_VARIABLE_G_NV = 0x8529; + int GL_CONSTANT_COLOR0_NV = 0x852A; + int GL_CONSTANT_COLOR1_NV = 0x852B; + int GL_SPARE0_NV = 0x852E; + int GL_SPARE1_NV = 0x852F; + int GL_DISCARD_NV = 0x8530; + int GL_E_TIMES_F_NV = 0x8531; + int GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; + int GL_UNSIGNED_IDENTITY_NV = 0x8536; + int GL_UNSIGNED_INVERT_NV = 0x8537; + int GL_EXPAND_NORMAL_NV = 0x8538; + int GL_EXPAND_NEGATE_NV = 0x8539; + int GL_HALF_BIAS_NORMAL_NV = 0x853A; + int GL_HALF_BIAS_NEGATE_NV = 0x853B; + int GL_SIGNED_IDENTITY_NV = 0x853C; + int GL_SIGNED_NEGATE_NV = 0x853D; + int GL_SCALE_BY_TWO_NV = 0x853E; + int GL_SCALE_BY_FOUR_NV = 0x853F; + int GL_SCALE_BY_ONE_HALF_NV = 0x8540; + int GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; + int GL_COMBINER_INPUT_NV = 0x8542; + int GL_COMBINER_MAPPING_NV = 0x8543; + int GL_COMBINER_COMPONENT_USAGE_NV = 0x8544; + int GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545; + int GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546; + int GL_COMBINER_MUX_SUM_NV = 0x8547; + int GL_COMBINER_SCALE_NV = 0x8548; + int GL_COMBINER_BIAS_NV = 0x8549; + int GL_COMBINER_AB_OUTPUT_NV = 0x854A; + int GL_COMBINER_CD_OUTPUT_NV = 0x854B; + int GL_COMBINER_SUM_OUTPUT_NV = 0x854C; + int GL_MAX_GENERAL_COMBINERS_NV = 0x854D; + int GL_NUM_GENERAL_COMBINERS_NV = 0x854E; + int GL_COLOR_SUM_CLAMP_NV = 0x854F; + int GL_COMBINER0_NV = 0x8550; + int GL_COMBINER1_NV = 0x8551; + int GL_COMBINER2_NV = 0x8552; + int GL_COMBINER3_NV = 0x8553; + int GL_COMBINER4_NV = 0x8554; + int GL_COMBINER5_NV = 0x8555; + int GL_COMBINER6_NV = 0x8556; + int GL_COMBINER7_NV = 0x8557; + + void glCombinerParameterfvNV(int pname, @NativeType("const GLfloat *") MemorySegment params); + void glCombinerParameterfNV(int pname, float param); + void glCombinerParameterivNV(int pname, @NativeType("const GLint *") MemorySegment params); + void glCombinerParameteriNV(int pname, int param); + void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage); + void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, boolean abDotProduct, boolean cdDotProduct, boolean muxSum); + void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage); + void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, @NativeType("GLint *") MemorySegment params); + void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, @NativeType("GLint *") MemorySegment params); + void glGetFinalCombinerInputParameterfvNV(int variable, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetFinalCombinerInputParameterivNV(int variable, int pname, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java index 3b2add9c..478dfe86 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java @@ -18,35 +18,15 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_register_combiners2} */ -public final class GLNVRegisterCombiners2 { - public static final int GL_PER_STAGE_CONSTANTS_NV = 0x8535; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_register_combiners2) return; - ext.glCombinerStageParameterfvNV = load.invoke("glCombinerStageParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetCombinerStageParameterfvNV = load.invoke("glGetCombinerStageParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glCombinerStageParameterfvNV(int stage, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glCombinerStageParameterfvNV).invokeExact(stage, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetCombinerStageParameterfvNV(int stage, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetCombinerStageParameterfvNV).invokeExact(stage, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVRegisterCombiners2 { + int GL_PER_STAGE_CONSTANTS_NV = 0x8535; + void glCombinerStageParameterfvNV(int stage, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glGetCombinerStageParameterfvNV(int stage, int pname, @NativeType("GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java index b951deb0..fd1fed09 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_representative_fragment_test} */ -public final class GLNVRepresentativeFragmentTest { - public static final int GL_REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F; +public interface GLNVRepresentativeFragmentTest { + int GL_REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java index d8cfd7b5..5ece073d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_robustness_video_memory_purge} */ -public final class GLNVRobustnessVideoMemoryPurge { - public static final int GL_PURGED_CONTEXT_RESET_NV = 0x92BB; +public interface GLNVRobustnessVideoMemoryPurge { + int GL_PURGED_CONTEXT_RESET_NV = 0x92BB; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java index 9edb09fe..d18e26f7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java @@ -18,50 +18,23 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_sample_locations} */ -public final class GLNVSampleLocations { - public static final int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; - public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; - public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; - public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; - public static final int GL_SAMPLE_LOCATION_NV = 0x8E50; - public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; - public static final int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; - public static final int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_sample_locations) return; - ext.glFramebufferSampleLocationsfvNV = load.invoke("glFramebufferSampleLocationsfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glNamedFramebufferSampleLocationsfvNV = load.invoke("glNamedFramebufferSampleLocationsfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glResolveDepthValuesNV = load.invoke("glResolveDepthValuesNV", ofVoid()); - } - - public static void glFramebufferSampleLocationsfvNV(int target, int start, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glFramebufferSampleLocationsfvNV).invokeExact(target, start, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNamedFramebufferSampleLocationsfvNV(int framebuffer, int start, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glNamedFramebufferSampleLocationsfvNV).invokeExact(framebuffer, start, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glResolveDepthValuesNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glResolveDepthValuesNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVSampleLocations { + int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; + int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; + int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; + int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; + int GL_SAMPLE_LOCATION_NV = 0x8E50; + int GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; + int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; + int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; + void glFramebufferSampleLocationsfvNV(int target, int start, int count, @NativeType("const GLfloat *") MemorySegment v); + void glNamedFramebufferSampleLocationsfvNV(int framebuffer, int start, int count, @NativeType("const GLfloat *") MemorySegment v); + void glResolveDepthValuesNV(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java index f3688775..b11ebbd9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java @@ -18,36 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_scissor_exclusive} */ -public final class GLNVScissorExclusive { - public static final int GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; - public static final int GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_scissor_exclusive) return; - ext.glScissorExclusiveNV = load.invoke("glScissorExclusiveNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glScissorExclusiveArrayvNV = load.invoke("glScissorExclusiveArrayvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glScissorExclusiveNV(int x, int y, int width, int height) { - final var ext = getExtCapabilities(); - try { - check(ext.glScissorExclusiveNV).invokeExact(x, y, width, height); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glScissorExclusiveArrayvNV(int first, int count, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glScissorExclusiveArrayvNV).invokeExact(first, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVScissorExclusive { + int GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; + int GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; + void glScissorExclusiveNV(int x, int y, int width, int height); + void glScissorExclusiveArrayvNV(int first, int count, @NativeType("const GLint *") MemorySegment v); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java index 3983228f..66b0c327 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java @@ -18,127 +18,28 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_shader_buffer_load} */ -public final class GLNVShaderBufferLoad { - public static final int GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D; - public static final int GL_GPU_ADDRESS_NV = 0x8F34; - public static final int GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_shader_buffer_load) return; - ext.glMakeBufferResidentNV = load.invoke("glMakeBufferResidentNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glMakeBufferNonResidentNV = load.invoke("glMakeBufferNonResidentNV", ofVoid(JAVA_INT)); - ext.glIsBufferResidentNV = load.invoke("glIsBufferResidentNV", of(JAVA_BYTE, JAVA_INT)); - ext.glMakeNamedBufferResidentNV = load.invoke("glMakeNamedBufferResidentNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glMakeNamedBufferNonResidentNV = load.invoke("glMakeNamedBufferNonResidentNV", ofVoid(JAVA_INT)); - ext.glIsNamedBufferResidentNV = load.invoke("glIsNamedBufferResidentNV", of(JAVA_BYTE, JAVA_INT)); - ext.glGetBufferParameterui64vNV = load.invoke("glGetBufferParameterui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetNamedBufferParameterui64vNV = load.invoke("glGetNamedBufferParameterui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetIntegerui64vNV = load.invoke("glGetIntegerui64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glUniformui64NV = load.invoke("glUniformui64NV", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glUniformui64vNV = load.invoke("glUniformui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramUniformui64NV = load.invoke("glProgramUniformui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glProgramUniformui64vNV = load.invoke("glProgramUniformui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glMakeBufferResidentNV(int target, int access) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeBufferResidentNV).invokeExact(target, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeBufferNonResidentNV(int target) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeBufferNonResidentNV).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsBufferResidentNV(int target) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsBufferResidentNV).invokeExact(target); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeNamedBufferResidentNV(int buffer, int access) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeNamedBufferResidentNV).invokeExact(buffer, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMakeNamedBufferNonResidentNV(int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glMakeNamedBufferNonResidentNV).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsNamedBufferResidentNV(int buffer) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsNamedBufferResidentNV).invokeExact(buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetBufferParameterui64vNV(int target, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetBufferParameterui64vNV).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetNamedBufferParameterui64vNV(int buffer, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetNamedBufferParameterui64vNV).invokeExact(buffer, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetIntegerui64vNV(int value, @NativeType("GLuint64EXT *") MemorySegment result) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetIntegerui64vNV).invokeExact(value, result); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformui64NV(int location, long value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformui64NV).invokeExact(location, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glUniformui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glUniformui64vNV).invokeExact(location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformui64NV(int program, int location, long value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformui64NV).invokeExact(program, location, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramUniformui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramUniformui64vNV).invokeExact(program, location, count, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVShaderBufferLoad { + int GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D; + int GL_GPU_ADDRESS_NV = 0x8F34; + int GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; + + void glMakeBufferResidentNV(int target, int access); + void glMakeBufferNonResidentNV(int target); + boolean glIsBufferResidentNV(int target); + void glMakeNamedBufferResidentNV(int buffer, int access); + void glMakeNamedBufferNonResidentNV(int buffer); + boolean glIsNamedBufferResidentNV(int buffer); + void glGetBufferParameterui64vNV(int target, int pname, @NativeType("GLuint64EXT *") MemorySegment params); + void glGetNamedBufferParameterui64vNV(int buffer, int pname, @NativeType("GLuint64EXT *") MemorySegment params); + void glGetIntegerui64vNV(int value, @NativeType("GLuint64EXT *") MemorySegment result); + void glUniformui64NV(int location, long value); + void glUniformui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); + void glProgramUniformui64NV(int program, int location, long value); + void glProgramUniformui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java index 749f3776..e1db3db8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_shader_buffer_store} */ -public final class GLNVShaderBufferStore { - public static final int GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; +public interface GLNVShaderBufferStore { + int GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java index 89e25d92..596fdc42 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_shader_subgroup_partitioned} */ -public final class GLNVShaderSubgroupPartitioned { - public static final int GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; +public interface GLNVShaderSubgroupPartitioned { + int GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java index 98bfbf57..73f8a8e2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_shader_thread_group} */ -public final class GLNVShaderThreadGroup { - public static final int GL_WARP_SIZE_NV = 0x9339; - public static final int GL_WARPS_PER_SM_NV = 0x933A; - public static final int GL_SM_COUNT_NV = 0x933B; +public interface GLNVShaderThreadGroup { + int GL_WARP_SIZE_NV = 0x9339; + int GL_WARPS_PER_SM_NV = 0x933A; + int GL_SM_COUNT_NV = 0x933B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java index 5dd4a6ce..b08d49a4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java @@ -18,95 +18,40 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_shading_rate_image} */ -public final class GLNVShadingRateImage { - public static final int GL_SHADING_RATE_IMAGE_NV = 0x9563; - public static final int GL_SHADING_RATE_NO_INVOCATIONS_NV = 0x9564; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B; - public static final int GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C; - public static final int GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D; - public static final int GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E; - public static final int GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F; - public static final int GL_SHADING_RATE_IMAGE_BINDING_NV = 0x955B; - public static final int GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C; - public static final int GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D; - public static final int GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E; - public static final int GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F; - public static final int GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE; - public static final int GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF; - public static final int GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_shading_rate_image) return; - ext.glBindShadingRateImageNV = load.invoke("glBindShadingRateImageNV", ofVoid(JAVA_INT)); - ext.glGetShadingRateImagePaletteNV = load.invoke("glGetShadingRateImagePaletteNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetShadingRateSampleLocationivNV = load.invoke("glGetShadingRateSampleLocationivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glShadingRateImageBarrierNV = load.invoke("glShadingRateImageBarrierNV", ofVoid(JAVA_BYTE)); - ext.glShadingRateImagePaletteNV = load.invoke("glShadingRateImagePaletteNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glShadingRateSampleOrderNV = load.invoke("glShadingRateSampleOrderNV", ofVoid(JAVA_INT)); - ext.glShadingRateSampleOrderCustomNV = load.invoke("glShadingRateSampleOrderCustomNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glBindShadingRateImageNV(int texture) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindShadingRateImageNV).invokeExact(texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetShadingRateImagePaletteNV(int viewport, int entry, @NativeType("GLenum *") MemorySegment rate) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetShadingRateImagePaletteNV).invokeExact(viewport, entry, rate); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetShadingRateSampleLocationivNV(int rate, int samples, int index, @NativeType("GLint *") MemorySegment location) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetShadingRateSampleLocationivNV).invokeExact(rate, samples, index, location); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShadingRateImageBarrierNV(boolean synchronize) { - final var ext = getExtCapabilities(); - try { - check(ext.glShadingRateImageBarrierNV).invokeExact(synchronize); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShadingRateImagePaletteNV(int viewport, int first, int count, @NativeType("const GLenum *") MemorySegment rates) { - final var ext = getExtCapabilities(); - try { - check(ext.glShadingRateImagePaletteNV).invokeExact(viewport, first, count, rates); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShadingRateSampleOrderNV(int order) { - final var ext = getExtCapabilities(); - try { - check(ext.glShadingRateSampleOrderNV).invokeExact(order); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glShadingRateSampleOrderCustomNV(int rate, int samples, @NativeType("const GLint *") MemorySegment locations) { - final var ext = getExtCapabilities(); - try { - check(ext.glShadingRateSampleOrderCustomNV).invokeExact(rate, samples, locations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVShadingRateImage { + int GL_SHADING_RATE_IMAGE_NV = 0x9563; + int GL_SHADING_RATE_NO_INVOCATIONS_NV = 0x9564; + int GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565; + int GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566; + int GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567; + int GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568; + int GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569; + int GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A; + int GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B; + int GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C; + int GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D; + int GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E; + int GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F; + int GL_SHADING_RATE_IMAGE_BINDING_NV = 0x955B; + int GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C; + int GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D; + int GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E; + int GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F; + int GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE; + int GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF; + int GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0; + + void glBindShadingRateImageNV(int texture); + void glGetShadingRateImagePaletteNV(int viewport, int entry, @NativeType("GLenum *") MemorySegment rate); + void glGetShadingRateSampleLocationivNV(int rate, int samples, int index, @NativeType("GLint *") MemorySegment location); + void glShadingRateImageBarrierNV(boolean synchronize); + void glShadingRateImagePaletteNV(int viewport, int first, int count, @NativeType("const GLenum *") MemorySegment rates); + void glShadingRateSampleOrderNV(int order); + void glShadingRateSampleOrderCustomNV(int rate, int samples, @NativeType("const GLint *") MemorySegment locations); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java index 47bb0870..2c6fce96 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_tessellation_program5} */ -public final class GLNVTessellationProgram5 { - public static final int GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; - public static final int GL_TESS_CONTROL_PROGRAM_NV = 0x891E; - public static final int GL_TESS_EVALUATION_PROGRAM_NV = 0x891F; - public static final int GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; - public static final int GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; +public interface GLNVTessellationProgram5 { + int GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; + int GL_TESS_CONTROL_PROGRAM_NV = 0x891E; + int GL_TESS_EVALUATION_PROGRAM_NV = 0x891F; + int GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; + int GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java index c43382bb..28648cd9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texgen_emboss} */ -public final class GLNVTexgenEmboss { - public static final int GL_EMBOSS_LIGHT_NV = 0x855D; - public static final int GL_EMBOSS_CONSTANT_NV = 0x855E; - public static final int GL_EMBOSS_MAP_NV = 0x855F; +public interface GLNVTexgenEmboss { + int GL_EMBOSS_LIGHT_NV = 0x855D; + int GL_EMBOSS_CONSTANT_NV = 0x855E; + int GL_EMBOSS_MAP_NV = 0x855F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java index 7b091106..bfe433d6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texgen_reflection} */ -public final class GLNVTexgenReflection { - public static final int GL_NORMAL_MAP_NV = 0x8511; - public static final int GL_REFLECTION_MAP_NV = 0x8512; +public interface GLNVTexgenReflection { + int GL_NORMAL_MAP_NV = 0x8511; + int GL_REFLECTION_MAP_NV = 0x8512; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java index 8670511c..48084175 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_barrier} */ -public final class GLNVTextureBarrier { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_texture_barrier) return; - ext.glTextureBarrierNV = load.invoke("glTextureBarrierNV", ofVoid()); - } - - public static void glTextureBarrierNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureBarrierNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVTextureBarrier { + void glTextureBarrierNV(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java index c6eb7080..35ee6af5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_env_combine4} */ -public final class GLNVTextureEnvCombine4 { - public static final int GL_COMBINE4_NV = 0x8503; - public static final int GL_SOURCE3_RGB_NV = 0x8583; - public static final int GL_SOURCE3_ALPHA_NV = 0x858B; - public static final int GL_OPERAND3_RGB_NV = 0x8593; - public static final int GL_OPERAND3_ALPHA_NV = 0x859B; +public interface GLNVTextureEnvCombine4 { + int GL_COMBINE4_NV = 0x8503; + int GL_SOURCE3_RGB_NV = 0x8583; + int GL_SOURCE3_ALPHA_NV = 0x858B; + int GL_OPERAND3_RGB_NV = 0x8593; + int GL_OPERAND3_ALPHA_NV = 0x859B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java index 2df5e36e..70e6c959 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_expand_normal} */ -public final class GLNVTextureExpandNormal { - public static final int GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; +public interface GLNVTextureExpandNormal { + int GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java index b200a9bd..f69cf53d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java @@ -18,68 +18,20 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_multisample} */ -public final class GLNVTextureMultisample { - public static final int GL_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; - public static final int GL_TEXTURE_COLOR_SAMPLES_NV = 0x9046; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_texture_multisample) return; - ext.glTexImage2DMultisampleCoverageNV = load.invoke("glTexImage2DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glTexImage3DMultisampleCoverageNV = load.invoke("glTexImage3DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glTextureImage2DMultisampleNV = load.invoke("glTextureImage2DMultisampleNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glTextureImage3DMultisampleNV = load.invoke("glTextureImage3DMultisampleNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glTextureImage2DMultisampleCoverageNV = load.invoke("glTextureImage2DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - ext.glTextureImage3DMultisampleCoverageNV = load.invoke("glTextureImage3DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); - } - - public static void glTexImage2DMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, boolean fixedSampleLocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexImage2DMultisampleCoverageNV).invokeExact(target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexImage3DMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexImage3DMultisampleCoverageNV).invokeExact(target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureImage2DMultisampleNV(int texture, int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureImage2DMultisampleNV).invokeExact(texture, target, samples, internalFormat, width, height, fixedSampleLocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureImage3DMultisampleNV(int texture, int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureImage3DMultisampleNV).invokeExact(texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureImage2DMultisampleCoverageNV(int texture, int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, boolean fixedSampleLocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureImage2DMultisampleCoverageNV).invokeExact(texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTextureImage3DMultisampleCoverageNV(int texture, int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureImage3DMultisampleCoverageNV).invokeExact(texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVTextureMultisample { + int GL_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; + int GL_TEXTURE_COLOR_SAMPLES_NV = 0x9046; + + void glTexImage2DMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, boolean fixedSampleLocations); + void glTexImage3DMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations); + void glTextureImage2DMultisampleNV(int texture, int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations); + void glTextureImage3DMultisampleNV(int texture, int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations); + void glTextureImage2DMultisampleCoverageNV(int texture, int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, boolean fixedSampleLocations); + void glTextureImage3DMultisampleCoverageNV(int texture, int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java index b46ba94f..bc4139b2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_rectangle} */ -public final class GLNVTextureRectangle { - public static final int GL_TEXTURE_RECTANGLE_NV = 0x84F5; - public static final int GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; - public static final int GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; - public static final int GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; +public interface GLNVTextureRectangle { + int GL_TEXTURE_RECTANGLE_NV = 0x84F5; + int GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; + int GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; + int GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java index 02e60038..e540e1eb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java @@ -18,87 +18,84 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_shader} */ -public final class GLNVTextureShader { - public static final int GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; - public static final int GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; - public static final int GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; - public static final int GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; - public static final int GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; - public static final int GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; - public static final int GL_DSDT_MAG_INTENSITY_NV = 0x86DC; - public static final int GL_SHADER_CONSISTENT_NV = 0x86DD; - public static final int GL_TEXTURE_SHADER_NV = 0x86DE; - public static final int GL_SHADER_OPERATION_NV = 0x86DF; - public static final int GL_CULL_MODES_NV = 0x86E0; - public static final int GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1; - public static final int GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2; - public static final int GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3; - public static final int GL_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; - public static final int GL_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; - public static final int GL_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; - public static final int GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; - public static final int GL_CONST_EYE_NV = 0x86E5; - public static final int GL_PASS_THROUGH_NV = 0x86E6; - public static final int GL_CULL_FRAGMENT_NV = 0x86E7; - public static final int GL_OFFSET_TEXTURE_2D_NV = 0x86E8; - public static final int GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; - public static final int GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; - public static final int GL_DOT_PRODUCT_NV = 0x86EC; - public static final int GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; - public static final int GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; - public static final int GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; - public static final int GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; - public static final int GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; - public static final int GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; - public static final int GL_HILO_NV = 0x86F4; - public static final int GL_DSDT_NV = 0x86F5; - public static final int GL_DSDT_MAG_NV = 0x86F6; - public static final int GL_DSDT_MAG_VIB_NV = 0x86F7; - public static final int GL_HILO16_NV = 0x86F8; - public static final int GL_SIGNED_HILO_NV = 0x86F9; - public static final int GL_SIGNED_HILO16_NV = 0x86FA; - public static final int GL_SIGNED_RGBA_NV = 0x86FB; - public static final int GL_SIGNED_RGBA8_NV = 0x86FC; - public static final int GL_SIGNED_RGB_NV = 0x86FE; - public static final int GL_SIGNED_RGB8_NV = 0x86FF; - public static final int GL_SIGNED_LUMINANCE_NV = 0x8701; - public static final int GL_SIGNED_LUMINANCE8_NV = 0x8702; - public static final int GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703; - public static final int GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; - public static final int GL_SIGNED_ALPHA_NV = 0x8705; - public static final int GL_SIGNED_ALPHA8_NV = 0x8706; - public static final int GL_SIGNED_INTENSITY_NV = 0x8707; - public static final int GL_SIGNED_INTENSITY8_NV = 0x8708; - public static final int GL_DSDT8_NV = 0x8709; - public static final int GL_DSDT8_MAG8_NV = 0x870A; - public static final int GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B; - public static final int GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; - public static final int GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; - public static final int GL_HI_SCALE_NV = 0x870E; - public static final int GL_LO_SCALE_NV = 0x870F; - public static final int GL_DS_SCALE_NV = 0x8710; - public static final int GL_DT_SCALE_NV = 0x8711; - public static final int GL_MAGNITUDE_SCALE_NV = 0x8712; - public static final int GL_VIBRANCE_SCALE_NV = 0x8713; - public static final int GL_HI_BIAS_NV = 0x8714; - public static final int GL_LO_BIAS_NV = 0x8715; - public static final int GL_DS_BIAS_NV = 0x8716; - public static final int GL_DT_BIAS_NV = 0x8717; - public static final int GL_MAGNITUDE_BIAS_NV = 0x8718; - public static final int GL_VIBRANCE_BIAS_NV = 0x8719; - public static final int GL_TEXTURE_BORDER_VALUES_NV = 0x871A; - public static final int GL_TEXTURE_HI_SIZE_NV = 0x871B; - public static final int GL_TEXTURE_LO_SIZE_NV = 0x871C; - public static final int GL_TEXTURE_DS_SIZE_NV = 0x871D; - public static final int GL_TEXTURE_DT_SIZE_NV = 0x871E; - public static final int GL_TEXTURE_MAG_SIZE_NV = 0x871F; +public interface GLNVTextureShader { + int GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; + int GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; + int GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; + int GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; + int GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; + int GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; + int GL_DSDT_MAG_INTENSITY_NV = 0x86DC; + int GL_SHADER_CONSISTENT_NV = 0x86DD; + int GL_TEXTURE_SHADER_NV = 0x86DE; + int GL_SHADER_OPERATION_NV = 0x86DF; + int GL_CULL_MODES_NV = 0x86E0; + int GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1; + int GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2; + int GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3; + int GL_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; + int GL_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; + int GL_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; + int GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; + int GL_CONST_EYE_NV = 0x86E5; + int GL_PASS_THROUGH_NV = 0x86E6; + int GL_CULL_FRAGMENT_NV = 0x86E7; + int GL_OFFSET_TEXTURE_2D_NV = 0x86E8; + int GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; + int GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; + int GL_DOT_PRODUCT_NV = 0x86EC; + int GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; + int GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; + int GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; + int GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; + int GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; + int GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; + int GL_HILO_NV = 0x86F4; + int GL_DSDT_NV = 0x86F5; + int GL_DSDT_MAG_NV = 0x86F6; + int GL_DSDT_MAG_VIB_NV = 0x86F7; + int GL_HILO16_NV = 0x86F8; + int GL_SIGNED_HILO_NV = 0x86F9; + int GL_SIGNED_HILO16_NV = 0x86FA; + int GL_SIGNED_RGBA_NV = 0x86FB; + int GL_SIGNED_RGBA8_NV = 0x86FC; + int GL_SIGNED_RGB_NV = 0x86FE; + int GL_SIGNED_RGB8_NV = 0x86FF; + int GL_SIGNED_LUMINANCE_NV = 0x8701; + int GL_SIGNED_LUMINANCE8_NV = 0x8702; + int GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703; + int GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; + int GL_SIGNED_ALPHA_NV = 0x8705; + int GL_SIGNED_ALPHA8_NV = 0x8706; + int GL_SIGNED_INTENSITY_NV = 0x8707; + int GL_SIGNED_INTENSITY8_NV = 0x8708; + int GL_DSDT8_NV = 0x8709; + int GL_DSDT8_MAG8_NV = 0x870A; + int GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B; + int GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; + int GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; + int GL_HI_SCALE_NV = 0x870E; + int GL_LO_SCALE_NV = 0x870F; + int GL_DS_SCALE_NV = 0x8710; + int GL_DT_SCALE_NV = 0x8711; + int GL_MAGNITUDE_SCALE_NV = 0x8712; + int GL_VIBRANCE_SCALE_NV = 0x8713; + int GL_HI_BIAS_NV = 0x8714; + int GL_LO_BIAS_NV = 0x8715; + int GL_DS_BIAS_NV = 0x8716; + int GL_DT_BIAS_NV = 0x8717; + int GL_MAGNITUDE_BIAS_NV = 0x8718; + int GL_VIBRANCE_BIAS_NV = 0x8719; + int GL_TEXTURE_BORDER_VALUES_NV = 0x871A; + int GL_TEXTURE_HI_SIZE_NV = 0x871B; + int GL_TEXTURE_LO_SIZE_NV = 0x871C; + int GL_TEXTURE_DS_SIZE_NV = 0x871D; + int GL_TEXTURE_DT_SIZE_NV = 0x871E; + int GL_TEXTURE_MAG_SIZE_NV = 0x871F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java index ea726fd6..09b8af48 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_shader2} */ -public final class GLNVTextureShader2 { - public static final int GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; +public interface GLNVTextureShader2 { + int GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java index 6f6a10dc..d0ce44c8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java @@ -18,31 +18,28 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_texture_shader3} */ -public final class GLNVTextureShader3 { - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; - public static final int GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854; - public static final int GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; - public static final int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; - public static final int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; - public static final int GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; - public static final int GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; - public static final int GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; - public static final int GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; - public static final int GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; - public static final int GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; - public static final int GL_HILO8_NV = 0x885E; - public static final int GL_SIGNED_HILO8_NV = 0x885F; - public static final int GL_FORCE_BLUE_TO_ONE_NV = 0x8860; +public interface GLNVTextureShader3 { + int GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; + int GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; + int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; + int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; + int GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854; + int GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; + int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; + int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; + int GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; + int GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; + int GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; + int GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; + int GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; + int GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; + int GL_HILO8_NV = 0x885E; + int GL_SIGNED_HILO8_NV = 0x885F; + int GL_FORCE_BLUE_TO_ONE_NV = 0x8860; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java index 488a483b..ec2431fe 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java @@ -18,47 +18,20 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_timeline_semaphore} */ -public final class GLNVTimelineSemaphore { - public static final int GL_TIMELINE_SEMAPHORE_VALUE_NV = 0x9595; - public static final int GL_SEMAPHORE_TYPE_NV = 0x95B3; - public static final int GL_SEMAPHORE_TYPE_BINARY_NV = 0x95B4; - public static final int GL_SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5; - public static final int GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_timeline_semaphore) return; - ext.glCreateSemaphoresNV = load.invoke("glCreateSemaphoresNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glSemaphoreParameterivNV = load.invoke("glSemaphoreParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetSemaphoreParameterivNV = load.invoke("glGetSemaphoreParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glCreateSemaphoresNV(int n, @NativeType("GLuint *") MemorySegment semaphores) { - final var ext = getExtCapabilities(); - try { - check(ext.glCreateSemaphoresNV).invokeExact(n, semaphores); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSemaphoreParameterivNV(int semaphore, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glSemaphoreParameterivNV).invokeExact(semaphore, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetSemaphoreParameterivNV(int semaphore, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetSemaphoreParameterivNV).invokeExact(semaphore, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVTimelineSemaphore { + int GL_TIMELINE_SEMAPHORE_VALUE_NV = 0x9595; + int GL_SEMAPHORE_TYPE_NV = 0x95B3; + int GL_SEMAPHORE_TYPE_BINARY_NV = 0x95B4; + int GL_SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5; + int GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6; + void glCreateSemaphoresNV(int n, @NativeType("GLuint *") MemorySegment semaphores); + void glSemaphoreParameterivNV(int semaphore, int pname, @NativeType("const GLint *") MemorySegment params); + void glGetSemaphoreParameterivNV(int semaphore, int pname, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java index 72367cb4..7e0cf455 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java @@ -18,146 +18,55 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_transform_feedback} */ -public final class GLNVTransformFeedback { - public static final int GL_BACK_PRIMARY_COLOR_NV = 0x8C77; - public static final int GL_BACK_SECONDARY_COLOR_NV = 0x8C78; - public static final int GL_TEXTURE_COORD_NV = 0x8C79; - public static final int GL_CLIP_DISTANCE_NV = 0x8C7A; - public static final int GL_VERTEX_ID_NV = 0x8C7B; - public static final int GL_PRIMITIVE_ID_NV = 0x8C7C; - public static final int GL_GENERIC_ATTRIB_NV = 0x8C7D; - public static final int GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; - public static final int GL_ACTIVE_VARYINGS_NV = 0x8C81; - public static final int GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; - public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; - public static final int GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; - public static final int GL_PRIMITIVES_GENERATED_NV = 0x8C87; - public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; - public static final int GL_RASTERIZER_DISCARD_NV = 0x8C89; - public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; - public static final int GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C; - public static final int GL_SEPARATE_ATTRIBS_NV = 0x8C8D; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; - public static final int GL_LAYER_NV = 0x8DAA; - public static final int GL_NEXT_BUFFER_NV = -2; - public static final int GL_SKIP_COMPONENTS4_NV = -3; - public static final int GL_SKIP_COMPONENTS3_NV = -4; - public static final int GL_SKIP_COMPONENTS2_NV = -5; - public static final int GL_SKIP_COMPONENTS1_NV = -6; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_transform_feedback) return; - ext.glBeginTransformFeedbackNV = load.invoke("glBeginTransformFeedbackNV", ofVoid(JAVA_INT)); - ext.glEndTransformFeedbackNV = load.invoke("glEndTransformFeedbackNV", ofVoid()); - ext.glTransformFeedbackAttribsNV = load.invoke("glTransformFeedbackAttribsNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT)); - ext.glBindBufferRangeNV = load.invoke("glBindBufferRangeNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glBindBufferOffsetNV = load.invoke("glBindBufferOffsetNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glBindBufferBaseNV = load.invoke("glBindBufferBaseNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTransformFeedbackVaryingsNV = load.invoke("glTransformFeedbackVaryingsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); - ext.glActiveVaryingNV = load.invoke("glActiveVaryingNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetVaryingLocationNV = load.invoke("glGetVaryingLocationNV", of(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetActiveVaryingNV = load.invoke("glGetActiveVaryingNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glGetTransformFeedbackVaryingNV = load.invoke("glGetTransformFeedbackVaryingNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTransformFeedbackStreamAttribsNV = load.invoke("glTransformFeedbackStreamAttribsNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, JAVA_INT)); - } - - public static void glBeginTransformFeedbackNV(int primitiveMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginTransformFeedbackNV).invokeExact(primitiveMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndTransformFeedbackNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glEndTransformFeedbackNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTransformFeedbackAttribsNV(int count, @NativeType("const GLint *") MemorySegment attribs, int bufferMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glTransformFeedbackAttribsNV).invokeExact(count, attribs, bufferMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindBufferRangeNV(int target, int index, int buffer, long offset, long size) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindBufferRangeNV).invokeExact(target, index, buffer, offset, size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindBufferOffsetNV(int target, int index, int buffer, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindBufferOffsetNV).invokeExact(target, index, buffer, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindBufferBaseNV(int target, int index, int buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindBufferBaseNV).invokeExact(target, index, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTransformFeedbackVaryingsNV(int program, int count, @NativeType("const GLint *") MemorySegment locations, int bufferMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glTransformFeedbackVaryingsNV).invokeExact(program, count, locations, bufferMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glActiveVaryingNV(int program, @NativeType("const GLchar *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glActiveVaryingNV).invokeExact(program, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGetVaryingLocationNV(int program, @NativeType("const GLchar *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetVaryingLocationNV).invokeExact(program, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetActiveVaryingNV(int program, int index, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLsizei *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLchar *") MemorySegment name) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetActiveVaryingNV).invokeExact(program, index, bufSize, length, size, type, name); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTransformFeedbackVaryingNV(int program, int index, @NativeType("GLint *") MemorySegment location) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTransformFeedbackVaryingNV).invokeExact(program, index, location); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTransformFeedbackStreamAttribsNV(int count, @NativeType("const GLint *") MemorySegment attribs, int nbuffers, @NativeType("const GLint *") MemorySegment bufstreams, int bufferMode) { - final var ext = getExtCapabilities(); - try { - check(ext.glTransformFeedbackStreamAttribsNV).invokeExact(count, attribs, nbuffers, bufstreams, bufferMode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVTransformFeedback { + int GL_BACK_PRIMARY_COLOR_NV = 0x8C77; + int GL_BACK_SECONDARY_COLOR_NV = 0x8C78; + int GL_TEXTURE_COORD_NV = 0x8C79; + int GL_CLIP_DISTANCE_NV = 0x8C7A; + int GL_VERTEX_ID_NV = 0x8C7B; + int GL_PRIMITIVE_ID_NV = 0x8C7C; + int GL_GENERIC_ATTRIB_NV = 0x8C7D; + int GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; + int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; + int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; + int GL_ACTIVE_VARYINGS_NV = 0x8C81; + int GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; + int GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; + int GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; + int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; + int GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; + int GL_PRIMITIVES_GENERATED_NV = 0x8C87; + int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; + int GL_RASTERIZER_DISCARD_NV = 0x8C89; + int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; + int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; + int GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C; + int GL_SEPARATE_ATTRIBS_NV = 0x8C8D; + int GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; + int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; + int GL_LAYER_NV = 0x8DAA; + int GL_NEXT_BUFFER_NV = -2; + int GL_SKIP_COMPONENTS4_NV = -3; + int GL_SKIP_COMPONENTS3_NV = -4; + int GL_SKIP_COMPONENTS2_NV = -5; + int GL_SKIP_COMPONENTS1_NV = -6; + + void glBeginTransformFeedbackNV(int primitiveMode); + void glEndTransformFeedbackNV(); + void glTransformFeedbackAttribsNV(int count, @NativeType("const GLint *") MemorySegment attribs, int bufferMode); + void glBindBufferRangeNV(int target, int index, int buffer, long offset, long size); + void glBindBufferOffsetNV(int target, int index, int buffer, long offset); + void glBindBufferBaseNV(int target, int index, int buffer); + void glTransformFeedbackVaryingsNV(int program, int count, @NativeType("const GLint *") MemorySegment locations, int bufferMode); + void glActiveVaryingNV(int program, @NativeType("const GLchar *") MemorySegment name); + int glGetVaryingLocationNV(int program, @NativeType("const GLchar *") MemorySegment name); + void glGetActiveVaryingNV(int program, int index, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLsizei *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLchar *") MemorySegment name); + void glGetTransformFeedbackVaryingNV(int program, int index, @NativeType("GLint *") MemorySegment location); + void glTransformFeedbackStreamAttribsNV(int count, @NativeType("const GLint *") MemorySegment attribs, int nbuffers, @NativeType("const GLint *") MemorySegment bufstreams, int bufferMode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java index 2fd3afd2..e4af7cdd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java @@ -18,79 +18,23 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_transform_feedback2} */ -public final class GLNVTransformFeedback2 { - public static final int GL_TRANSFORM_FEEDBACK_NV = 0x8E22; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; - public static final int GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_transform_feedback2) return; - ext.glBindTransformFeedbackNV = load.invoke("glBindTransformFeedbackNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDeleteTransformFeedbacksNV = load.invoke("glDeleteTransformFeedbacksNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGenTransformFeedbacksNV = load.invoke("glGenTransformFeedbacksNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glIsTransformFeedbackNV = load.invoke("glIsTransformFeedbackNV", of(JAVA_BYTE, JAVA_INT)); - ext.glPauseTransformFeedbackNV = load.invoke("glPauseTransformFeedbackNV", ofVoid()); - ext.glResumeTransformFeedbackNV = load.invoke("glResumeTransformFeedbackNV", ofVoid()); - ext.glDrawTransformFeedbackNV = load.invoke("glDrawTransformFeedbackNV", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glBindTransformFeedbackNV(int target, int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindTransformFeedbackNV).invokeExact(target, id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteTransformFeedbacksNV(int n, @NativeType("const GLuint *") MemorySegment ids) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteTransformFeedbacksNV).invokeExact(n, ids); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenTransformFeedbacksNV(int n, @NativeType("GLuint *") MemorySegment ids) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenTransformFeedbacksNV).invokeExact(n, ids); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsTransformFeedbackNV(int id) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsTransformFeedbackNV).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPauseTransformFeedbackNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glPauseTransformFeedbackNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glResumeTransformFeedbackNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glResumeTransformFeedbackNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDrawTransformFeedbackNV(int mode, int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawTransformFeedbackNV).invokeExact(mode, id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVTransformFeedback2 { + int GL_TRANSFORM_FEEDBACK_NV = 0x8E22; + int GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; + int GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; + int GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; + + void glBindTransformFeedbackNV(int target, int id); + void glDeleteTransformFeedbacksNV(int n, @NativeType("const GLuint *") MemorySegment ids); + void glGenTransformFeedbacksNV(int n, @NativeType("GLuint *") MemorySegment ids); + boolean glIsTransformFeedbackNV(int id); + void glPauseTransformFeedbackNV(); + void glResumeTransformFeedbackNV(); + void glDrawTransformFeedbackNV(int mode, int id); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java index fe248618..8175578a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_uniform_buffer_unified_memory} */ -public final class GLNVUniformBufferUnifiedMemory { - public static final int GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E; - public static final int GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F; - public static final int GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370; +public interface GLNVUniformBufferUnifiedMemory { + int GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E; + int GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F; + int GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java index 6737f5f8..7f250f99 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java @@ -18,105 +18,26 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vdpau_interop} */ -public final class GLNVVDPAUInterop { - public static final int GL_SURFACE_STATE_NV = 0x86EB; - public static final int GL_SURFACE_REGISTERED_NV = 0x86FD; - public static final int GL_SURFACE_MAPPED_NV = 0x8700; - public static final int GL_WRITE_DISCARD_NV = 0x88BE; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_vdpau_interop) return; - ext.glVDPAUInitNV = load.invoke("glVDPAUInitNV", ofVoid(ADDRESS, ADDRESS)); - ext.glVDPAUFiniNV = load.invoke("glVDPAUFiniNV", ofVoid()); - ext.glVDPAURegisterVideoSurfaceNV = load.invoke("glVDPAURegisterVideoSurfaceNV", of(JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVDPAURegisterOutputSurfaceNV = load.invoke("glVDPAURegisterOutputSurfaceNV", of(JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVDPAUIsSurfaceNV = load.invoke("glVDPAUIsSurfaceNV", of(JAVA_BYTE, JAVA_LONG)); - ext.glVDPAUUnregisterSurfaceNV = load.invoke("glVDPAUUnregisterSurfaceNV", ofVoid(JAVA_LONG)); - ext.glVDPAUGetSurfaceivNV = load.invoke("glVDPAUGetSurfaceivNV", ofVoid(JAVA_LONG, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glVDPAUSurfaceAccessNV = load.invoke("glVDPAUSurfaceAccessNV", ofVoid(JAVA_LONG, JAVA_INT)); - ext.glVDPAUMapSurfacesNV = load.invoke("glVDPAUMapSurfacesNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVDPAUUnmapSurfacesNV = load.invoke("glVDPAUUnmapSurfacesNV", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glVDPAUInitNV(@NativeType("const void *") MemorySegment vdpDevice, @NativeType("const void *") MemorySegment getProcAddress) { - final var ext = getExtCapabilities(); - try { - check(ext.glVDPAUInitNV).invokeExact(vdpDevice, getProcAddress); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVDPAUFiniNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glVDPAUFiniNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static long glVDPAURegisterVideoSurfaceNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glVDPAURegisterVideoSurfaceNV).invokeExact(vdpSurface, target, numTextureNames, textureNames); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static long glVDPAURegisterOutputSurfaceNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glVDPAURegisterOutputSurfaceNV).invokeExact(vdpSurface, target, numTextureNames, textureNames); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glVDPAUIsSurfaceNV(long surface) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glVDPAUIsSurfaceNV).invokeExact(surface); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVDPAUUnregisterSurfaceNV(long surface) { - final var ext = getExtCapabilities(); - try { - check(ext.glVDPAUUnregisterSurfaceNV).invokeExact(surface); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVDPAUGetSurfaceivNV(long surface, int pname, int count, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLint *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glVDPAUGetSurfaceivNV).invokeExact(surface, pname, count, length, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVDPAUSurfaceAccessNV(long surface, int access) { - final var ext = getExtCapabilities(); - try { - check(ext.glVDPAUSurfaceAccessNV).invokeExact(surface, access); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVDPAUMapSurfacesNV(int numSurfaces, @NativeType("const GLvdpauSurfaceNV *") MemorySegment surfaces) { - final var ext = getExtCapabilities(); - try { - check(ext.glVDPAUMapSurfacesNV).invokeExact(numSurfaces, surfaces); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVDPAUUnmapSurfacesNV(int numSurface, @NativeType("const GLvdpauSurfaceNV *") MemorySegment surfaces) { - final var ext = getExtCapabilities(); - try { - check(ext.glVDPAUUnmapSurfacesNV).invokeExact(numSurface, surfaces); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVVDPAUInterop { + int GL_SURFACE_STATE_NV = 0x86EB; + int GL_SURFACE_REGISTERED_NV = 0x86FD; + int GL_SURFACE_MAPPED_NV = 0x8700; + int GL_WRITE_DISCARD_NV = 0x88BE; + + void glVDPAUInitNV(@NativeType("const void *") MemorySegment vdpDevice, @NativeType("const void *") MemorySegment getProcAddress); + void glVDPAUFiniNV(); + long glVDPAURegisterVideoSurfaceNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames); + long glVDPAURegisterOutputSurfaceNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames); + boolean glVDPAUIsSurfaceNV(long surface); + void glVDPAUUnregisterSurfaceNV(long surface); + void glVDPAUGetSurfaceivNV(long surface, int pname, int count, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLint *") MemorySegment values); + void glVDPAUSurfaceAccessNV(long surface, int access); + void glVDPAUMapSurfacesNV(int numSurfaces, @NativeType("const GLvdpauSurfaceNV *") MemorySegment surfaces); + void glVDPAUUnmapSurfacesNV(int numSurface, @NativeType("const GLvdpauSurfaceNV *") MemorySegment surfaces); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java index 20bd85f5..208719d3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java @@ -18,27 +18,13 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vdpau_interop2} */ -public final class GLNVVDPAUInterop2 { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_vdpau_interop2) return; - ext.glVDPAURegisterVideoSurfaceWithPictureStructureNV = load.invoke("glVDPAURegisterVideoSurfaceWithPictureStructureNV", of(JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS, JAVA_BYTE)); - } - - public static long glVDPAURegisterVideoSurfaceWithPictureStructureNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames, boolean isFrameStructure) { - final var ext = getExtCapabilities(); - try { - return (long) - check(ext.glVDPAURegisterVideoSurfaceWithPictureStructureNV).invokeExact(vdpSurface, target, numTextureNames, textureNames, isFrameStructure); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVVDPAUInterop2 { + long glVDPAURegisterVideoSurfaceWithPictureStructureNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames, boolean isFrameStructure); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java index ece609da..8674ed9b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java @@ -18,39 +18,19 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vertex_array_range} */ -public final class GLNVVertexArrayRange { - public static final int GL_VERTEX_ARRAY_RANGE_NV = 0x851D; - public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; - public static final int GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; - public static final int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; - public static final int GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_vertex_array_range) return; - ext.glFlushVertexArrayRangeNV = load.invoke("glFlushVertexArrayRangeNV", ofVoid()); - ext.glVertexArrayRangeNV = load.invoke("glVertexArrayRangeNV", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glFlushVertexArrayRangeNV() { - final var ext = getExtCapabilities(); - try { - check(ext.glFlushVertexArrayRangeNV).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexArrayRangeNV(int length, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexArrayRangeNV).invokeExact(length, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVVertexArrayRange { + int GL_VERTEX_ARRAY_RANGE_NV = 0x851D; + int GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; + int GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; + int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; + int GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; + void glFlushVertexArrayRangeNV(); + void glVertexArrayRangeNV(int length, @NativeType("const void *") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java index 2b2dcb41..af91d3dc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vertex_array_range2} */ -public final class GLNVVertexArrayRange2 { - public static final int GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; +public interface GLNVVertexArrayRange2 { + int GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java index 59b9ad8f..9b965937 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java @@ -18,170 +18,31 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vertex_attrib_integer_64bit} */ -public final class GLNVVertexAttribInteger64bit { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_vertex_attrib_integer_64bit) return; - ext.glVertexAttribL1i64NV = load.invoke("glVertexAttribL1i64NV", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glVertexAttribL2i64NV = load.invoke("glVertexAttribL2i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glVertexAttribL3i64NV = load.invoke("glVertexAttribL3i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glVertexAttribL4i64NV = load.invoke("glVertexAttribL4i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glVertexAttribL1i64vNV = load.invoke("glVertexAttribL1i64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL2i64vNV = load.invoke("glVertexAttribL2i64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL3i64vNV = load.invoke("glVertexAttribL3i64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL4i64vNV = load.invoke("glVertexAttribL4i64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL1ui64NV = load.invoke("glVertexAttribL1ui64NV", ofVoid(JAVA_INT, JAVA_LONG)); - ext.glVertexAttribL2ui64NV = load.invoke("glVertexAttribL2ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glVertexAttribL3ui64NV = load.invoke("glVertexAttribL3ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glVertexAttribL4ui64NV = load.invoke("glVertexAttribL4ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); - ext.glVertexAttribL1ui64vNV = load.invoke("glVertexAttribL1ui64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL2ui64vNV = load.invoke("glVertexAttribL2ui64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL3ui64vNV = load.invoke("glVertexAttribL3ui64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribL4ui64vNV = load.invoke("glVertexAttribL4ui64vNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetVertexAttribLi64vNV = load.invoke("glGetVertexAttribLi64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribLui64vNV = load.invoke("glGetVertexAttribLui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribLFormatNV = load.invoke("glVertexAttribLFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glVertexAttribL1i64NV(int index, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1i64NV).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL2i64NV(int index, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL2i64NV).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL3i64NV(int index, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL3i64NV).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL4i64NV(int index, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL4i64NV).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL1i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1i64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL2i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL2i64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL3i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL3i64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL4i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL4i64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL1ui64NV(int index, long x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1ui64NV).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL2ui64NV(int index, long x, long y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL2ui64NV).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL3ui64NV(int index, long x, long y, long z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL3ui64NV).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL4ui64NV(int index, long x, long y, long z, long w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL4ui64NV).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL1ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL1ui64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL2ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL2ui64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL3ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL3ui64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribL4ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribL4ui64vNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribLi64vNV(int index, int pname, @NativeType("GLint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribLi64vNV).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribLui64vNV(int index, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribLui64vNV).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribLFormatNV(int index, int size, int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribLFormatNV).invokeExact(index, size, type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVVertexAttribInteger64bit { + + void glVertexAttribL1i64NV(int index, long x); + void glVertexAttribL2i64NV(int index, long x, long y); + void glVertexAttribL3i64NV(int index, long x, long y, long z); + void glVertexAttribL4i64NV(int index, long x, long y, long z, long w); + void glVertexAttribL1i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v); + void glVertexAttribL2i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v); + void glVertexAttribL3i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v); + void glVertexAttribL4i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v); + void glVertexAttribL1ui64NV(int index, long x); + void glVertexAttribL2ui64NV(int index, long x, long y); + void glVertexAttribL3ui64NV(int index, long x, long y, long z); + void glVertexAttribL4ui64NV(int index, long x, long y, long z, long w); + void glVertexAttribL1ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v); + void glVertexAttribL2ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v); + void glVertexAttribL3ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v); + void glVertexAttribL4ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v); + void glGetVertexAttribLi64vNV(int index, int pname, @NativeType("GLint64EXT *") MemorySegment params); + void glGetVertexAttribLui64vNV(int index, int pname, @NativeType("GLuint64EXT *") MemorySegment params); + void glVertexAttribLFormatNV(int index, int size, int type, int stride); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java index 2989fad7..3f74dc20 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java @@ -18,139 +18,49 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vertex_buffer_unified_memory} */ -public final class GLNVVertexBufferUnifiedMemory { - public static final int GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; - public static final int GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; - public static final int GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; - public static final int GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21; - public static final int GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22; - public static final int GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23; - public static final int GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24; - public static final int GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; - public static final int GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; - public static final int GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; - public static final int GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; - public static final int GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; - public static final int GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; - public static final int GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B; - public static final int GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C; - public static final int GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D; - public static final int GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E; - public static final int GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; - public static final int GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; - public static final int GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; - public static final int GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; - public static final int GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33; - public static final int GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40; - public static final int GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41; - public static final int GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_vertex_buffer_unified_memory) return; - ext.glBufferAddressRangeNV = load.invoke("glBufferAddressRangeNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); - ext.glVertexFormatNV = load.invoke("glVertexFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNormalFormatNV = load.invoke("glNormalFormatNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glColorFormatNV = load.invoke("glColorFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glIndexFormatNV = load.invoke("glIndexFormatNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glTexCoordFormatNV = load.invoke("glTexCoordFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glEdgeFlagFormatNV = load.invoke("glEdgeFlagFormatNV", ofVoid(JAVA_INT)); - ext.glSecondaryColorFormatNV = load.invoke("glSecondaryColorFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFogCoordFormatNV = load.invoke("glFogCoordFormatNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glVertexAttribFormatNV = load.invoke("glVertexAttribFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT)); - ext.glVertexAttribIFormatNV = load.invoke("glVertexAttribIFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetIntegerui64i_vNV = load.invoke("glGetIntegerui64i_vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glBufferAddressRangeNV(int pname, int index, long address, long length) { - final var ext = getExtCapabilities(); - try { - check(ext.glBufferAddressRangeNV).invokeExact(pname, index, address, length); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexFormatNV(int size, int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexFormatNV).invokeExact(size, type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormalFormatNV(int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormalFormatNV).invokeExact(type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorFormatNV(int size, int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorFormatNV).invokeExact(size, type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glIndexFormatNV(int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glIndexFormatNV).invokeExact(type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoordFormatNV(int size, int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoordFormatNV).invokeExact(size, type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEdgeFlagFormatNV(int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glEdgeFlagFormatNV).invokeExact(stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSecondaryColorFormatNV(int size, int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glSecondaryColorFormatNV).invokeExact(size, type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogCoordFormatNV(int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogCoordFormatNV).invokeExact(type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribFormatNV(int index, int size, int type, boolean normalized, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribFormatNV).invokeExact(index, size, type, normalized, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribIFormatNV(int index, int size, int type, int stride) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribIFormatNV).invokeExact(index, size, type, stride); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetIntegerui64i_vNV(int value, int index, @NativeType("GLuint64EXT *") MemorySegment result) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetIntegerui64i_vNV).invokeExact(value, index, result); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVVertexBufferUnifiedMemory { + int GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; + int GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; + int GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; + int GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21; + int GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22; + int GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23; + int GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24; + int GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; + int GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; + int GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; + int GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; + int GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; + int GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; + int GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B; + int GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C; + int GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D; + int GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E; + int GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; + int GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; + int GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; + int GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; + int GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33; + int GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40; + int GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41; + int GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42; + + void glBufferAddressRangeNV(int pname, int index, long address, long length); + void glVertexFormatNV(int size, int type, int stride); + void glNormalFormatNV(int type, int stride); + void glColorFormatNV(int size, int type, int stride); + void glIndexFormatNV(int type, int stride); + void glTexCoordFormatNV(int size, int type, int stride); + void glEdgeFlagFormatNV(int stride); + void glSecondaryColorFormatNV(int size, int type, int stride); + void glFogCoordFormatNV(int type, int stride); + void glVertexAttribFormatNV(int index, int size, int type, boolean normalized, int stride); + void glVertexAttribIFormatNV(int index, int size, int type, int stride); + void glGetIntegerui64i_vNV(int value, int index, @NativeType("GLuint64EXT *") MemorySegment result); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java index 529aad74..b7befe77 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java @@ -18,615 +18,159 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vertex_program} */ -public final class GLNVVertexProgram { - public static final int GL_VERTEX_PROGRAM_NV = 0x8620; - public static final int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; - public static final int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; - public static final int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; - public static final int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; - public static final int GL_CURRENT_ATTRIB_NV = 0x8626; - public static final int GL_PROGRAM_LENGTH_NV = 0x8627; - public static final int GL_PROGRAM_STRING_NV = 0x8628; - public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; - public static final int GL_IDENTITY_NV = 0x862A; - public static final int GL_INVERSE_NV = 0x862B; - public static final int GL_TRANSPOSE_NV = 0x862C; - public static final int GL_INVERSE_TRANSPOSE_NV = 0x862D; - public static final int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; - public static final int GL_MAX_TRACK_MATRICES_NV = 0x862F; - public static final int GL_MATRIX0_NV = 0x8630; - public static final int GL_MATRIX1_NV = 0x8631; - public static final int GL_MATRIX2_NV = 0x8632; - public static final int GL_MATRIX3_NV = 0x8633; - public static final int GL_MATRIX4_NV = 0x8634; - public static final int GL_MATRIX5_NV = 0x8635; - public static final int GL_MATRIX6_NV = 0x8636; - public static final int GL_MATRIX7_NV = 0x8637; - public static final int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; - public static final int GL_CURRENT_MATRIX_NV = 0x8641; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; - public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; - public static final int GL_PROGRAM_PARAMETER_NV = 0x8644; - public static final int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; - public static final int GL_PROGRAM_TARGET_NV = 0x8646; - public static final int GL_PROGRAM_RESIDENT_NV = 0x8647; - public static final int GL_TRACK_MATRIX_NV = 0x8648; - public static final int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; - public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; - public static final int GL_PROGRAM_ERROR_POSITION_NV = 0x864B; - public static final int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; - public static final int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; - public static final int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; - public static final int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; - public static final int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; - public static final int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; - public static final int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; - public static final int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; - public static final int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; - public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; - public static final int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; - public static final int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; - public static final int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; - public static final int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; - public static final int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; - public static final int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; - public static final int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; - public static final int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; - public static final int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; - public static final int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; - public static final int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; - public static final int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; - public static final int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; - public static final int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; - public static final int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; - public static final int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; - public static final int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; - public static final int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; - public static final int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; - public static final int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; - public static final int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; - public static final int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; - public static final int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; - public static final int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; - public static final int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; - public static final int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; - public static final int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; - public static final int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; - public static final int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; - public static final int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; - public static final int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; - public static final int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; - public static final int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; - public static final int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; - public static final int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; - public static final int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; - public static final int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; - public static final int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_vertex_program) return; - ext.glAreProgramsResidentNV = load.invoke("glAreProgramsResidentNV", of(JAVA_BYTE, JAVA_INT, ADDRESS, ADDRESS)); - ext.glBindProgramNV = load.invoke("glBindProgramNV", ofVoid(JAVA_INT, JAVA_INT)); - ext.glDeleteProgramsNV = load.invoke("glDeleteProgramsNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glExecuteProgramNV = load.invoke("glExecuteProgramNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGenProgramsNV = load.invoke("glGenProgramsNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetProgramParameterdvNV = load.invoke("glGetProgramParameterdvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramParameterfvNV = load.invoke("glGetProgramParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramivNV = load.invoke("glGetProgramivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetProgramStringNV = load.invoke("glGetProgramStringNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTrackMatrixivNV = load.invoke("glGetTrackMatrixivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribdvNV = load.invoke("glGetVertexAttribdvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribfvNV = load.invoke("glGetVertexAttribfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribivNV = load.invoke("glGetVertexAttribivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVertexAttribPointervNV = load.invoke("glGetVertexAttribPointervNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glIsProgramNV = load.invoke("glIsProgramNV", of(JAVA_BYTE, JAVA_INT)); - ext.glLoadProgramNV = load.invoke("glLoadProgramNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramParameter4dNV = load.invoke("glProgramParameter4dNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glProgramParameter4dvNV = load.invoke("glProgramParameter4dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramParameter4fNV = load.invoke("glProgramParameter4fNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glProgramParameter4fvNV = load.invoke("glProgramParameter4fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramParameters4dvNV = load.invoke("glProgramParameters4dvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glProgramParameters4fvNV = load.invoke("glProgramParameters4fvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glRequestResidentProgramsNV = load.invoke("glRequestResidentProgramsNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glTrackMatrixNV = load.invoke("glTrackMatrixNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertexAttribPointerNV = load.invoke("glVertexAttribPointerNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttrib1dNV = load.invoke("glVertexAttrib1dNV", ofVoid(JAVA_INT, JAVA_DOUBLE)); - ext.glVertexAttrib1dvNV = load.invoke("glVertexAttrib1dvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib1fNV = load.invoke("glVertexAttrib1fNV", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glVertexAttrib1fvNV = load.invoke("glVertexAttrib1fvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib1sNV = load.invoke("glVertexAttrib1sNV", ofVoid(JAVA_INT, JAVA_SHORT)); - ext.glVertexAttrib1svNV = load.invoke("glVertexAttrib1svNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib2dNV = load.invoke("glVertexAttrib2dNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttrib2dvNV = load.invoke("glVertexAttrib2dvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib2fNV = load.invoke("glVertexAttrib2fNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexAttrib2fvNV = load.invoke("glVertexAttrib2fvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib2sNV = load.invoke("glVertexAttrib2sNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib2svNV = load.invoke("glVertexAttrib2svNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib3dNV = load.invoke("glVertexAttrib3dNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttrib3dvNV = load.invoke("glVertexAttrib3dvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib3fNV = load.invoke("glVertexAttrib3fNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexAttrib3fvNV = load.invoke("glVertexAttrib3fvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib3sNV = load.invoke("glVertexAttrib3sNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib3svNV = load.invoke("glVertexAttrib3svNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4dNV = load.invoke("glVertexAttrib4dNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); - ext.glVertexAttrib4dvNV = load.invoke("glVertexAttrib4dvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4fNV = load.invoke("glVertexAttrib4fNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glVertexAttrib4fvNV = load.invoke("glVertexAttrib4fvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4sNV = load.invoke("glVertexAttrib4sNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); - ext.glVertexAttrib4svNV = load.invoke("glVertexAttrib4svNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttrib4ubNV = load.invoke("glVertexAttrib4ubNV", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glVertexAttrib4ubvNV = load.invoke("glVertexAttrib4ubvNV", ofVoid(JAVA_INT, ADDRESS)); - ext.glVertexAttribs1dvNV = load.invoke("glVertexAttribs1dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs1fvNV = load.invoke("glVertexAttribs1fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs1svNV = load.invoke("glVertexAttribs1svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs2dvNV = load.invoke("glVertexAttribs2dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs2fvNV = load.invoke("glVertexAttribs2fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs2svNV = load.invoke("glVertexAttribs2svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs3dvNV = load.invoke("glVertexAttribs3dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs3fvNV = load.invoke("glVertexAttribs3fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs3svNV = load.invoke("glVertexAttribs3svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs4dvNV = load.invoke("glVertexAttribs4dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs4fvNV = load.invoke("glVertexAttribs4fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs4svNV = load.invoke("glVertexAttribs4svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertexAttribs4ubvNV = load.invoke("glVertexAttribs4ubvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static boolean glAreProgramsResidentNV(int n, @NativeType("const GLuint *") MemorySegment programs, @NativeType("GLboolean *") MemorySegment residences) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glAreProgramsResidentNV).invokeExact(n, programs, residences); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindProgramNV(int target, int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindProgramNV).invokeExact(target, id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteProgramsNV(int n, @NativeType("const GLuint *") MemorySegment programs) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteProgramsNV).invokeExact(n, programs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glExecuteProgramNV(int target, int id, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glExecuteProgramNV).invokeExact(target, id, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGenProgramsNV(int n, @NativeType("GLuint *") MemorySegment programs) { - final var ext = getExtCapabilities(); - try { - check(ext.glGenProgramsNV).invokeExact(n, programs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramParameterdvNV(int target, int index, int pname, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramParameterdvNV).invokeExact(target, index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramParameterfvNV(int target, int index, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramParameterfvNV).invokeExact(target, index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramivNV(int id, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramivNV).invokeExact(id, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetProgramStringNV(int id, int pname, @NativeType("GLubyte *") MemorySegment program) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetProgramStringNV).invokeExact(id, pname, program); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTrackMatrixivNV(int target, int address, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTrackMatrixivNV).invokeExact(target, address, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribdvNV(int index, int pname, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribdvNV).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribfvNV(int index, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribfvNV).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribivNV(int index, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribivNV).invokeExact(index, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVertexAttribPointervNV(int index, int pname, @NativeType("void **") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVertexAttribPointervNV).invokeExact(index, pname, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsProgramNV(int id) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsProgramNV).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLoadProgramNV(int target, int id, int len, @NativeType("const GLubyte *") MemorySegment program) { - final var ext = getExtCapabilities(); - try { - check(ext.glLoadProgramNV).invokeExact(target, id, len, program); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramParameter4dNV(int target, int index, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameter4dNV).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramParameter4dvNV(int target, int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameter4dvNV).invokeExact(target, index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameter4fNV).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramParameter4fvNV(int target, int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameter4fvNV).invokeExact(target, index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramParameters4dvNV(int target, int index, int count, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameters4dvNV).invokeExact(target, index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glProgramParameters4fvNV(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glProgramParameters4fvNV).invokeExact(target, index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRequestResidentProgramsNV(int n, @NativeType("const GLuint *") MemorySegment programs) { - final var ext = getExtCapabilities(); - try { - check(ext.glRequestResidentProgramsNV).invokeExact(n, programs); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTrackMatrixNV(int target, int address, int matrix, int transform) { - final var ext = getExtCapabilities(); - try { - check(ext.glTrackMatrixNV).invokeExact(target, address, matrix, transform); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribPointerNV(int index, int fsize, int type, int stride, @NativeType("const void *") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribPointerNV).invokeExact(index, fsize, type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1dNV(int index, double x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1dNV).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1dvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1fNV(int index, float x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1fNV).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1fvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1sNV(int index, short x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1sNV).invokeExact(index, x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib1svNV(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib1svNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2dNV(int index, double x, double y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2dNV).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2dvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2fNV(int index, float x, float y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2fNV).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2fvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2sNV(int index, short x, short y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2sNV).invokeExact(index, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib2svNV(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib2svNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3dNV(int index, double x, double y, double z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3dNV).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3dvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3fNV(int index, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3fNV).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3fvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3sNV(int index, short x, short y, short z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3sNV).invokeExact(index, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib3svNV(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib3svNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4dNV(int index, double x, double y, double z, double w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4dNV).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4dvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4fNV(int index, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4fNV).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4fvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4sNV(int index, short x, short y, short z, short w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4sNV).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4svNV(int index, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4svNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4ubNV).invokeExact(index, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttrib4ubvNV(int index, @NativeType("const GLubyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttrib4ubvNV).invokeExact(index, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs1dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs1dvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs1fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs1fvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs1svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs1svNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs2dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs2dvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs2fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs2fvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs2svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs2svNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs3dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs3dvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs3fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs3fvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs3svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs3svNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs4dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs4dvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs4fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs4fvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs4svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs4svNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertexAttribs4ubvNV(int index, int count, @NativeType("const GLubyte *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertexAttribs4ubvNV).invokeExact(index, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVVertexProgram { + int GL_VERTEX_PROGRAM_NV = 0x8620; + int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; + int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; + int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; + int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; + int GL_CURRENT_ATTRIB_NV = 0x8626; + int GL_PROGRAM_LENGTH_NV = 0x8627; + int GL_PROGRAM_STRING_NV = 0x8628; + int GL_MODELVIEW_PROJECTION_NV = 0x8629; + int GL_IDENTITY_NV = 0x862A; + int GL_INVERSE_NV = 0x862B; + int GL_TRANSPOSE_NV = 0x862C; + int GL_INVERSE_TRANSPOSE_NV = 0x862D; + int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; + int GL_MAX_TRACK_MATRICES_NV = 0x862F; + int GL_MATRIX0_NV = 0x8630; + int GL_MATRIX1_NV = 0x8631; + int GL_MATRIX2_NV = 0x8632; + int GL_MATRIX3_NV = 0x8633; + int GL_MATRIX4_NV = 0x8634; + int GL_MATRIX5_NV = 0x8635; + int GL_MATRIX6_NV = 0x8636; + int GL_MATRIX7_NV = 0x8637; + int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; + int GL_CURRENT_MATRIX_NV = 0x8641; + int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; + int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; + int GL_PROGRAM_PARAMETER_NV = 0x8644; + int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; + int GL_PROGRAM_TARGET_NV = 0x8646; + int GL_PROGRAM_RESIDENT_NV = 0x8647; + int GL_TRACK_MATRIX_NV = 0x8648; + int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; + int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; + int GL_PROGRAM_ERROR_POSITION_NV = 0x864B; + int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; + int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; + int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; + int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; + int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; + int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; + int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; + int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; + int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; + int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; + int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; + int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; + int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; + int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; + int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; + int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; + int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; + int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; + int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; + int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; + int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; + int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; + int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; + int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; + int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; + int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; + int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; + int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; + int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; + int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; + int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; + int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; + int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; + int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; + int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; + int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; + int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; + int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; + int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; + int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; + int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; + int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; + int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; + int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; + int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; + int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; + int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; + int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; + + boolean glAreProgramsResidentNV(int n, @NativeType("const GLuint *") MemorySegment programs, @NativeType("GLboolean *") MemorySegment residences); + void glBindProgramNV(int target, int id); + void glDeleteProgramsNV(int n, @NativeType("const GLuint *") MemorySegment programs); + void glExecuteProgramNV(int target, int id, @NativeType("const GLfloat *") MemorySegment params); + void glGenProgramsNV(int n, @NativeType("GLuint *") MemorySegment programs); + void glGetProgramParameterdvNV(int target, int index, int pname, @NativeType("GLdouble *") MemorySegment params); + void glGetProgramParameterfvNV(int target, int index, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetProgramivNV(int id, int pname, @NativeType("GLint *") MemorySegment params); + void glGetProgramStringNV(int id, int pname, @NativeType("GLubyte *") MemorySegment program); + void glGetTrackMatrixivNV(int target, int address, int pname, @NativeType("GLint *") MemorySegment params); + void glGetVertexAttribdvNV(int index, int pname, @NativeType("GLdouble *") MemorySegment params); + void glGetVertexAttribfvNV(int index, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetVertexAttribivNV(int index, int pname, @NativeType("GLint *") MemorySegment params); + void glGetVertexAttribPointervNV(int index, int pname, @NativeType("void **") MemorySegment pointer); + boolean glIsProgramNV(int id); + void glLoadProgramNV(int target, int id, int len, @NativeType("const GLubyte *") MemorySegment program); + void glProgramParameter4dNV(int target, int index, double x, double y, double z, double w); + void glProgramParameter4dvNV(int target, int index, @NativeType("const GLdouble *") MemorySegment v); + void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w); + void glProgramParameter4fvNV(int target, int index, @NativeType("const GLfloat *") MemorySegment v); + void glProgramParameters4dvNV(int target, int index, int count, @NativeType("const GLdouble *") MemorySegment v); + void glProgramParameters4fvNV(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment v); + void glRequestResidentProgramsNV(int n, @NativeType("const GLuint *") MemorySegment programs); + void glTrackMatrixNV(int target, int address, int matrix, int transform); + void glVertexAttribPointerNV(int index, int fsize, int type, int stride, @NativeType("const void *") MemorySegment pointer); + void glVertexAttrib1dNV(int index, double x); + void glVertexAttrib1dvNV(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib1fNV(int index, float x); + void glVertexAttrib1fvNV(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib1sNV(int index, short x); + void glVertexAttrib1svNV(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib2dNV(int index, double x, double y); + void glVertexAttrib2dvNV(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib2fNV(int index, float x, float y); + void glVertexAttrib2fvNV(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib2sNV(int index, short x, short y); + void glVertexAttrib2svNV(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib3dNV(int index, double x, double y, double z); + void glVertexAttrib3dvNV(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib3fNV(int index, float x, float y, float z); + void glVertexAttrib3fvNV(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib3sNV(int index, short x, short y, short z); + void glVertexAttrib3svNV(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib4dNV(int index, double x, double y, double z, double w); + void glVertexAttrib4dvNV(int index, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttrib4fNV(int index, float x, float y, float z, float w); + void glVertexAttrib4fvNV(int index, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttrib4sNV(int index, short x, short y, short z, short w); + void glVertexAttrib4svNV(int index, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w); + void glVertexAttrib4ubvNV(int index, @NativeType("const GLubyte *") MemorySegment v); + void glVertexAttribs1dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribs1fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttribs1svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttribs2dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribs2fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttribs2svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttribs3dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribs3fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttribs3svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttribs4dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v); + void glVertexAttribs4fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v); + void glVertexAttribs4svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v); + void glVertexAttribs4ubvNV(int index, int count, @NativeType("const GLubyte *") MemorySegment v); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java index 775ada27..84a0f9cf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_vertex_program4} */ -public final class GLNVVertexProgram4 { - public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; +public interface GLNVVertexProgram4 { + int GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java index 5a46913e..f849011d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java @@ -18,144 +18,53 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_video_capture} */ -public final class GLNVVideoCapture { - public static final int GL_VIDEO_BUFFER_NV = 0x9020; - public static final int GL_VIDEO_BUFFER_BINDING_NV = 0x9021; - public static final int GL_FIELD_UPPER_NV = 0x9022; - public static final int GL_FIELD_LOWER_NV = 0x9023; - public static final int GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; - public static final int GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; - public static final int GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; - public static final int GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; - public static final int GL_VIDEO_BUFFER_PITCH_NV = 0x9028; - public static final int GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; - public static final int GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; - public static final int GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; - public static final int GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; - public static final int GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; - public static final int GL_PARTIAL_SUCCESS_NV = 0x902E; - public static final int GL_SUCCESS_NV = 0x902F; - public static final int GL_FAILURE_NV = 0x9030; - public static final int GL_YCBYCR8_422_NV = 0x9031; - public static final int GL_YCBAYCR8A_4224_NV = 0x9032; - public static final int GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; - public static final int GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; - public static final int GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; - public static final int GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; - public static final int GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; - public static final int GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; - public static final int GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; - public static final int GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; - public static final int GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; - public static final int GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_video_capture) return; - ext.glBeginVideoCaptureNV = load.invoke("glBeginVideoCaptureNV", ofVoid(JAVA_INT)); - ext.glBindVideoCaptureStreamBufferNV = load.invoke("glBindVideoCaptureStreamBufferNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); - ext.glBindVideoCaptureStreamTextureNV = load.invoke("glBindVideoCaptureStreamTextureNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glEndVideoCaptureNV = load.invoke("glEndVideoCaptureNV", ofVoid(JAVA_INT)); - ext.glGetVideoCaptureivNV = load.invoke("glGetVideoCaptureivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVideoCaptureStreamivNV = load.invoke("glGetVideoCaptureStreamivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVideoCaptureStreamfvNV = load.invoke("glGetVideoCaptureStreamfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetVideoCaptureStreamdvNV = load.invoke("glGetVideoCaptureStreamdvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVideoCaptureNV = load.invoke("glVideoCaptureNV", of(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glVideoCaptureStreamParameterivNV = load.invoke("glVideoCaptureStreamParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVideoCaptureStreamParameterfvNV = load.invoke("glVideoCaptureStreamParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVideoCaptureStreamParameterdvNV = load.invoke("glVideoCaptureStreamParameterdvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glBeginVideoCaptureNV(int video_capture_slot) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginVideoCaptureNV).invokeExact(video_capture_slot); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindVideoCaptureStreamBufferNV(int video_capture_slot, int stream, int frame_region, long offset) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindVideoCaptureStreamBufferNV).invokeExact(video_capture_slot, stream, frame_region, offset); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBindVideoCaptureStreamTextureNV(int video_capture_slot, int stream, int frame_region, int target, int texture) { - final var ext = getExtCapabilities(); - try { - check(ext.glBindVideoCaptureStreamTextureNV).invokeExact(video_capture_slot, stream, frame_region, target, texture); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndVideoCaptureNV(int video_capture_slot) { - final var ext = getExtCapabilities(); - try { - check(ext.glEndVideoCaptureNV).invokeExact(video_capture_slot); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideoCaptureivNV(int video_capture_slot, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideoCaptureivNV).invokeExact(video_capture_slot, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideoCaptureStreamivNV(int video_capture_slot, int stream, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideoCaptureStreamivNV).invokeExact(video_capture_slot, stream, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideoCaptureStreamfvNV(int video_capture_slot, int stream, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideoCaptureStreamfvNV).invokeExact(video_capture_slot, stream, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetVideoCaptureStreamdvNV(int video_capture_slot, int stream, int pname, @NativeType("GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetVideoCaptureStreamdvNV).invokeExact(video_capture_slot, stream, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glVideoCaptureNV(int video_capture_slot, @NativeType("GLuint *") MemorySegment sequence_num, @NativeType("GLuint64EXT *") MemorySegment capture_time) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glVideoCaptureNV).invokeExact(video_capture_slot, sequence_num, capture_time); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVideoCaptureStreamParameterivNV(int video_capture_slot, int stream, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glVideoCaptureStreamParameterivNV).invokeExact(video_capture_slot, stream, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVideoCaptureStreamParameterfvNV(int video_capture_slot, int stream, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glVideoCaptureStreamParameterfvNV).invokeExact(video_capture_slot, stream, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVideoCaptureStreamParameterdvNV(int video_capture_slot, int stream, int pname, @NativeType("const GLdouble *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glVideoCaptureStreamParameterdvNV).invokeExact(video_capture_slot, stream, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVVideoCapture { + int GL_VIDEO_BUFFER_NV = 0x9020; + int GL_VIDEO_BUFFER_BINDING_NV = 0x9021; + int GL_FIELD_UPPER_NV = 0x9022; + int GL_FIELD_LOWER_NV = 0x9023; + int GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; + int GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; + int GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; + int GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; + int GL_VIDEO_BUFFER_PITCH_NV = 0x9028; + int GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; + int GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; + int GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; + int GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; + int GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; + int GL_PARTIAL_SUCCESS_NV = 0x902E; + int GL_SUCCESS_NV = 0x902F; + int GL_FAILURE_NV = 0x9030; + int GL_YCBYCR8_422_NV = 0x9031; + int GL_YCBAYCR8A_4224_NV = 0x9032; + int GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; + int GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; + int GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; + int GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; + int GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; + int GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; + int GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; + int GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; + int GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; + int GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; + + void glBeginVideoCaptureNV(int video_capture_slot); + void glBindVideoCaptureStreamBufferNV(int video_capture_slot, int stream, int frame_region, long offset); + void glBindVideoCaptureStreamTextureNV(int video_capture_slot, int stream, int frame_region, int target, int texture); + void glEndVideoCaptureNV(int video_capture_slot); + void glGetVideoCaptureivNV(int video_capture_slot, int pname, @NativeType("GLint *") MemorySegment params); + void glGetVideoCaptureStreamivNV(int video_capture_slot, int stream, int pname, @NativeType("GLint *") MemorySegment params); + void glGetVideoCaptureStreamfvNV(int video_capture_slot, int stream, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetVideoCaptureStreamdvNV(int video_capture_slot, int stream, int pname, @NativeType("GLdouble *") MemorySegment params); + int glVideoCaptureNV(int video_capture_slot, @NativeType("GLuint *") MemorySegment sequence_num, @NativeType("GLuint64EXT *") MemorySegment capture_time); + void glVideoCaptureStreamParameterivNV(int video_capture_slot, int stream, int pname, @NativeType("const GLint *") MemorySegment params); + void glVideoCaptureStreamParameterfvNV(int video_capture_slot, int stream, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glVideoCaptureStreamParameterdvNV(int video_capture_slot, int stream, int pname, @NativeType("const GLdouble *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java index c3b1a994..4a91a02a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java @@ -18,38 +18,25 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NV_viewport_swizzle} */ -public final class GLNVViewportSwizzle { - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; - public static final int GL_VIEWPORT_SWIZZLE_X_NV = 0x9358; - public static final int GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359; - public static final int GL_VIEWPORT_SWIZZLE_Z_NV = 0x935A; - public static final int GL_VIEWPORT_SWIZZLE_W_NV = 0x935B; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NV_viewport_swizzle) return; - ext.glViewportSwizzleNV = load.invoke("glViewportSwizzleNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glViewportSwizzleNV(int index, int swizzlex, int swizzley, int swizzlez, int swizzlew) { - final var ext = getExtCapabilities(); - try { - check(ext.glViewportSwizzleNV).invokeExact(index, swizzlex, swizzley, swizzlez, swizzlew); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVViewportSwizzle { + int GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; + int GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; + int GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; + int GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; + int GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; + int GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; + int GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; + int GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; + int GL_VIEWPORT_SWIZZLE_X_NV = 0x9358; + int GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359; + int GL_VIEWPORT_SWIZZLE_Z_NV = 0x935A; + int GL_VIEWPORT_SWIZZLE_W_NV = 0x935B; + void glViewportSwizzleNV(int index, int swizzlex, int swizzley, int swizzlez, int swizzlew); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java index 147dbdd9..01cdc06b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java @@ -18,34 +18,14 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NVX_conditional_render} */ -public final class GLNVXConditionalRender { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NVX_conditional_render) return; - ext.glBeginConditionalRenderNVX = load.invoke("glBeginConditionalRenderNVX", ofVoid(JAVA_INT)); - ext.glEndConditionalRenderNVX = load.invoke("glEndConditionalRenderNVX", ofVoid()); - } - - public static void glBeginConditionalRenderNVX(int id) { - final var ext = getExtCapabilities(); - try { - check(ext.glBeginConditionalRenderNVX).invokeExact(id); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEndConditionalRenderNVX() { - final var ext = getExtCapabilities(); - try { - check(ext.glEndConditionalRenderNVX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVXConditionalRender { + void glBeginConditionalRenderNVX(int id); + void glEndConditionalRenderNVX(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java index 4e22beb6..f9967e5b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NVX_gpu_memory_info} */ -public final class GLNVXGpuMemoryInfo { - public static final int GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; - public static final int GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; - public static final int GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; - public static final int GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; - public static final int GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; +public interface GLNVXGpuMemoryInfo { + int GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; + int GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; + int GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; + int GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; + int GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java index 23477d0a..40f6af83 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java @@ -18,69 +18,19 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NVX_gpu_multicast2} */ -public final class GLNVXGpuMulticast2 { - public static final int GL_UPLOAD_GPU_MASK_NVX = 0x954A; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NVX_gpu_multicast2) return; - ext.glUploadGpuMaskNVX = load.invoke("glUploadGpuMaskNVX", ofVoid(JAVA_INT)); - ext.glMulticastViewportArrayvNVX = load.invoke("glMulticastViewportArrayvNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMulticastViewportPositionWScaleNVX = load.invoke("glMulticastViewportPositionWScaleNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glMulticastScissorArrayvNVX = load.invoke("glMulticastScissorArrayvNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glAsyncCopyBufferSubDataNVX = load.invoke("glAsyncCopyBufferSubDataNVX", of(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_INT, ADDRESS, ADDRESS)); - ext.glAsyncCopyImageSubDataNVX = load.invoke("glAsyncCopyImageSubDataNVX", of(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glUploadGpuMaskNVX(int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glUploadGpuMaskNVX).invokeExact(mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastViewportArrayvNVX(int gpu, int first, int count, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastViewportArrayvNVX).invokeExact(gpu, first, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastViewportPositionWScaleNVX(int gpu, int index, float xcoeff, float ycoeff) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastViewportPositionWScaleNVX).invokeExact(gpu, index, xcoeff, ycoeff); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMulticastScissorArrayvNVX(int gpu, int first, int count, @NativeType("const GLint *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glMulticastScissorArrayvNVX).invokeExact(gpu, first, count, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glAsyncCopyBufferSubDataNVX(int waitSemaphoreCount, @NativeType("const GLuint *") MemorySegment waitSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray, int readGpu, int writeGpuMask, int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size, int signalSemaphoreCount, @NativeType("const GLuint *") MemorySegment signalSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment signalValueArray) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glAsyncCopyBufferSubDataNVX).invokeExact(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glAsyncCopyImageSubDataNVX(int waitSemaphoreCount, @NativeType("const GLuint *") MemorySegment waitSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment waitValueArray, int srcGpu, int dstGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth, int signalSemaphoreCount, @NativeType("const GLuint *") MemorySegment signalSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment signalValueArray) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glAsyncCopyImageSubDataNVX).invokeExact(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLNVXGpuMulticast2 { + int GL_UPLOAD_GPU_MASK_NVX = 0x954A; + + void glUploadGpuMaskNVX(int mask); + void glMulticastViewportArrayvNVX(int gpu, int first, int count, @NativeType("const GLfloat *") MemorySegment v); + void glMulticastViewportPositionWScaleNVX(int gpu, int index, float xcoeff, float ycoeff); + void glMulticastScissorArrayvNVX(int gpu, int first, int count, @NativeType("const GLint *") MemorySegment v); + int glAsyncCopyBufferSubDataNVX(int waitSemaphoreCount, @NativeType("const GLuint *") MemorySegment waitSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray, int readGpu, int writeGpuMask, int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size, int signalSemaphoreCount, @NativeType("const GLuint *") MemorySegment signalSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment signalValueArray); + int glAsyncCopyImageSubDataNVX(int waitSemaphoreCount, @NativeType("const GLuint *") MemorySegment waitSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment waitValueArray, int srcGpu, int dstGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth, int signalSemaphoreCount, @NativeType("const GLuint *") MemorySegment signalSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment signalValueArray); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java index 744ae92a..fd063a22 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java @@ -18,44 +18,17 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NVX_linked_gpu_multicast} */ -public final class GLNVXLinkedGpuMulticast { - public static final int GL_LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; - public static final int GL_MAX_LGPU_GPUS_NVX = 0x92BA; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NVX_linked_gpu_multicast) return; - ext.glLGPUNamedBufferSubDataNVX = load.invoke("glLGPUNamedBufferSubDataNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); - ext.glLGPUCopyImageSubDataNVX = load.invoke("glLGPUCopyImageSubDataNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glLGPUInterlockNVX = load.invoke("glLGPUInterlockNVX", ofVoid()); - } - - public static void glLGPUNamedBufferSubDataNVX(int gpuMask, int buffer, long offset, long size, @NativeType("const void *") MemorySegment data) { - final var ext = getExtCapabilities(); - try { - check(ext.glLGPUNamedBufferSubDataNVX).invokeExact(gpuMask, buffer, offset, size, data); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLGPUCopyImageSubDataNVX(int sourceGpu, int destinationGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srxY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int width, int height, int depth) { - final var ext = getExtCapabilities(); - try { - check(ext.glLGPUCopyImageSubDataNVX).invokeExact(sourceGpu, destinationGpuMask, srcName, srcTarget, srcLevel, srcX, srxY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLGPUInterlockNVX() { - final var ext = getExtCapabilities(); - try { - check(ext.glLGPUInterlockNVX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVXLinkedGpuMulticast { + int GL_LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; + int GL_MAX_LGPU_GPUS_NVX = 0x92BA; + void glLGPUNamedBufferSubDataNVX(int gpuMask, int buffer, long offset, long size, @NativeType("const void *") MemorySegment data); + void glLGPUCopyImageSubDataNVX(int sourceGpu, int destinationGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srxY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int width, int height, int depth); + void glLGPUInterlockNVX(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java index b858fdcd..18d6b1b0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java @@ -18,50 +18,16 @@ package overrungl.opengl.ext.nv; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_NVX_progress_fence} */ -public final class GLNVXProgressFence { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_NVX_progress_fence) return; - ext.glCreateProgressFenceNVX = load.invoke("glCreateProgressFenceNVX", ofVoid()); - ext.glSignalSemaphoreui64NVX = load.invoke("glSignalSemaphoreui64NVX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glWaitSemaphoreui64NVX = load.invoke("glWaitSemaphoreui64NVX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); - ext.glClientWaitSemaphoreui64NVX = load.invoke("glClientWaitSemaphoreui64NVX", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); - } - - public static void glCreateProgressFenceNVX() { - final var ext = getExtCapabilities(); - try { - check(ext.glCreateProgressFenceNVX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSignalSemaphoreui64NVX(int signalGpu, int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray) { - final var ext = getExtCapabilities(); - try { - check(ext.glSignalSemaphoreui64NVX).invokeExact(signalGpu, fenceObjectCount, semaphoreArray, fenceValueArray); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glWaitSemaphoreui64NVX(int waitGpu, int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray) { - final var ext = getExtCapabilities(); - try { - check(ext.glWaitSemaphoreui64NVX).invokeExact(waitGpu, fenceObjectCount, semaphoreArray, fenceValueArray); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClientWaitSemaphoreui64NVX(int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray) { - final var ext = getExtCapabilities(); - try { - check(ext.glClientWaitSemaphoreui64NVX).invokeExact(fenceObjectCount, semaphoreArray, fenceValueArray); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLNVXProgressFence { + void glCreateProgressFenceNVX(); + void glSignalSemaphoreui64NVX(int signalGpu, int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray); + void glWaitSemaphoreui64NVX(int waitGpu, int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray); + void glClientWaitSemaphoreui64NVX(int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java index c7ec56b6..a49aad37 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java @@ -18,194 +18,34 @@ package overrungl.opengl.ext.oes; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OES_byte_coordinates} */ -public final class GLOESByteCoordinates { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_OES_byte_coordinates) return; - ext.glMultiTexCoord1bOES = load.invoke("glMultiTexCoord1bOES", ofVoid(JAVA_INT, JAVA_BYTE)); - ext.glMultiTexCoord1bvOES = load.invoke("glMultiTexCoord1bvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord2bOES = load.invoke("glMultiTexCoord2bOES", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE)); - ext.glMultiTexCoord2bvOES = load.invoke("glMultiTexCoord2bvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord3bOES = load.invoke("glMultiTexCoord3bOES", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glMultiTexCoord3bvOES = load.invoke("glMultiTexCoord3bvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord4bOES = load.invoke("glMultiTexCoord4bOES", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glMultiTexCoord4bvOES = load.invoke("glMultiTexCoord4bvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glTexCoord1bOES = load.invoke("glTexCoord1bOES", ofVoid(JAVA_BYTE)); - ext.glTexCoord1bvOES = load.invoke("glTexCoord1bvOES", ofVoid(ADDRESS)); - ext.glTexCoord2bOES = load.invoke("glTexCoord2bOES", ofVoid(JAVA_BYTE, JAVA_BYTE)); - ext.glTexCoord2bvOES = load.invoke("glTexCoord2bvOES", ofVoid(ADDRESS)); - ext.glTexCoord3bOES = load.invoke("glTexCoord3bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glTexCoord3bvOES = load.invoke("glTexCoord3bvOES", ofVoid(ADDRESS)); - ext.glTexCoord4bOES = load.invoke("glTexCoord4bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glTexCoord4bvOES = load.invoke("glTexCoord4bvOES", ofVoid(ADDRESS)); - ext.glVertex2bOES = load.invoke("glVertex2bOES", ofVoid(JAVA_BYTE, JAVA_BYTE)); - ext.glVertex2bvOES = load.invoke("glVertex2bvOES", ofVoid(ADDRESS)); - ext.glVertex3bOES = load.invoke("glVertex3bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glVertex3bvOES = load.invoke("glVertex3bvOES", ofVoid(ADDRESS)); - ext.glVertex4bOES = load.invoke("glVertex4bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - ext.glVertex4bvOES = load.invoke("glVertex4bvOES", ofVoid(ADDRESS)); - } - - public static void glMultiTexCoord1bOES(int texture, byte s) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1bOES).invokeExact(texture, s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1bvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2bOES(int texture, byte s, byte t) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2bOES).invokeExact(texture, s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2bvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3bOES(int texture, byte s, byte t, byte r) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3bOES).invokeExact(texture, s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3bvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4bOES(int texture, byte s, byte t, byte r, byte q) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4bOES).invokeExact(texture, s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4bvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord1bOES(byte s) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord1bOES).invokeExact(s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord1bvOES(@NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord1bvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2bOES(byte s, byte t) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2bOES).invokeExact(s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2bvOES(@NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2bvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord3bOES(byte s, byte t, byte r) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord3bOES).invokeExact(s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord3bvOES(@NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord3bvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4bOES(byte s, byte t, byte r, byte q) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4bOES).invokeExact(s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4bvOES(@NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4bvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex2bOES(byte x, byte y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex2bOES).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex2bvOES(@NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex2bvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex3bOES(byte x, byte y, byte z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex3bOES).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex3bvOES(@NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex3bvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex4bOES(byte x, byte y, byte z, byte w) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex4bOES).invokeExact(x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex4bvOES(@NativeType("const GLbyte *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex4bvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLOESByteCoordinates { + + void glMultiTexCoord1bOES(int texture, byte s); + void glMultiTexCoord1bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords); + void glMultiTexCoord2bOES(int texture, byte s, byte t); + void glMultiTexCoord2bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords); + void glMultiTexCoord3bOES(int texture, byte s, byte t, byte r); + void glMultiTexCoord3bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords); + void glMultiTexCoord4bOES(int texture, byte s, byte t, byte r, byte q); + void glMultiTexCoord4bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords); + void glTexCoord1bOES(byte s); + void glTexCoord1bvOES(@NativeType("const GLbyte *") MemorySegment coords); + void glTexCoord2bOES(byte s, byte t); + void glTexCoord2bvOES(@NativeType("const GLbyte *") MemorySegment coords); + void glTexCoord3bOES(byte s, byte t, byte r); + void glTexCoord3bvOES(@NativeType("const GLbyte *") MemorySegment coords); + void glTexCoord4bOES(byte s, byte t, byte r, byte q); + void glTexCoord4bvOES(@NativeType("const GLbyte *") MemorySegment coords); + void glVertex2bOES(byte x, byte y); + void glVertex2bvOES(@NativeType("const GLbyte *") MemorySegment coords); + void glVertex3bOES(byte x, byte y, byte z); + void glVertex3bvOES(@NativeType("const GLbyte *") MemorySegment coords); + void glVertex4bOES(byte x, byte y, byte z, byte w); + void glVertex4bvOES(@NativeType("const GLbyte *") MemorySegment coords); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java index 90e7859c..085c8675 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java @@ -18,24 +18,21 @@ package overrungl.opengl.ext.oes; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OES_compressed_paletted_texture} */ -public final class GLOESCompressedPalettedTexture { - public static final int GL_PALETTE4_RGB8_OES = 0x8B90; - public static final int GL_PALETTE4_RGBA8_OES = 0x8B91; - public static final int GL_PALETTE4_R5_G6_B5_OES = 0x8B92; - public static final int GL_PALETTE4_RGBA4_OES = 0x8B93; - public static final int GL_PALETTE4_RGB5_A1_OES = 0x8B94; - public static final int GL_PALETTE8_RGB8_OES = 0x8B95; - public static final int GL_PALETTE8_RGBA8_OES = 0x8B96; - public static final int GL_PALETTE8_R5_G6_B5_OES = 0x8B97; - public static final int GL_PALETTE8_RGBA4_OES = 0x8B98; - public static final int GL_PALETTE8_RGB5_A1_OES = 0x8B99; +public interface GLOESCompressedPalettedTexture { + int GL_PALETTE4_RGB8_OES = 0x8B90; + int GL_PALETTE4_RGBA8_OES = 0x8B91; + int GL_PALETTE4_R5_G6_B5_OES = 0x8B92; + int GL_PALETTE4_RGBA4_OES = 0x8B93; + int GL_PALETTE4_RGB5_A1_OES = 0x8B94; + int GL_PALETTE8_RGB8_OES = 0x8B95; + int GL_PALETTE8_RGBA8_OES = 0x8B96; + int GL_PALETTE8_R5_G6_B5_OES = 0x8B97; + int GL_PALETTE8_RGBA4_OES = 0x8B98; + int GL_PALETTE8_RGB5_A1_OES = 0x8B99; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java index 722b74ab..62cc94bc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java @@ -18,843 +18,116 @@ package overrungl.opengl.ext.oes; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OES_fixed_point} */ -public final class GLOESFixedPoint { - public static final int GL_FIXED_OES = 0x140C; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_OES_fixed_point) return; - ext.glAlphaFuncxOES = load.invoke("glAlphaFuncxOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glClearColorxOES = load.invoke("glClearColorxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glClearDepthxOES = load.invoke("glClearDepthxOES", ofVoid(JAVA_INT)); - ext.glClipPlanexOES = load.invoke("glClipPlanexOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glColor4xOES = load.invoke("glColor4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glDepthRangexOES = load.invoke("glDepthRangexOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glFogxOES = load.invoke("glFogxOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glFogxvOES = load.invoke("glFogxvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glFrustumxOES = load.invoke("glFrustumxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetClipPlanexOES = load.invoke("glGetClipPlanexOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetFixedvOES = load.invoke("glGetFixedvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetTexEnvxvOES = load.invoke("glGetTexEnvxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTexParameterxvOES = load.invoke("glGetTexParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glLightModelxOES = load.invoke("glLightModelxOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glLightModelxvOES = load.invoke("glLightModelxvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glLightxOES = load.invoke("glLightxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glLightxvOES = load.invoke("glLightxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glLineWidthxOES = load.invoke("glLineWidthxOES", ofVoid(JAVA_INT)); - ext.glLoadMatrixxOES = load.invoke("glLoadMatrixxOES", ofVoid(ADDRESS)); - ext.glMaterialxOES = load.invoke("glMaterialxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMaterialxvOES = load.invoke("glMaterialxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glMultMatrixxOES = load.invoke("glMultMatrixxOES", ofVoid(ADDRESS)); - ext.glMultiTexCoord4xOES = load.invoke("glMultiTexCoord4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glNormal3xOES = load.invoke("glNormal3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glOrthoxOES = load.invoke("glOrthoxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glPointParameterxvOES = load.invoke("glPointParameterxvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glPointSizexOES = load.invoke("glPointSizexOES", ofVoid(JAVA_INT)); - ext.glPolygonOffsetxOES = load.invoke("glPolygonOffsetxOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glRotatexOES = load.invoke("glRotatexOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glScalexOES = load.invoke("glScalexOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexEnvxOES = load.invoke("glTexEnvxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexEnvxvOES = load.invoke("glTexEnvxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexParameterxOES = load.invoke("glTexParameterxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexParameterxvOES = load.invoke("glTexParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTranslatexOES = load.invoke("glTranslatexOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glAccumxOES = load.invoke("glAccumxOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glBitmapxOES = load.invoke("glBitmapxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glBlendColorxOES = load.invoke("glBlendColorxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glClearAccumxOES = load.invoke("glClearAccumxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glColor3xOES = load.invoke("glColor3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glColor3xvOES = load.invoke("glColor3xvOES", ofVoid(ADDRESS)); - ext.glColor4xvOES = load.invoke("glColor4xvOES", ofVoid(ADDRESS)); - ext.glConvolutionParameterxOES = load.invoke("glConvolutionParameterxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glConvolutionParameterxvOES = load.invoke("glConvolutionParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glEvalCoord1xOES = load.invoke("glEvalCoord1xOES", ofVoid(JAVA_INT)); - ext.glEvalCoord1xvOES = load.invoke("glEvalCoord1xvOES", ofVoid(ADDRESS)); - ext.glEvalCoord2xOES = load.invoke("glEvalCoord2xOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glEvalCoord2xvOES = load.invoke("glEvalCoord2xvOES", ofVoid(ADDRESS)); - ext.glFeedbackBufferxOES = load.invoke("glFeedbackBufferxOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetConvolutionParameterxvOES = load.invoke("glGetConvolutionParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetHistogramParameterxvOES = load.invoke("glGetHistogramParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetLightxOES = load.invoke("glGetLightxOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMapxvOES = load.invoke("glGetMapxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetMaterialxOES = load.invoke("glGetMaterialxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetPixelMapxv = load.invoke("glGetPixelMapxv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTexGenxvOES = load.invoke("glGetTexGenxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetTexLevelParameterxvOES = load.invoke("glGetTexLevelParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glIndexxOES = load.invoke("glIndexxOES", ofVoid(JAVA_INT)); - ext.glIndexxvOES = load.invoke("glIndexxvOES", ofVoid(ADDRESS)); - ext.glLoadTransposeMatrixxOES = load.invoke("glLoadTransposeMatrixxOES", ofVoid(ADDRESS)); - ext.glMap1xOES = load.invoke("glMap1xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMap2xOES = load.invoke("glMap2xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMapGrid1xOES = load.invoke("glMapGrid1xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMapGrid2xOES = load.invoke("glMapGrid2xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultTransposeMatrixxOES = load.invoke("glMultTransposeMatrixxOES", ofVoid(ADDRESS)); - ext.glMultiTexCoord1xOES = load.invoke("glMultiTexCoord1xOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glMultiTexCoord1xvOES = load.invoke("glMultiTexCoord1xvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord2xOES = load.invoke("glMultiTexCoord2xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexCoord2xvOES = load.invoke("glMultiTexCoord2xvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord3xOES = load.invoke("glMultiTexCoord3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glMultiTexCoord3xvOES = load.invoke("glMultiTexCoord3xvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glMultiTexCoord4xvOES = load.invoke("glMultiTexCoord4xvOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glNormal3xvOES = load.invoke("glNormal3xvOES", ofVoid(ADDRESS)); - ext.glPassThroughxOES = load.invoke("glPassThroughxOES", ofVoid(JAVA_INT)); - ext.glPixelMapx = load.invoke("glPixelMapx", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glPixelStorex = load.invoke("glPixelStorex", ofVoid(JAVA_INT, JAVA_INT)); - ext.glPixelTransferxOES = load.invoke("glPixelTransferxOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glPixelZoomxOES = load.invoke("glPixelZoomxOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glPrioritizeTexturesxOES = load.invoke("glPrioritizeTexturesxOES", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); - ext.glRasterPos2xOES = load.invoke("glRasterPos2xOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glRasterPos2xvOES = load.invoke("glRasterPos2xvOES", ofVoid(ADDRESS)); - ext.glRasterPos3xOES = load.invoke("glRasterPos3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glRasterPos3xvOES = load.invoke("glRasterPos3xvOES", ofVoid(ADDRESS)); - ext.glRasterPos4xOES = load.invoke("glRasterPos4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glRasterPos4xvOES = load.invoke("glRasterPos4xvOES", ofVoid(ADDRESS)); - ext.glRectxOES = load.invoke("glRectxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glRectxvOES = load.invoke("glRectxvOES", ofVoid(ADDRESS, ADDRESS)); - ext.glTexCoord1xOES = load.invoke("glTexCoord1xOES", ofVoid(JAVA_INT)); - ext.glTexCoord1xvOES = load.invoke("glTexCoord1xvOES", ofVoid(ADDRESS)); - ext.glTexCoord2xOES = load.invoke("glTexCoord2xOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glTexCoord2xvOES = load.invoke("glTexCoord2xvOES", ofVoid(ADDRESS)); - ext.glTexCoord3xOES = load.invoke("glTexCoord3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexCoord3xvOES = load.invoke("glTexCoord3xvOES", ofVoid(ADDRESS)); - ext.glTexCoord4xOES = load.invoke("glTexCoord4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexCoord4xvOES = load.invoke("glTexCoord4xvOES", ofVoid(ADDRESS)); - ext.glTexGenxOES = load.invoke("glTexGenxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glTexGenxvOES = load.invoke("glTexGenxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glVertex2xOES = load.invoke("glVertex2xOES", ofVoid(JAVA_INT)); - ext.glVertex2xvOES = load.invoke("glVertex2xvOES", ofVoid(ADDRESS)); - ext.glVertex3xOES = load.invoke("glVertex3xOES", ofVoid(JAVA_INT, JAVA_INT)); - ext.glVertex3xvOES = load.invoke("glVertex3xvOES", ofVoid(ADDRESS)); - ext.glVertex4xOES = load.invoke("glVertex4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glVertex4xvOES = load.invoke("glVertex4xvOES", ofVoid(ADDRESS)); - } - - public static void glAlphaFuncxOES(int func, int ref) { - final var ext = getExtCapabilities(); - try { - check(ext.glAlphaFuncxOES).invokeExact(func, ref); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearColorxOES(int red, int green, int blue, int alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearColorxOES).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearDepthxOES(int depth) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearDepthxOES).invokeExact(depth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClipPlanexOES(int plane, @NativeType("const GLfixed *") MemorySegment equation) { - final var ext = getExtCapabilities(); - try { - check(ext.glClipPlanexOES).invokeExact(plane, equation); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4xOES(int red, int green, int blue, int alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4xOES).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDepthRangexOES(int n, int f) { - final var ext = getExtCapabilities(); - try { - check(ext.glDepthRangexOES).invokeExact(n, f); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogxOES(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogxOES).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFogxvOES(int pname, @NativeType("const GLfixed *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogxvOES).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFrustumxOES(int l, int r, int b, int t, int n, int f) { - final var ext = getExtCapabilities(); - try { - check(ext.glFrustumxOES).invokeExact(l, r, b, t, n, f); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetClipPlanexOES(int plane, @NativeType("GLfixed *") MemorySegment equation) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetClipPlanexOES).invokeExact(plane, equation); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFixedvOES(int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFixedvOES).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexEnvxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexEnvxvOES).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexParameterxvOES).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLightModelxOES(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glLightModelxOES).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLightModelxvOES(int pname, @NativeType("const GLfixed *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glLightModelxvOES).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLightxOES(int light, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glLightxOES).invokeExact(light, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLightxvOES(int light, int pname, @NativeType("const GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glLightxvOES).invokeExact(light, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLineWidthxOES(int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glLineWidthxOES).invokeExact(width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLoadMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glLoadMatrixxOES).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMaterialxOES(int face, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMaterialxOES).invokeExact(face, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMaterialxvOES(int face, int pname, @NativeType("const GLfixed *") MemorySegment param) { - final var ext = getExtCapabilities(); - try { - check(ext.glMaterialxvOES).invokeExact(face, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultMatrixxOES).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4xOES(int texture, int s, int t, int r, int q) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4xOES).invokeExact(texture, s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormal3xOES(int nx, int ny, int nz) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormal3xOES).invokeExact(nx, ny, nz); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glOrthoxOES(int l, int r, int b, int t, int n, int f) { - final var ext = getExtCapabilities(); - try { - check(ext.glOrthoxOES).invokeExact(l, r, b, t, n, f); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPointParameterxvOES(int pname, @NativeType("const GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterxvOES).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPointSizexOES(int size) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointSizexOES).invokeExact(size); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPolygonOffsetxOES(int factor, int units) { - final var ext = getExtCapabilities(); - try { - check(ext.glPolygonOffsetxOES).invokeExact(factor, units); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRotatexOES(int angle, int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glRotatexOES).invokeExact(angle, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glScalexOES(int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glScalexOES).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexEnvxOES(int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexEnvxOES).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexEnvxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexEnvxvOES).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexParameterxOES(int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexParameterxOES).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexParameterxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexParameterxvOES).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTranslatexOES(int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glTranslatexOES).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glAccumxOES(int op, int value) { - final var ext = getExtCapabilities(); - try { - check(ext.glAccumxOES).invokeExact(op, value); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBitmapxOES(int width, int height, int xorig, int yorig, int xmove, int ymove, @NativeType("const GLubyte *") MemorySegment bitmap) { - final var ext = getExtCapabilities(); - try { - check(ext.glBitmapxOES).invokeExact(width, height, xorig, yorig, xmove, ymove, bitmap); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glBlendColorxOES(int red, int green, int blue, int alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glBlendColorxOES).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClearAccumxOES(int red, int green, int blue, int alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearAccumxOES).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor3xOES(int red, int green, int blue) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor3xOES).invokeExact(red, green, blue); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor3xvOES(@NativeType("const GLfixed *") MemorySegment components) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor3xvOES).invokeExact(components); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4xvOES(@NativeType("const GLfixed *") MemorySegment components) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4xvOES).invokeExact(components); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameterxOES(int target, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameterxOES).invokeExact(target, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glConvolutionParameterxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glConvolutionParameterxvOES).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEvalCoord1xOES(int u) { - final var ext = getExtCapabilities(); - try { - check(ext.glEvalCoord1xOES).invokeExact(u); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEvalCoord1xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glEvalCoord1xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEvalCoord2xOES(int u, int v) { - final var ext = getExtCapabilities(); - try { - check(ext.glEvalCoord2xOES).invokeExact(u, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glEvalCoord2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glEvalCoord2xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFeedbackBufferxOES(int n, int type, @NativeType("const GLfixed *") MemorySegment buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glFeedbackBufferxOES).invokeExact(n, type, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetConvolutionParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetConvolutionParameterxvOES).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetHistogramParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetHistogramParameterxvOES).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetLightxOES(int light, int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetLightxOES).invokeExact(light, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMapxvOES(int target, int query, @NativeType("GLfixed *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMapxvOES).invokeExact(target, query, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetMaterialxOES(int face, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetMaterialxOES).invokeExact(face, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPixelMapxv(int map, int size, @NativeType("GLfixed *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPixelMapxv).invokeExact(map, size, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexGenxvOES(int coord, int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexGenxvOES).invokeExact(coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetTexLevelParameterxvOES(int target, int level, int pname, @NativeType("GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexLevelParameterxvOES).invokeExact(target, level, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glIndexxOES(int component) { - final var ext = getExtCapabilities(); - try { - check(ext.glIndexxOES).invokeExact(component); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glIndexxvOES(@NativeType("const GLfixed *") MemorySegment component) { - final var ext = getExtCapabilities(); - try { - check(ext.glIndexxvOES).invokeExact(component); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLoadTransposeMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glLoadTransposeMatrixxOES).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMap1xOES(int target, int u1, int u2, int stride, int order, int points) { - final var ext = getExtCapabilities(); - try { - check(ext.glMap1xOES).invokeExact(target, u1, u2, stride, order, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMap2xOES(int target, int u1, int u2, int ustride, int uorder, int v1, int v2, int vstride, int vorder, int points) { - final var ext = getExtCapabilities(); - try { - check(ext.glMap2xOES).invokeExact(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapGrid1xOES(int n, int u1, int u2) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapGrid1xOES).invokeExact(n, u1, u2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMapGrid2xOES(int n, int u1, int u2, int v1, int v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glMapGrid2xOES).invokeExact(n, u1, u2, v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultTransposeMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultTransposeMatrixxOES).invokeExact(m); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1xOES(int texture, int s) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1xOES).invokeExact(texture, s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord1xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord1xvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2xOES(int texture, int s, int t) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2xOES).invokeExact(texture, s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord2xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord2xvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3xOES(int texture, int s, int t, int r) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3xOES).invokeExact(texture, s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord3xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord3xvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glMultiTexCoord4xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glMultiTexCoord4xvOES).invokeExact(texture, coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormal3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormal3xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPassThroughxOES(int token) { - final var ext = getExtCapabilities(); - try { - check(ext.glPassThroughxOES).invokeExact(token); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelMapx(int map, int size, @NativeType("const GLfixed *") MemorySegment values) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelMapx).invokeExact(map, size, values); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelStorex(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelStorex).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelTransferxOES(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTransferxOES).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelZoomxOES(int xfactor, int yfactor) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelZoomxOES).invokeExact(xfactor, yfactor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPrioritizeTexturesxOES(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLfixed *") MemorySegment priorities) { - final var ext = getExtCapabilities(); - try { - check(ext.glPrioritizeTexturesxOES).invokeExact(n, textures, priorities); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRasterPos2xOES(int x, int y) { - final var ext = getExtCapabilities(); - try { - check(ext.glRasterPos2xOES).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRasterPos2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glRasterPos2xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRasterPos3xOES(int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glRasterPos3xOES).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRasterPos3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glRasterPos3xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRasterPos4xOES(int x, int y, int z, int w) { - final var ext = getExtCapabilities(); - try { - check(ext.glRasterPos4xOES).invokeExact(x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRasterPos4xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glRasterPos4xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRectxOES(int x1, int y1, int x2, int y2) { - final var ext = getExtCapabilities(); - try { - check(ext.glRectxOES).invokeExact(x1, y1, x2, y2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glRectxvOES(@NativeType("const GLfixed *") MemorySegment v1, @NativeType("const GLfixed *") MemorySegment v2) { - final var ext = getExtCapabilities(); - try { - check(ext.glRectxvOES).invokeExact(v1, v2); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord1xOES(int s) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord1xOES).invokeExact(s); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord1xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord1xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2xOES(int s, int t) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2xOES).invokeExact(s, t); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord3xOES(int s, int t, int r) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord3xOES).invokeExact(s, t, r); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord3xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4xOES(int s, int t, int r, int q) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4xOES).invokeExact(s, t, r, q); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexGenxOES(int coord, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexGenxOES).invokeExact(coord, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexGenxvOES(int coord, int pname, @NativeType("const GLfixed *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexGenxvOES).invokeExact(coord, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex2xOES(int x) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex2xOES).invokeExact(x); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex2xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex3xOES(int x, int y) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex3xOES).invokeExact(x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex3xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex4xOES(int x, int y, int z) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex4xOES).invokeExact(x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glVertex4xvOES(@NativeType("const GLfixed *") MemorySegment coords) { - final var ext = getExtCapabilities(); - try { - check(ext.glVertex4xvOES).invokeExact(coords); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLOESFixedPoint { + int GL_FIXED_OES = 0x140C; + + void glAlphaFuncxOES(int func, int ref); + void glClearColorxOES(int red, int green, int blue, int alpha); + void glClearDepthxOES(int depth); + void glClipPlanexOES(int plane, @NativeType("const GLfixed *") MemorySegment equation); + void glColor4xOES(int red, int green, int blue, int alpha); + void glDepthRangexOES(int n, int f); + void glFogxOES(int pname, int param); + void glFogxvOES(int pname, @NativeType("const GLfixed *") MemorySegment param); + void glFrustumxOES(int l, int r, int b, int t, int n, int f); + void glGetClipPlanexOES(int plane, @NativeType("GLfixed *") MemorySegment equation); + void glGetFixedvOES(int pname, @NativeType("GLfixed *") MemorySegment params); + void glGetTexEnvxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params); + void glGetTexParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params); + void glLightModelxOES(int pname, int param); + void glLightModelxvOES(int pname, @NativeType("const GLfixed *") MemorySegment param); + void glLightxOES(int light, int pname, int param); + void glLightxvOES(int light, int pname, @NativeType("const GLfixed *") MemorySegment params); + void glLineWidthxOES(int width); + void glLoadMatrixxOES(@NativeType("const GLfixed *") MemorySegment m); + void glMaterialxOES(int face, int pname, int param); + void glMaterialxvOES(int face, int pname, @NativeType("const GLfixed *") MemorySegment param); + void glMultMatrixxOES(@NativeType("const GLfixed *") MemorySegment m); + void glMultiTexCoord4xOES(int texture, int s, int t, int r, int q); + void glNormal3xOES(int nx, int ny, int nz); + void glOrthoxOES(int l, int r, int b, int t, int n, int f); + void glPointParameterxvOES(int pname, @NativeType("const GLfixed *") MemorySegment params); + void glPointSizexOES(int size); + void glPolygonOffsetxOES(int factor, int units); + void glRotatexOES(int angle, int x, int y, int z); + void glScalexOES(int x, int y, int z); + void glTexEnvxOES(int target, int pname, int param); + void glTexEnvxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params); + void glTexParameterxOES(int target, int pname, int param); + void glTexParameterxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params); + void glTranslatexOES(int x, int y, int z); + void glAccumxOES(int op, int value); + void glBitmapxOES(int width, int height, int xorig, int yorig, int xmove, int ymove, @NativeType("const GLubyte *") MemorySegment bitmap); + void glBlendColorxOES(int red, int green, int blue, int alpha); + void glClearAccumxOES(int red, int green, int blue, int alpha); + void glColor3xOES(int red, int green, int blue); + void glColor3xvOES(@NativeType("const GLfixed *") MemorySegment components); + void glColor4xvOES(@NativeType("const GLfixed *") MemorySegment components); + void glConvolutionParameterxOES(int target, int pname, int param); + void glConvolutionParameterxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params); + void glEvalCoord1xOES(int u); + void glEvalCoord1xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glEvalCoord2xOES(int u, int v); + void glEvalCoord2xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glFeedbackBufferxOES(int n, int type, @NativeType("const GLfixed *") MemorySegment buffer); + void glGetConvolutionParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params); + void glGetHistogramParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params); + void glGetLightxOES(int light, int pname, @NativeType("GLfixed *") MemorySegment params); + void glGetMapxvOES(int target, int query, @NativeType("GLfixed *") MemorySegment v); + void glGetMaterialxOES(int face, int pname, int param); + void glGetPixelMapxv(int map, int size, @NativeType("GLfixed *") MemorySegment values); + void glGetTexGenxvOES(int coord, int pname, @NativeType("GLfixed *") MemorySegment params); + void glGetTexLevelParameterxvOES(int target, int level, int pname, @NativeType("GLfixed *") MemorySegment params); + void glIndexxOES(int component); + void glIndexxvOES(@NativeType("const GLfixed *") MemorySegment component); + void glLoadTransposeMatrixxOES(@NativeType("const GLfixed *") MemorySegment m); + void glMap1xOES(int target, int u1, int u2, int stride, int order, int points); + void glMap2xOES(int target, int u1, int u2, int ustride, int uorder, int v1, int v2, int vstride, int vorder, int points); + void glMapGrid1xOES(int n, int u1, int u2); + void glMapGrid2xOES(int n, int u1, int u2, int v1, int v2); + void glMultTransposeMatrixxOES(@NativeType("const GLfixed *") MemorySegment m); + void glMultiTexCoord1xOES(int texture, int s); + void glMultiTexCoord1xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords); + void glMultiTexCoord2xOES(int texture, int s, int t); + void glMultiTexCoord2xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords); + void glMultiTexCoord3xOES(int texture, int s, int t, int r); + void glMultiTexCoord3xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords); + void glMultiTexCoord4xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords); + void glNormal3xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glPassThroughxOES(int token); + void glPixelMapx(int map, int size, @NativeType("const GLfixed *") MemorySegment values); + void glPixelStorex(int pname, int param); + void glPixelTransferxOES(int pname, int param); + void glPixelZoomxOES(int xfactor, int yfactor); + void glPrioritizeTexturesxOES(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLfixed *") MemorySegment priorities); + void glRasterPos2xOES(int x, int y); + void glRasterPos2xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glRasterPos3xOES(int x, int y, int z); + void glRasterPos3xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glRasterPos4xOES(int x, int y, int z, int w); + void glRasterPos4xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glRectxOES(int x1, int y1, int x2, int y2); + void glRectxvOES(@NativeType("const GLfixed *") MemorySegment v1, @NativeType("const GLfixed *") MemorySegment v2); + void glTexCoord1xOES(int s); + void glTexCoord1xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glTexCoord2xOES(int s, int t); + void glTexCoord2xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glTexCoord3xOES(int s, int t, int r); + void glTexCoord3xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glTexCoord4xOES(int s, int t, int r, int q); + void glTexCoord4xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glTexGenxOES(int coord, int pname, int param); + void glTexGenxvOES(int coord, int pname, @NativeType("const GLfixed *") MemorySegment params); + void glVertex2xOES(int x); + void glVertex2xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glVertex3xOES(int x, int y); + void glVertex3xvOES(@NativeType("const GLfixed *") MemorySegment coords); + void glVertex4xOES(int x, int y, int z); + void glVertex4xvOES(@NativeType("const GLfixed *") MemorySegment coords); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java index 9c0096f2..d087901a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java @@ -18,27 +18,13 @@ package overrungl.opengl.ext.oes; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OES_query_matrix} */ -public final class GLOESQueryMatrix { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_OES_query_matrix) return; - ext.glQueryMatrixxOES = load.invoke("glQueryMatrixxOES", of(JAVA_INT, ADDRESS, ADDRESS)); - } - - public static int glQueryMatrixxOES(@NativeType("GLfixed *") MemorySegment mantissa, @NativeType("GLint *") MemorySegment exponent) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glQueryMatrixxOES).invokeExact(mantissa, exponent); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLOESQueryMatrix { + int glQueryMatrixxOES(@NativeType("GLfixed *") MemorySegment mantissa, @NativeType("GLint *") MemorySegment exponent); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java index 1a7e33c1..6bbb74d1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.oes; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OES_read_format} */ -public final class GLOESReadFormat { - public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; - public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; +public interface GLOESReadFormat { + int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; + int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java index 11bc85ae..dbae6876 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java @@ -18,66 +18,18 @@ package overrungl.opengl.ext.oes; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_OES_single_precision} */ -public final class GLOESSinglePrecision { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_OES_single_precision) return; - ext.glClearDepthfOES = load.invoke("glClearDepthfOES", ofVoid(JAVA_FLOAT)); - ext.glClipPlanefOES = load.invoke("glClipPlanefOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glDepthRangefOES = load.invoke("glDepthRangefOES", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); - ext.glFrustumfOES = load.invoke("glFrustumfOES", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glGetClipPlanefOES = load.invoke("glGetClipPlanefOES", ofVoid(JAVA_INT, ADDRESS)); - ext.glOrthofOES = load.invoke("glOrthofOES", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - } - - public static void glClearDepthfOES(float depth) { - final var ext = getExtCapabilities(); - try { - check(ext.glClearDepthfOES).invokeExact(depth); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glClipPlanefOES(int plane, @NativeType("const GLfloat *") MemorySegment equation) { - final var ext = getExtCapabilities(); - try { - check(ext.glClipPlanefOES).invokeExact(plane, equation); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDepthRangefOES(float n, float f) { - final var ext = getExtCapabilities(); - try { - check(ext.glDepthRangefOES).invokeExact(n, f); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFrustumfOES(float l, float r, float b, float t, float n, float f) { - final var ext = getExtCapabilities(); - try { - check(ext.glFrustumfOES).invokeExact(l, r, b, t, n, f); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetClipPlanefOES(int plane, @NativeType("GLfloat *") MemorySegment equation) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetClipPlanefOES).invokeExact(plane, equation); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glOrthofOES(float l, float r, float b, float t, float n, float f) { - final var ext = getExtCapabilities(); - try { - check(ext.glOrthofOES).invokeExact(l, r, b, t, n, f); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLOESSinglePrecision { + + void glClearDepthfOES(float depth); + void glClipPlanefOES(int plane, @NativeType("const GLfloat *") MemorySegment equation); + void glDepthRangefOES(float n, float f); + void glFrustumfOES(float l, float r, float b, float t, float n, float f); + void glGetClipPlanefOES(int plane, @NativeType("GLfloat *") MemorySegment equation); + void glOrthofOES(float l, float r, float b, float t, float n, float f); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java index 95cc319a..ea8d747f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java @@ -18,25 +18,22 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGI_color_matrix} */ -public final class GLSGIColorMatrix { - public static final int GL_COLOR_MATRIX_SGI = 0x80B1; - public static final int GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; - public static final int GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; - public static final int GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; - public static final int GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; - public static final int GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; - public static final int GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; - public static final int GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; - public static final int GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; - public static final int GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; - public static final int GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; +public interface GLSGIColorMatrix { + int GL_COLOR_MATRIX_SGI = 0x80B1; + int GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; + int GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; + int GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; + int GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; + int GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; + int GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; + int GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; + int GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; + int GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; + int GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java index a8e87741..0e5d76a3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java @@ -18,90 +18,35 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGI_color_table} */ -public final class GLSGIColorTable { - public static final int GL_COLOR_TABLE_SGI = 0x80D0; - public static final int GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; - public static final int GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; - public static final int GL_PROXY_COLOR_TABLE_SGI = 0x80D3; - public static final int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; - public static final int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; - public static final int GL_COLOR_TABLE_SCALE_SGI = 0x80D6; - public static final int GL_COLOR_TABLE_BIAS_SGI = 0x80D7; - public static final int GL_COLOR_TABLE_FORMAT_SGI = 0x80D8; - public static final int GL_COLOR_TABLE_WIDTH_SGI = 0x80D9; - public static final int GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA; - public static final int GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; - public static final int GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; - public static final int GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; - public static final int GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; - public static final int GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGI_color_table) return; - ext.glColorTableSGI = load.invoke("glColorTableSGI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glColorTableParameterfvSGI = load.invoke("glColorTableParameterfvSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glColorTableParameterivSGI = load.invoke("glColorTableParameterivSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glCopyColorTableSGI = load.invoke("glCopyColorTableSGI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glGetColorTableSGI = load.invoke("glGetColorTableSGI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetColorTableParameterfvSGI = load.invoke("glGetColorTableParameterfvSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetColorTableParameterivSGI = load.invoke("glGetColorTableParameterivSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glColorTableSGI(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment table) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorTableSGI).invokeExact(target, internalformat, width, format, type, table); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorTableParameterfvSGI(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorTableParameterfvSGI).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColorTableParameterivSGI(int target, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glColorTableParameterivSGI).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glCopyColorTableSGI(int target, int internalformat, int x, int y, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glCopyColorTableSGI).invokeExact(target, internalformat, x, y, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableSGI(int target, int format, int type, @NativeType("void *") MemorySegment table) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableSGI).invokeExact(target, format, type, table); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableParameterfvSGI(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableParameterfvSGI).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetColorTableParameterivSGI(int target, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetColorTableParameterivSGI).invokeExact(target, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGIColorTable { + int GL_COLOR_TABLE_SGI = 0x80D0; + int GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; + int GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; + int GL_PROXY_COLOR_TABLE_SGI = 0x80D3; + int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; + int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; + int GL_COLOR_TABLE_SCALE_SGI = 0x80D6; + int GL_COLOR_TABLE_BIAS_SGI = 0x80D7; + int GL_COLOR_TABLE_FORMAT_SGI = 0x80D8; + int GL_COLOR_TABLE_WIDTH_SGI = 0x80D9; + int GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA; + int GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; + int GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; + int GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; + int GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; + int GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; + + void glColorTableSGI(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment table); + void glColorTableParameterfvSGI(int target, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glColorTableParameterivSGI(int target, int pname, @NativeType("const GLint *") MemorySegment params); + void glCopyColorTableSGI(int target, int internalformat, int x, int y, int width); + void glGetColorTableSGI(int target, int format, int type, @NativeType("void *") MemorySegment table); + void glGetColorTableParameterfvSGI(int target, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetColorTableParameterivSGI(int target, int pname, @NativeType("GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java index 7498c940..4405d9bc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java @@ -18,42 +18,22 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_detail_texture} */ -public final class GLSGISDetailTexture { - public static final int GL_DETAIL_TEXTURE_2D_SGIS = 0x8095; - public static final int GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; - public static final int GL_LINEAR_DETAIL_SGIS = 0x8097; - public static final int GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098; - public static final int GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099; - public static final int GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; - public static final int GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B; - public static final int GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_detail_texture) return; - ext.glDetailTexFuncSGIS = load.invoke("glDetailTexFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetDetailTexFuncSGIS = load.invoke("glGetDetailTexFuncSGIS", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glDetailTexFuncSGIS(int target, int n, @NativeType("const GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glDetailTexFuncSGIS).invokeExact(target, n, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetDetailTexFuncSGIS(int target, @NativeType("GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetDetailTexFuncSGIS).invokeExact(target, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISDetailTexture { + int GL_DETAIL_TEXTURE_2D_SGIS = 0x8095; + int GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; + int GL_LINEAR_DETAIL_SGIS = 0x8097; + int GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098; + int GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099; + int GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; + int GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B; + int GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; + void glDetailTexFuncSGIS(int target, int n, @NativeType("const GLfloat *") MemorySegment points); + void glGetDetailTexFuncSGIS(int target, @NativeType("GLfloat *") MemorySegment points); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java index 5e6e0d83..c0b65c09 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java @@ -18,37 +18,17 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_fog_function} */ -public final class GLSGISFogFunction { - public static final int GL_FOG_FUNC_SGIS = 0x812A; - public static final int GL_FOG_FUNC_POINTS_SGIS = 0x812B; - public static final int GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_fog_function) return; - ext.glFogFuncSGIS = load.invoke("glFogFuncSGIS", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetFogFuncSGIS = load.invoke("glGetFogFuncSGIS", ofVoid(ADDRESS)); - } - - public static void glFogFuncSGIS(int n, @NativeType("const GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glFogFuncSGIS).invokeExact(n, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFogFuncSGIS(@NativeType("GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFogFuncSGIS).invokeExact(points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISFogFunction { + int GL_FOG_FUNC_SGIS = 0x812A; + int GL_FOG_FUNC_POINTS_SGIS = 0x812B; + int GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C; + void glFogFuncSGIS(int n, @NativeType("const GLfloat *") MemorySegment points); + void glGetFogFuncSGIS(@NativeType("GLfloat *") MemorySegment points); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java index 404e5a91..5b50e432 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_generate_mipmap} */ -public final class GLSGISGenerateMipmap { - public static final int GL_GENERATE_MIPMAP_SGIS = 0x8191; - public static final int GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192; +public interface GLSGISGenerateMipmap { + int GL_GENERATE_MIPMAP_SGIS = 0x8191; + int GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java index 9da9e512..cae7bb2d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java @@ -18,50 +18,30 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_multisample} */ -public final class GLSGISMultisample { - public static final int GL_MULTISAMPLE_SGIS = 0x809D; - public static final int GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; - public static final int GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; - public static final int GL_SAMPLE_MASK_SGIS = 0x80A0; - public static final int GL_1PASS_SGIS = 0x80A1; - public static final int GL_2PASS_0_SGIS = 0x80A2; - public static final int GL_2PASS_1_SGIS = 0x80A3; - public static final int GL_4PASS_0_SGIS = 0x80A4; - public static final int GL_4PASS_1_SGIS = 0x80A5; - public static final int GL_4PASS_2_SGIS = 0x80A6; - public static final int GL_4PASS_3_SGIS = 0x80A7; - public static final int GL_SAMPLE_BUFFERS_SGIS = 0x80A8; - public static final int GL_SAMPLES_SGIS = 0x80A9; - public static final int GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA; - public static final int GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB; - public static final int GL_SAMPLE_PATTERN_SGIS = 0x80AC; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_multisample) return; - ext.glSampleMaskSGIS = load.invoke("glSampleMaskSGIS", ofVoid(JAVA_FLOAT, JAVA_BYTE)); - ext.glSamplePatternSGIS = load.invoke("glSamplePatternSGIS", ofVoid(JAVA_INT)); - } - - public static void glSampleMaskSGIS(float value, boolean invert) { - final var ext = getExtCapabilities(); - try { - check(ext.glSampleMaskSGIS).invokeExact(value, invert); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSamplePatternSGIS(int pattern) { - final var ext = getExtCapabilities(); - try { - check(ext.glSamplePatternSGIS).invokeExact(pattern); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISMultisample { + int GL_MULTISAMPLE_SGIS = 0x809D; + int GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; + int GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; + int GL_SAMPLE_MASK_SGIS = 0x80A0; + int GL_1PASS_SGIS = 0x80A1; + int GL_2PASS_0_SGIS = 0x80A2; + int GL_2PASS_1_SGIS = 0x80A3; + int GL_4PASS_0_SGIS = 0x80A4; + int GL_4PASS_1_SGIS = 0x80A5; + int GL_4PASS_2_SGIS = 0x80A6; + int GL_4PASS_3_SGIS = 0x80A7; + int GL_SAMPLE_BUFFERS_SGIS = 0x80A8; + int GL_SAMPLES_SGIS = 0x80A9; + int GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA; + int GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB; + int GL_SAMPLE_PATTERN_SGIS = 0x80AC; + void glSampleMaskSGIS(float value, boolean invert); + void glSamplePatternSGIS(int pattern); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java index 563763b8..491f0bb7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java @@ -18,70 +18,22 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_pixel_texture} */ -public final class GLSGISPixelTexture { - public static final int GL_PIXEL_TEXTURE_SGIS = 0x8353; - public static final int GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; - public static final int GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; - public static final int GL_PIXEL_GROUP_COLOR_SGIS = 0x8356; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_pixel_texture) return; - ext.glPixelTexGenParameteriSGIS = load.invoke("glPixelTexGenParameteriSGIS", ofVoid(JAVA_INT, JAVA_INT)); - ext.glPixelTexGenParameterivSGIS = load.invoke("glPixelTexGenParameterivSGIS", ofVoid(JAVA_INT, ADDRESS)); - ext.glPixelTexGenParameterfSGIS = load.invoke("glPixelTexGenParameterfSGIS", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glPixelTexGenParameterfvSGIS = load.invoke("glPixelTexGenParameterfvSGIS", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetPixelTexGenParameterivSGIS = load.invoke("glGetPixelTexGenParameterivSGIS", ofVoid(JAVA_INT, ADDRESS)); - ext.glGetPixelTexGenParameterfvSGIS = load.invoke("glGetPixelTexGenParameterfvSGIS", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glPixelTexGenParameteriSGIS(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTexGenParameteriSGIS).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelTexGenParameterivSGIS(int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTexGenParameterivSGIS).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelTexGenParameterfSGIS(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTexGenParameterfSGIS).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPixelTexGenParameterfvSGIS(int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTexGenParameterfvSGIS).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPixelTexGenParameterivSGIS(int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPixelTexGenParameterivSGIS).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetPixelTexGenParameterfvSGIS(int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetPixelTexGenParameterfvSGIS).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGISPixelTexture { + int GL_PIXEL_TEXTURE_SGIS = 0x8353; + int GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; + int GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; + int GL_PIXEL_GROUP_COLOR_SGIS = 0x8356; + + void glPixelTexGenParameteriSGIS(int pname, int param); + void glPixelTexGenParameterivSGIS(int pname, @NativeType("const GLint *") MemorySegment params); + void glPixelTexGenParameterfSGIS(int pname, float param); + void glPixelTexGenParameterfvSGIS(int pname, @NativeType("const GLfloat *") MemorySegment params); + void glGetPixelTexGenParameterivSGIS(int pname, @NativeType("GLint *") MemorySegment params); + void glGetPixelTexGenParameterfvSGIS(int pname, @NativeType("GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java index 72095425..b0b90dcd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java @@ -18,22 +18,19 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_point_line_texgen} */ -public final class GLSGISPointLineTexgen { - public static final int GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; - public static final int GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; - public static final int GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; - public static final int GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; - public static final int GL_EYE_POINT_SGIS = 0x81F4; - public static final int GL_OBJECT_POINT_SGIS = 0x81F5; - public static final int GL_EYE_LINE_SGIS = 0x81F6; - public static final int GL_OBJECT_LINE_SGIS = 0x81F7; +public interface GLSGISPointLineTexgen { + int GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; + int GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; + int GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; + int GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; + int GL_EYE_POINT_SGIS = 0x81F4; + int GL_OBJECT_POINT_SGIS = 0x81F5; + int GL_EYE_LINE_SGIS = 0x81F6; + int GL_OBJECT_LINE_SGIS = 0x81F7; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java index e1d31315..05412d3a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java @@ -18,38 +18,18 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_point_parameters} */ -public final class GLSGISPointParameters { - public static final int GL_POINT_SIZE_MIN_SGIS = 0x8126; - public static final int GL_POINT_SIZE_MAX_SGIS = 0x8127; - public static final int GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; - public static final int GL_DISTANCE_ATTENUATION_SGIS = 0x8129; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_point_parameters) return; - ext.glPointParameterfSGIS = load.invoke("glPointParameterfSGIS", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glPointParameterfvSGIS = load.invoke("glPointParameterfvSGIS", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glPointParameterfSGIS(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterfSGIS).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glPointParameterfvSGIS(int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glPointParameterfvSGIS).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISPointParameters { + int GL_POINT_SIZE_MIN_SGIS = 0x8126; + int GL_POINT_SIZE_MAX_SGIS = 0x8127; + int GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; + int GL_DISTANCE_ATTENUATION_SGIS = 0x8129; + void glPointParameterfSGIS(int pname, float param); + void glPointParameterfvSGIS(int pname, @NativeType("const GLfloat *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java index bb747805..0fa454df 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java @@ -18,38 +18,18 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_sharpen_texture} */ -public final class GLSGISSharpenTexture { - public static final int GL_LINEAR_SHARPEN_SGIS = 0x80AD; - public static final int GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; - public static final int GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; - public static final int GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_sharpen_texture) return; - ext.glSharpenTexFuncSGIS = load.invoke("glSharpenTexFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetSharpenTexFuncSGIS = load.invoke("glGetSharpenTexFuncSGIS", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glSharpenTexFuncSGIS(int target, int n, @NativeType("const GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glSharpenTexFuncSGIS).invokeExact(target, n, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetSharpenTexFuncSGIS(int target, @NativeType("GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetSharpenTexFuncSGIS).invokeExact(target, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISSharpenTexture { + int GL_LINEAR_SHARPEN_SGIS = 0x80AD; + int GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; + int GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; + int GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; + void glSharpenTexFuncSGIS(int target, int n, @NativeType("const GLfloat *") MemorySegment points); + void glGetSharpenTexFuncSGIS(int target, @NativeType("GLfloat *") MemorySegment points); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java index f235cf5d..933f8a56 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java @@ -18,44 +18,24 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_texture4D} */ -public final class GLSGISTexture4D { - public static final int GL_PACK_SKIP_VOLUMES_SGIS = 0x8130; - public static final int GL_PACK_IMAGE_DEPTH_SGIS = 0x8131; - public static final int GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132; - public static final int GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133; - public static final int GL_TEXTURE_4D_SGIS = 0x8134; - public static final int GL_PROXY_TEXTURE_4D_SGIS = 0x8135; - public static final int GL_TEXTURE_4DSIZE_SGIS = 0x8136; - public static final int GL_TEXTURE_WRAP_Q_SGIS = 0x8137; - public static final int GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; - public static final int GL_TEXTURE_4D_BINDING_SGIS = 0x814F; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_texture4D) return; - ext.glTexImage4DSGIS = load.invoke("glTexImage4DSGIS", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexSubImage4DSGIS = load.invoke("glTexSubImage4DSGIS", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glTexImage4DSGIS(int target, int level, int internalformat, int width, int height, int depth, int size4d, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexImage4DSGIS).invokeExact(target, level, internalformat, width, height, depth, size4d, border, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexSubImage4DSGIS(int target, int level, int xoffset, int yoffset, int zoffset, int woffset, int width, int height, int depth, int size4d, int format, int type, @NativeType("const void *") MemorySegment pixels) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexSubImage4DSGIS).invokeExact(target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISTexture4D { + int GL_PACK_SKIP_VOLUMES_SGIS = 0x8130; + int GL_PACK_IMAGE_DEPTH_SGIS = 0x8131; + int GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132; + int GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133; + int GL_TEXTURE_4D_SGIS = 0x8134; + int GL_PROXY_TEXTURE_4D_SGIS = 0x8135; + int GL_TEXTURE_4DSIZE_SGIS = 0x8136; + int GL_TEXTURE_WRAP_Q_SGIS = 0x8137; + int GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; + int GL_TEXTURE_4D_BINDING_SGIS = 0x814F; + void glTexImage4DSGIS(int target, int level, int internalformat, int width, int height, int depth, int size4d, int border, int format, int type, @NativeType("const void *") MemorySegment pixels); + void glTexSubImage4DSGIS(int target, int level, int xoffset, int yoffset, int zoffset, int woffset, int width, int height, int depth, int size4d, int format, int type, @NativeType("const void *") MemorySegment pixels); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java index cff30b7f..ea6e5660 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_texture_border_clamp} */ -public final class GLSGISTextureBorderClamp { - public static final int GL_CLAMP_TO_BORDER_SGIS = 0x812D; +public interface GLSGISTextureBorderClamp { + int GL_CLAMP_TO_BORDER_SGIS = 0x812D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java index 6e2b103d..49dc3125 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java @@ -18,27 +18,14 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_texture_color_mask} */ -public final class GLSGISTextureColorMask { - public static final int GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_texture_color_mask) return; - ext.glTextureColorMaskSGIS = load.invoke("glTextureColorMaskSGIS", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); - } - - public static void glTextureColorMaskSGIS(boolean red, boolean green, boolean blue, boolean alpha) { - final var ext = getExtCapabilities(); - try { - check(ext.glTextureColorMaskSGIS).invokeExact(red, green, blue, alpha); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISTextureColorMask { + int GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; + void glTextureColorMaskSGIS(boolean red, boolean green, boolean blue, boolean alpha); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java index 824d582a..5d6ed9b0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_texture_edge_clamp} */ -public final class GLSGISTextureEdgeClamp { - public static final int GL_CLAMP_TO_EDGE_SGIS = 0x812F; +public interface GLSGISTextureEdgeClamp { + int GL_CLAMP_TO_EDGE_SGIS = 0x812F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java index c92f06e2..e1172fde 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java @@ -18,36 +18,16 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_texture_filter4} */ -public final class GLSGISTextureFilter4 { - public static final int GL_FILTER4_SGIS = 0x8146; - public static final int GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIS_texture_filter4) return; - ext.glGetTexFilterFuncSGIS = load.invoke("glGetTexFilterFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glTexFilterFuncSGIS = load.invoke("glTexFilterFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glGetTexFilterFuncSGIS(int target, int filter, @NativeType("GLfloat *") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetTexFilterFuncSGIS).invokeExact(target, filter, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexFilterFuncSGIS(int target, int filter, int n, @NativeType("const GLfloat *") MemorySegment weights) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexFilterFuncSGIS).invokeExact(target, filter, n, weights); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGISTextureFilter4 { + int GL_FILTER4_SGIS = 0x8146; + int GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147; + void glGetTexFilterFuncSGIS(int target, int filter, @NativeType("GLfloat *") MemorySegment weights); + void glTexFilterFuncSGIS(int target, int filter, int n, @NativeType("const GLfloat *") MemorySegment weights); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java index 310987e1..5aaa0074 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_texture_lod} */ -public final class GLSGISTextureLod { - public static final int GL_TEXTURE_MIN_LOD_SGIS = 0x813A; - public static final int GL_TEXTURE_MAX_LOD_SGIS = 0x813B; - public static final int GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C; - public static final int GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D; +public interface GLSGISTextureLod { + int GL_TEXTURE_MIN_LOD_SGIS = 0x813A; + int GL_TEXTURE_MAX_LOD_SGIS = 0x813B; + int GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C; + int GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java index e77c06b4..e24bd3c0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java @@ -18,36 +18,33 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIS_texture_select} */ -public final class GLSGISTextureSelect { - public static final int GL_DUAL_ALPHA4_SGIS = 0x8110; - public static final int GL_DUAL_ALPHA8_SGIS = 0x8111; - public static final int GL_DUAL_ALPHA12_SGIS = 0x8112; - public static final int GL_DUAL_ALPHA16_SGIS = 0x8113; - public static final int GL_DUAL_LUMINANCE4_SGIS = 0x8114; - public static final int GL_DUAL_LUMINANCE8_SGIS = 0x8115; - public static final int GL_DUAL_LUMINANCE12_SGIS = 0x8116; - public static final int GL_DUAL_LUMINANCE16_SGIS = 0x8117; - public static final int GL_DUAL_INTENSITY4_SGIS = 0x8118; - public static final int GL_DUAL_INTENSITY8_SGIS = 0x8119; - public static final int GL_DUAL_INTENSITY12_SGIS = 0x811A; - public static final int GL_DUAL_INTENSITY16_SGIS = 0x811B; - public static final int GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; - public static final int GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; - public static final int GL_QUAD_ALPHA4_SGIS = 0x811E; - public static final int GL_QUAD_ALPHA8_SGIS = 0x811F; - public static final int GL_QUAD_LUMINANCE4_SGIS = 0x8120; - public static final int GL_QUAD_LUMINANCE8_SGIS = 0x8121; - public static final int GL_QUAD_INTENSITY4_SGIS = 0x8122; - public static final int GL_QUAD_INTENSITY8_SGIS = 0x8123; - public static final int GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124; - public static final int GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125; +public interface GLSGISTextureSelect { + int GL_DUAL_ALPHA4_SGIS = 0x8110; + int GL_DUAL_ALPHA8_SGIS = 0x8111; + int GL_DUAL_ALPHA12_SGIS = 0x8112; + int GL_DUAL_ALPHA16_SGIS = 0x8113; + int GL_DUAL_LUMINANCE4_SGIS = 0x8114; + int GL_DUAL_LUMINANCE8_SGIS = 0x8115; + int GL_DUAL_LUMINANCE12_SGIS = 0x8116; + int GL_DUAL_LUMINANCE16_SGIS = 0x8117; + int GL_DUAL_INTENSITY4_SGIS = 0x8118; + int GL_DUAL_INTENSITY8_SGIS = 0x8119; + int GL_DUAL_INTENSITY12_SGIS = 0x811A; + int GL_DUAL_INTENSITY16_SGIS = 0x811B; + int GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; + int GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; + int GL_QUAD_ALPHA4_SGIS = 0x811E; + int GL_QUAD_ALPHA8_SGIS = 0x811F; + int GL_QUAD_LUMINANCE4_SGIS = 0x8120; + int GL_QUAD_LUMINANCE8_SGIS = 0x8121; + int GL_QUAD_INTENSITY4_SGIS = 0x8122; + int GL_QUAD_INTENSITY8_SGIS = 0x8123; + int GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124; + int GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java index d57f7017..a014e264 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGI_texture_color_table} */ -public final class GLSGITextureColorTable { - public static final int GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC; - public static final int GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; +public interface GLSGITextureColorTable { + int GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC; + int GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java index 4800da97..23461985 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java @@ -18,71 +18,19 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_async} */ -public final class GLSGIXAsync { - public static final int GL_ASYNC_MARKER_SGIX = 0x8329; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_async) return; - ext.glAsyncMarkerSGIX = load.invoke("glAsyncMarkerSGIX", ofVoid(JAVA_INT)); - ext.glFinishAsyncSGIX = load.invoke("glFinishAsyncSGIX", of(JAVA_INT, ADDRESS)); - ext.glPollAsyncSGIX = load.invoke("glPollAsyncSGIX", of(JAVA_INT, ADDRESS)); - ext.glGenAsyncMarkersSGIX = load.invoke("glGenAsyncMarkersSGIX", of(JAVA_INT, JAVA_INT)); - ext.glDeleteAsyncMarkersSGIX = load.invoke("glDeleteAsyncMarkersSGIX", ofVoid(JAVA_INT, JAVA_INT)); - ext.glIsAsyncMarkerSGIX = load.invoke("glIsAsyncMarkerSGIX", of(JAVA_BYTE, JAVA_INT)); - } - - public static void glAsyncMarkerSGIX(int marker) { - final var ext = getExtCapabilities(); - try { - check(ext.glAsyncMarkerSGIX).invokeExact(marker); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glFinishAsyncSGIX(@NativeType("GLuint *") MemorySegment markerp) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glFinishAsyncSGIX).invokeExact(markerp); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glPollAsyncSGIX(@NativeType("GLuint *") MemorySegment markerp) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glPollAsyncSGIX).invokeExact(markerp); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glGenAsyncMarkersSGIX(int range) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGenAsyncMarkersSGIX).invokeExact(range); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeleteAsyncMarkersSGIX(int marker, int range) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeleteAsyncMarkersSGIX).invokeExact(marker, range); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static boolean glIsAsyncMarkerSGIX(int marker) { - final var ext = getExtCapabilities(); - try { - return (boolean) - check(ext.glIsAsyncMarkerSGIX).invokeExact(marker); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGIXAsync { + int GL_ASYNC_MARKER_SGIX = 0x8329; + + void glAsyncMarkerSGIX(int marker); + int glFinishAsyncSGIX(@NativeType("GLuint *") MemorySegment markerp); + int glPollAsyncSGIX(@NativeType("GLuint *") MemorySegment markerp); + int glGenAsyncMarkersSGIX(int range); + void glDeleteAsyncMarkersSGIX(int marker, int range); + boolean glIsAsyncMarkerSGIX(int marker); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java index 472ac076..7d691beb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_async_histogram} */ -public final class GLSGIXAsyncHistogram { - public static final int GL_ASYNC_HISTOGRAM_SGIX = 0x832C; - public static final int GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; +public interface GLSGIXAsyncHistogram { + int GL_ASYNC_HISTOGRAM_SGIX = 0x832C; + int GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java index 37f06947..ec17fbe6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java @@ -18,20 +18,17 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_async_pixel} */ -public final class GLSGIXAsyncPixel { - public static final int GL_ASYNC_TEX_IMAGE_SGIX = 0x835C; - public static final int GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D; - public static final int GL_ASYNC_READ_PIXELS_SGIX = 0x835E; - public static final int GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; - public static final int GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; - public static final int GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; +public interface GLSGIXAsyncPixel { + int GL_ASYNC_TEX_IMAGE_SGIX = 0x835C; + int GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D; + int GL_ASYNC_READ_PIXELS_SGIX = 0x835E; + int GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; + int GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; + int GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java index 7b68ac9d..9a31c8be 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_blend_alpha_minmax} */ -public final class GLSGIXBlendAlphaMinmax { - public static final int GL_ALPHA_MIN_SGIX = 0x8320; - public static final int GL_ALPHA_MAX_SGIX = 0x8321; +public interface GLSGIXBlendAlphaMinmax { + int GL_ALPHA_MIN_SGIX = 0x8320; + int GL_ALPHA_MAX_SGIX = 0x8321; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java index 1ab23c28..be0c27d7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_calligraphic_fragment} */ -public final class GLSGIXCalligraphicFragment { - public static final int GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; +public interface GLSGIXCalligraphicFragment { + int GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java index 4fa16086..c7916583 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java @@ -18,26 +18,23 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_clipmap} */ -public final class GLSGIXClipmap { - public static final int GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; - public static final int GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; - public static final int GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; - public static final int GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; - public static final int GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; - public static final int GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; - public static final int GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; - public static final int GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177; - public static final int GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; - public static final int GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; - public static final int GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; - public static final int GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; +public interface GLSGIXClipmap { + int GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; + int GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; + int GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; + int GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; + int GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; + int GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; + int GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; + int GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177; + int GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; + int GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; + int GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; + int GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java index 903f7e2d..7246d939 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_convolution_accuracy} */ -public final class GLSGIXConvolutionAccuracy { - public static final int GL_CONVOLUTION_HINT_SGIX = 0x8316; +public interface GLSGIXConvolutionAccuracy { + int GL_CONVOLUTION_HINT_SGIX = 0x8316; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java index 6c28a1ba..aa4a72dc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_depth_texture} */ -public final class GLSGIXDepthTexture { - public static final int GL_DEPTH_COMPONENT16_SGIX = 0x81A5; - public static final int GL_DEPTH_COMPONENT24_SGIX = 0x81A6; - public static final int GL_DEPTH_COMPONENT32_SGIX = 0x81A7; +public interface GLSGIXDepthTexture { + int GL_DEPTH_COMPONENT16_SGIX = 0x81A5; + int GL_DEPTH_COMPONENT24_SGIX = 0x81A6; + int GL_DEPTH_COMPONENT32_SGIX = 0x81A7; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java index 3f1ccd5a..c8c76462 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_flush_raster} */ -public final class GLSGIXFlushRaster { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_flush_raster) return; - ext.glFlushRasterSGIX = load.invoke("glFlushRasterSGIX", ofVoid()); - } - - public static void glFlushRasterSGIX() { - final var ext = getExtCapabilities(); - try { - check(ext.glFlushRasterSGIX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGIXFlushRaster { + void glFlushRasterSGIX(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java index 6080755c..fff8f892 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_fog_offset} */ -public final class GLSGIXFogOffset { - public static final int GL_FOG_OFFSET_SGIX = 0x8198; - public static final int GL_FOG_OFFSET_VALUE_SGIX = 0x8199; +public interface GLSGIXFogOffset { + int GL_FOG_OFFSET_SGIX = 0x8198; + int GL_FOG_OFFSET_VALUE_SGIX = 0x8199; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java index f5056c24..d47d44a2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java @@ -18,182 +18,50 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_fragment_lighting} */ -public final class GLSGIXFragmentLighting { - public static final int GL_FRAGMENT_LIGHTING_SGIX = 0x8400; - public static final int GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; - public static final int GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; - public static final int GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; - public static final int GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; - public static final int GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405; - public static final int GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406; - public static final int GL_LIGHT_ENV_MODE_SGIX = 0x8407; - public static final int GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; - public static final int GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; - public static final int GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; - public static final int GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; - public static final int GL_FRAGMENT_LIGHT0_SGIX = 0x840C; - public static final int GL_FRAGMENT_LIGHT1_SGIX = 0x840D; - public static final int GL_FRAGMENT_LIGHT2_SGIX = 0x840E; - public static final int GL_FRAGMENT_LIGHT3_SGIX = 0x840F; - public static final int GL_FRAGMENT_LIGHT4_SGIX = 0x8410; - public static final int GL_FRAGMENT_LIGHT5_SGIX = 0x8411; - public static final int GL_FRAGMENT_LIGHT6_SGIX = 0x8412; - public static final int GL_FRAGMENT_LIGHT7_SGIX = 0x8413; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_fragment_lighting) return; - ext.glFragmentColorMaterialSGIX = load.invoke("glFragmentColorMaterialSGIX", ofVoid(JAVA_INT, JAVA_INT)); - ext.glFragmentLightfSGIX = load.invoke("glFragmentLightfSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glFragmentLightfvSGIX = load.invoke("glFragmentLightfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFragmentLightiSGIX = load.invoke("glFragmentLightiSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFragmentLightivSGIX = load.invoke("glFragmentLightivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFragmentLightModelfSGIX = load.invoke("glFragmentLightModelfSGIX", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glFragmentLightModelfvSGIX = load.invoke("glFragmentLightModelfvSGIX", ofVoid(JAVA_INT, ADDRESS)); - ext.glFragmentLightModeliSGIX = load.invoke("glFragmentLightModeliSGIX", ofVoid(JAVA_INT, JAVA_INT)); - ext.glFragmentLightModelivSGIX = load.invoke("glFragmentLightModelivSGIX", ofVoid(JAVA_INT, ADDRESS)); - ext.glFragmentMaterialfSGIX = load.invoke("glFragmentMaterialfSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glFragmentMaterialfvSGIX = load.invoke("glFragmentMaterialfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glFragmentMaterialiSGIX = load.invoke("glFragmentMaterialiSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glFragmentMaterialivSGIX = load.invoke("glFragmentMaterialivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFragmentLightfvSGIX = load.invoke("glGetFragmentLightfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFragmentLightivSGIX = load.invoke("glGetFragmentLightivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFragmentMaterialfvSGIX = load.invoke("glGetFragmentMaterialfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetFragmentMaterialivSGIX = load.invoke("glGetFragmentMaterialivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glLightEnviSGIX = load.invoke("glLightEnviSGIX", ofVoid(JAVA_INT, JAVA_INT)); - } - - public static void glFragmentColorMaterialSGIX(int face, int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentColorMaterialSGIX).invokeExact(face, mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightfSGIX(int light, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightfSGIX).invokeExact(light, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightfvSGIX(int light, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightfvSGIX).invokeExact(light, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightiSGIX(int light, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightiSGIX).invokeExact(light, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightivSGIX(int light, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightivSGIX).invokeExact(light, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightModelfSGIX(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightModelfSGIX).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightModelfvSGIX(int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightModelfvSGIX).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightModeliSGIX(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightModeliSGIX).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentLightModelivSGIX(int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentLightModelivSGIX).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentMaterialfSGIX(int face, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentMaterialfSGIX).invokeExact(face, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentMaterialfvSGIX(int face, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentMaterialfvSGIX).invokeExact(face, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentMaterialiSGIX(int face, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentMaterialiSGIX).invokeExact(face, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glFragmentMaterialivSGIX(int face, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glFragmentMaterialivSGIX).invokeExact(face, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFragmentLightfvSGIX(int light, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFragmentLightfvSGIX).invokeExact(light, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFragmentLightivSGIX(int light, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFragmentLightivSGIX).invokeExact(light, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFragmentMaterialfvSGIX(int face, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFragmentMaterialfvSGIX).invokeExact(face, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetFragmentMaterialivSGIX(int face, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetFragmentMaterialivSGIX).invokeExact(face, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLightEnviSGIX(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glLightEnviSGIX).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGIXFragmentLighting { + int GL_FRAGMENT_LIGHTING_SGIX = 0x8400; + int GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; + int GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; + int GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; + int GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; + int GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405; + int GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406; + int GL_LIGHT_ENV_MODE_SGIX = 0x8407; + int GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; + int GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; + int GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; + int GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; + int GL_FRAGMENT_LIGHT0_SGIX = 0x840C; + int GL_FRAGMENT_LIGHT1_SGIX = 0x840D; + int GL_FRAGMENT_LIGHT2_SGIX = 0x840E; + int GL_FRAGMENT_LIGHT3_SGIX = 0x840F; + int GL_FRAGMENT_LIGHT4_SGIX = 0x8410; + int GL_FRAGMENT_LIGHT5_SGIX = 0x8411; + int GL_FRAGMENT_LIGHT6_SGIX = 0x8412; + int GL_FRAGMENT_LIGHT7_SGIX = 0x8413; + + void glFragmentColorMaterialSGIX(int face, int mode); + void glFragmentLightfSGIX(int light, int pname, float param); + void glFragmentLightfvSGIX(int light, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glFragmentLightiSGIX(int light, int pname, int param); + void glFragmentLightivSGIX(int light, int pname, @NativeType("const GLint *") MemorySegment params); + void glFragmentLightModelfSGIX(int pname, float param); + void glFragmentLightModelfvSGIX(int pname, @NativeType("const GLfloat *") MemorySegment params); + void glFragmentLightModeliSGIX(int pname, int param); + void glFragmentLightModelivSGIX(int pname, @NativeType("const GLint *") MemorySegment params); + void glFragmentMaterialfSGIX(int face, int pname, float param); + void glFragmentMaterialfvSGIX(int face, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glFragmentMaterialiSGIX(int face, int pname, int param); + void glFragmentMaterialivSGIX(int face, int pname, @NativeType("const GLint *") MemorySegment params); + void glGetFragmentLightfvSGIX(int light, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetFragmentLightivSGIX(int light, int pname, @NativeType("GLint *") MemorySegment params); + void glGetFragmentMaterialfvSGIX(int face, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetFragmentMaterialivSGIX(int face, int pname, @NativeType("GLint *") MemorySegment params); + void glLightEnviSGIX(int pname, int param); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java index 7a426efe..40067cc3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java @@ -18,29 +18,16 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_framezoom} */ -public final class GLSGIXFramezoom { - public static final int GL_FRAMEZOOM_SGIX = 0x818B; - public static final int GL_FRAMEZOOM_FACTOR_SGIX = 0x818C; - public static final int GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_framezoom) return; - ext.glFrameZoomSGIX = load.invoke("glFrameZoomSGIX", ofVoid(JAVA_INT)); - } - - public static void glFrameZoomSGIX(int factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glFrameZoomSGIX).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGIXFramezoom { + int GL_FRAMEZOOM_SGIX = 0x818B; + int GL_FRAMEZOOM_FACTOR_SGIX = 0x818C; + int GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; + void glFrameZoomSGIX(int factor); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java index 60f018e1..348f1526 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_igloo_interface} */ -public final class GLSGIXIglooInterface { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_igloo_interface) return; - ext.glIglooInterfaceSGIX = load.invoke("glIglooInterfaceSGIX", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glIglooInterfaceSGIX(int pname, @NativeType("const void *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glIglooInterfaceSGIX).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGIXIglooInterface { + void glIglooInterfaceSGIX(int pname, @NativeType("const void *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java index a9915749..b9858284 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java @@ -18,70 +18,20 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_instruments} */ -public final class GLSGIXInstruments { - public static final int GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; - public static final int GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_instruments) return; - ext.glGetInstrumentsSGIX = load.invoke("glGetInstrumentsSGIX", of(JAVA_INT)); - ext.glInstrumentsBufferSGIX = load.invoke("glInstrumentsBufferSGIX", ofVoid(JAVA_INT, ADDRESS)); - ext.glPollInstrumentsSGIX = load.invoke("glPollInstrumentsSGIX", of(JAVA_INT, ADDRESS)); - ext.glReadInstrumentsSGIX = load.invoke("glReadInstrumentsSGIX", ofVoid(JAVA_INT)); - ext.glStartInstrumentsSGIX = load.invoke("glStartInstrumentsSGIX", ofVoid()); - ext.glStopInstrumentsSGIX = load.invoke("glStopInstrumentsSGIX", ofVoid(JAVA_INT)); - } - - public static int glGetInstrumentsSGIX() { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glGetInstrumentsSGIX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glInstrumentsBufferSGIX(int size, @NativeType("GLint *") MemorySegment buffer) { - final var ext = getExtCapabilities(); - try { - check(ext.glInstrumentsBufferSGIX).invokeExact(size, buffer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static int glPollInstrumentsSGIX(@NativeType("GLint *") MemorySegment marker_p) { - final var ext = getExtCapabilities(); - try { - return (int) - check(ext.glPollInstrumentsSGIX).invokeExact(marker_p); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReadInstrumentsSGIX(int marker) { - final var ext = getExtCapabilities(); - try { - check(ext.glReadInstrumentsSGIX).invokeExact(marker); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStartInstrumentsSGIX() { - final var ext = getExtCapabilities(); - try { - check(ext.glStartInstrumentsSGIX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glStopInstrumentsSGIX(int marker) { - final var ext = getExtCapabilities(); - try { - check(ext.glStopInstrumentsSGIX).invokeExact(marker); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGIXInstruments { + int GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; + int GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; + + int glGetInstrumentsSGIX(); + void glInstrumentsBufferSGIX(int size, @NativeType("GLint *") MemorySegment buffer); + int glPollInstrumentsSGIX(@NativeType("GLint *") MemorySegment marker_p); + void glReadInstrumentsSGIX(int marker); + void glStartInstrumentsSGIX(); + void glStopInstrumentsSGIX(int marker); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java index 2e2c7ceb..beced66a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_interlace} */ -public final class GLSGIXInterlace { - public static final int GL_INTERLACE_SGIX = 0x8094; +public interface GLSGIXInterlace { + int GL_INTERLACE_SGIX = 0x8094; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java index e8a83df1..79efc896 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_ir_instrument1} */ -public final class GLSGIXIrInstrument1 { - public static final int GL_IR_INSTRUMENT1_SGIX = 0x817F; +public interface GLSGIXIrInstrument1 { + int GL_IR_INSTRUMENT1_SGIX = 0x817F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java index 94a8d12d..b6c403de 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java @@ -18,67 +18,19 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_list_priority} */ -public final class GLSGIXListPriority { - public static final int GL_LIST_PRIORITY_SGIX = 0x8182; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_list_priority) return; - ext.glGetListParameterfvSGIX = load.invoke("glGetListParameterfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glGetListParameterivSGIX = load.invoke("glGetListParameterivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glListParameterfSGIX = load.invoke("glListParameterfSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); - ext.glListParameterfvSGIX = load.invoke("glListParameterfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - ext.glListParameteriSGIX = load.invoke("glListParameteriSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); - ext.glListParameterivSGIX = load.invoke("glListParameterivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glGetListParameterfvSGIX(int list, int pname, @NativeType("GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetListParameterfvSGIX).invokeExact(list, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGetListParameterivSGIX(int list, int pname, @NativeType("GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glGetListParameterivSGIX).invokeExact(list, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glListParameterfSGIX(int list, int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glListParameterfSGIX).invokeExact(list, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glListParameterfvSGIX(int list, int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glListParameterfvSGIX).invokeExact(list, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glListParameteriSGIX(int list, int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glListParameteriSGIX).invokeExact(list, pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glListParameterivSGIX(int list, int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glListParameterivSGIX).invokeExact(list, pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGIXListPriority { + int GL_LIST_PRIORITY_SGIX = 0x8182; + + void glGetListParameterfvSGIX(int list, int pname, @NativeType("GLfloat *") MemorySegment params); + void glGetListParameterivSGIX(int list, int pname, @NativeType("GLint *") MemorySegment params); + void glListParameterfSGIX(int list, int pname, float param); + void glListParameterfvSGIX(int list, int pname, @NativeType("const GLfloat *") MemorySegment params); + void glListParameteriSGIX(int list, int pname, int param); + void glListParameterivSGIX(int list, int pname, @NativeType("const GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java index 3e91ca30..7fe43a94 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_pixel_texture} */ -public final class GLSGIXPixelTexture { - public static final int GL_PIXEL_TEX_GEN_SGIX = 0x8139; - public static final int GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_pixel_texture) return; - ext.glPixelTexGenSGIX = load.invoke("glPixelTexGenSGIX", ofVoid(JAVA_INT)); - } - - public static void glPixelTexGenSGIX(int mode) { - final var ext = getExtCapabilities(); - try { - check(ext.glPixelTexGenSGIX).invokeExact(mode); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGIXPixelTexture { + int GL_PIXEL_TEX_GEN_SGIX = 0x8139; + int GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B; + void glPixelTexGenSGIX(int mode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java index e49f8eb3..b537df80 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java @@ -18,22 +18,19 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_pixel_tiles} */ -public final class GLSGIXPixelTiles { - public static final int GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; - public static final int GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; - public static final int GL_PIXEL_TILE_WIDTH_SGIX = 0x8140; - public static final int GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141; - public static final int GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; - public static final int GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; - public static final int GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; - public static final int GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; +public interface GLSGIXPixelTiles { + int GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; + int GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; + int GL_PIXEL_TILE_WIDTH_SGIX = 0x8140; + int GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141; + int GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; + int GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; + int GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; + int GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java index 04486bd7..96dbc52d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java @@ -18,56 +18,22 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_polynomial_ffd} */ -public final class GLSGIXPolynomialFFD { - public static final int GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; - public static final int GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; - public static final int GL_GEOMETRY_DEFORMATION_SGIX = 0x8194; - public static final int GL_TEXTURE_DEFORMATION_SGIX = 0x8195; - public static final int GL_DEFORMATIONS_MASK_SGIX = 0x8196; - public static final int GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_polynomial_ffd) return; - ext.glDeformationMap3dSGIX = load.invoke("glDeformationMap3dSGIX", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDeformationMap3fSGIX = load.invoke("glDeformationMap3fSGIX", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, ADDRESS)); - ext.glDeformSGIX = load.invoke("glDeformSGIX", ofVoid(JAVA_INT)); - ext.glLoadIdentityDeformationMapSGIX = load.invoke("glLoadIdentityDeformationMapSGIX", ofVoid(JAVA_INT)); - } - - public static void glDeformationMap3dSGIX(int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double w1, double w2, int wstride, int worder, @NativeType("const GLdouble *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeformationMap3dSGIX).invokeExact(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeformationMap3fSGIX(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float w1, float w2, int wstride, int worder, @NativeType("const GLfloat *") MemorySegment points) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeformationMap3fSGIX).invokeExact(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glDeformSGIX(int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glDeformSGIX).invokeExact(mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glLoadIdentityDeformationMapSGIX(int mask) { - final var ext = getExtCapabilities(); - try { - check(ext.glLoadIdentityDeformationMapSGIX).invokeExact(mask); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGIXPolynomialFFD { + int GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; + int GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; + int GL_GEOMETRY_DEFORMATION_SGIX = 0x8194; + int GL_TEXTURE_DEFORMATION_SGIX = 0x8195; + int GL_DEFORMATIONS_MASK_SGIX = 0x8196; + int GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197; + + void glDeformationMap3dSGIX(int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double w1, double w2, int wstride, int worder, @NativeType("const GLdouble *") MemorySegment points); + void glDeformationMap3fSGIX(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float w1, float w2, int wstride, int worder, @NativeType("const GLfloat *") MemorySegment points); + void glDeformSGIX(int mask); + void glLoadIdentityDeformationMapSGIX(int mask); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java index 7ee332d8..0ea67294 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_reference_plane} */ -public final class GLSGIXReferencePlane { - public static final int GL_REFERENCE_PLANE_SGIX = 0x817D; - public static final int GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_reference_plane) return; - ext.glReferencePlaneSGIX = load.invoke("glReferencePlaneSGIX", ofVoid(ADDRESS)); - } - - public static void glReferencePlaneSGIX(@NativeType("const GLdouble *") MemorySegment equation) { - final var ext = getExtCapabilities(); - try { - check(ext.glReferencePlaneSGIX).invokeExact(equation); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGIXReferencePlane { + int GL_REFERENCE_PLANE_SGIX = 0x817D; + int GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E; + void glReferencePlaneSGIX(@NativeType("const GLdouble *") MemorySegment equation); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java index 8c18028f..4c2b390d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_resample} */ -public final class GLSGIXResample { - public static final int GL_PACK_RESAMPLE_SGIX = 0x842E; - public static final int GL_UNPACK_RESAMPLE_SGIX = 0x842F; - public static final int GL_RESAMPLE_REPLICATE_SGIX = 0x8433; - public static final int GL_RESAMPLE_ZERO_FILL_SGIX = 0x8434; - public static final int GL_RESAMPLE_DECIMATE_SGIX = 0x8430; +public interface GLSGIXResample { + int GL_PACK_RESAMPLE_SGIX = 0x842E; + int GL_UNPACK_RESAMPLE_SGIX = 0x842F; + int GL_RESAMPLE_REPLICATE_SGIX = 0x8433; + int GL_RESAMPLE_ZERO_FILL_SGIX = 0x8434; + int GL_RESAMPLE_DECIMATE_SGIX = 0x8430; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java index a3ea2b9b..9323dc6d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_scalebias_hint} */ -public final class GLSGIXScalebiasHint { - public static final int GL_SCALEBIAS_HINT_SGIX = 0x8322; +public interface GLSGIXScalebiasHint { + int GL_SCALEBIAS_HINT_SGIX = 0x8322; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java index 1c3ac066..8ee529d3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_shadow} */ -public final class GLSGIXShadow { - public static final int GL_TEXTURE_COMPARE_SGIX = 0x819A; - public static final int GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; - public static final int GL_TEXTURE_LEQUAL_R_SGIX = 0x819C; - public static final int GL_TEXTURE_GEQUAL_R_SGIX = 0x819D; +public interface GLSGIXShadow { + int GL_TEXTURE_COMPARE_SGIX = 0x819A; + int GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; + int GL_TEXTURE_LEQUAL_R_SGIX = 0x819C; + int GL_TEXTURE_GEQUAL_R_SGIX = 0x819D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java index 7c567206..cfc5c906 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_shadow_ambient} */ -public final class GLSGIXShadowAmbient { - public static final int GL_SHADOW_AMBIENT_SGIX = 0x80BF; +public interface GLSGIXShadowAmbient { + int GL_SHADOW_AMBIENT_SGIX = 0x80BF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java index 21e8553b..a347ef19 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java @@ -18,57 +18,23 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_sprite} */ -public final class GLSGIXSprite { - public static final int GL_SPRITE_SGIX = 0x8148; - public static final int GL_SPRITE_MODE_SGIX = 0x8149; - public static final int GL_SPRITE_AXIS_SGIX = 0x814A; - public static final int GL_SPRITE_TRANSLATION_SGIX = 0x814B; - public static final int GL_SPRITE_AXIAL_SGIX = 0x814C; - public static final int GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; - public static final int GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_sprite) return; - ext.glSpriteParameterfSGIX = load.invoke("glSpriteParameterfSGIX", ofVoid(JAVA_INT, JAVA_FLOAT)); - ext.glSpriteParameterfvSGIX = load.invoke("glSpriteParameterfvSGIX", ofVoid(JAVA_INT, ADDRESS)); - ext.glSpriteParameteriSGIX = load.invoke("glSpriteParameteriSGIX", ofVoid(JAVA_INT, JAVA_INT)); - ext.glSpriteParameterivSGIX = load.invoke("glSpriteParameterivSGIX", ofVoid(JAVA_INT, ADDRESS)); - } - - public static void glSpriteParameterfSGIX(int pname, float param) { - final var ext = getExtCapabilities(); - try { - check(ext.glSpriteParameterfSGIX).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSpriteParameterfvSGIX(int pname, @NativeType("const GLfloat *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glSpriteParameterfvSGIX).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSpriteParameteriSGIX(int pname, int param) { - final var ext = getExtCapabilities(); - try { - check(ext.glSpriteParameteriSGIX).invokeExact(pname, param); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glSpriteParameterivSGIX(int pname, @NativeType("const GLint *") MemorySegment params) { - final var ext = getExtCapabilities(); - try { - check(ext.glSpriteParameterivSGIX).invokeExact(pname, params); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSGIXSprite { + int GL_SPRITE_SGIX = 0x8148; + int GL_SPRITE_MODE_SGIX = 0x8149; + int GL_SPRITE_AXIS_SGIX = 0x814A; + int GL_SPRITE_TRANSLATION_SGIX = 0x814B; + int GL_SPRITE_AXIAL_SGIX = 0x814C; + int GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; + int GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E; + + void glSpriteParameterfSGIX(int pname, float param); + void glSpriteParameterfvSGIX(int pname, @NativeType("const GLfloat *") MemorySegment params); + void glSpriteParameteriSGIX(int pname, int param); + void glSpriteParameterivSGIX(int pname, @NativeType("const GLint *") MemorySegment params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java index 608b0f6e..0ad62017 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java @@ -18,19 +18,16 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_subsample} */ -public final class GLSGIXSubsample { - public static final int GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; - public static final int GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; - public static final int GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; - public static final int GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; - public static final int GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; +public interface GLSGIXSubsample { + int GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; + int GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; + int GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; + int GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; + int GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java index 2ee333a3..abfcf1a1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java @@ -18,26 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_tag_sample_buffer} */ -public final class GLSGIXTagSampleBuffer { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SGIX_tag_sample_buffer) return; - ext.glTagSampleBufferSGIX = load.invoke("glTagSampleBufferSGIX", ofVoid()); - } - - public static void glTagSampleBufferSGIX() { - final var ext = getExtCapabilities(); - try { - check(ext.glTagSampleBufferSGIX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSGIXTagSampleBuffer { + void glTagSampleBufferSGIX(); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java index caf3ba8a..74755292 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_texture_add_env} */ -public final class GLSGIXTextureAddEnv { - public static final int GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE; +public interface GLSGIXTextureAddEnv { + int GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java index eb6b07af..7e8c093c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_texture_coordinate_clamp} */ -public final class GLSGIXTextureCoordinateClamp { - public static final int GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; - public static final int GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; - public static final int GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; +public interface GLSGIXTextureCoordinateClamp { + int GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; + int GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; + int GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java index db96e5d2..7dc10298 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java @@ -18,17 +18,14 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_texture_lod_bias} */ -public final class GLSGIXTextureLodBias { - public static final int GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E; - public static final int GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F; - public static final int GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190; +public interface GLSGIXTextureLodBias { + int GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E; + int GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F; + int GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java index fd606896..6231a37e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_texture_multi_buffer} */ -public final class GLSGIXTextureMultiBuffer { - public static final int GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; +public interface GLSGIXTextureMultiBuffer { + int GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java index ebd00787..0169afd8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java @@ -18,18 +18,15 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_texture_scale_bias} */ -public final class GLSGIXTextureScaleBias { - public static final int GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; - public static final int GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; - public static final int GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; - public static final int GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; +public interface GLSGIXTextureScaleBias { + int GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; + int GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; + int GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; + int GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java index 9db4a81d..fa53203b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_vertex_preclip} */ -public final class GLSGIXVertexPreclip { - public static final int GL_VERTEX_PRECLIP_SGIX = 0x83EE; - public static final int GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF; +public interface GLSGIXVertexPreclip { + int GL_VERTEX_PRECLIP_SGIX = 0x83EE; + int GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java index 5bf0fca2..44ac2db9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_ycrcb} */ -public final class GLSGIXYcrcb { - public static final int GL_YCRCB_422_SGIX = 0x81BB; - public static final int GL_YCRCB_444_SGIX = 0x81BC; +public interface GLSGIXYcrcb { + int GL_YCRCB_422_SGIX = 0x81BB; + int GL_YCRCB_444_SGIX = 0x81BC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java index 4fb14d7a..43bd5163 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java @@ -18,16 +18,13 @@ package overrungl.opengl.ext.sgi; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SGIX_ycrcba} */ -public final class GLSGIXYcrcba { - public static final int GL_YCRCB_SGIX = 0x8318; - public static final int GL_YCRCBA_SGIX = 0x8319; +public interface GLSGIXYcrcba { + int GL_YCRCB_SGIX = 0x8318; + int GL_YCRCBA_SGIX = 0x8319; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java index 91fe640c..2085e3d1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sun; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SUN_convolution_border_modes} */ -public final class GLSUNConvolutionBorderModes { - public static final int GL_WRAP_BORDER_SUN = 0x81D4; +public interface GLSUNConvolutionBorderModes { + int GL_WRAP_BORDER_SUN = 0x81D4; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java index a77e8314..5e3c716a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java @@ -18,84 +18,22 @@ package overrungl.opengl.ext.sun; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SUN_global_alpha} */ -public final class GLSUNGlobalAlpha { - public static final int GL_GLOBAL_ALPHA_SUN = 0x81D9; - public static final int GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SUN_global_alpha) return; - ext.glGlobalAlphaFactorbSUN = load.invoke("glGlobalAlphaFactorbSUN", ofVoid(JAVA_BYTE)); - ext.glGlobalAlphaFactorsSUN = load.invoke("glGlobalAlphaFactorsSUN", ofVoid(JAVA_SHORT)); - ext.glGlobalAlphaFactoriSUN = load.invoke("glGlobalAlphaFactoriSUN", ofVoid(JAVA_INT)); - ext.glGlobalAlphaFactorfSUN = load.invoke("glGlobalAlphaFactorfSUN", ofVoid(JAVA_FLOAT)); - ext.glGlobalAlphaFactordSUN = load.invoke("glGlobalAlphaFactordSUN", ofVoid(JAVA_DOUBLE)); - ext.glGlobalAlphaFactorubSUN = load.invoke("glGlobalAlphaFactorubSUN", ofVoid(JAVA_BYTE)); - ext.glGlobalAlphaFactorusSUN = load.invoke("glGlobalAlphaFactorusSUN", ofVoid(JAVA_SHORT)); - ext.glGlobalAlphaFactoruiSUN = load.invoke("glGlobalAlphaFactoruiSUN", ofVoid(JAVA_INT)); - } - - public static void glGlobalAlphaFactorbSUN(byte factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactorbSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGlobalAlphaFactorsSUN(short factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactorsSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGlobalAlphaFactoriSUN(int factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactoriSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGlobalAlphaFactorfSUN(float factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactorfSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGlobalAlphaFactordSUN(double factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactordSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGlobalAlphaFactorubSUN(byte factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactorubSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGlobalAlphaFactorusSUN(short factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactorusSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glGlobalAlphaFactoruiSUN(int factor) { - final var ext = getExtCapabilities(); - try { - check(ext.glGlobalAlphaFactoruiSUN).invokeExact(factor); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSUNGlobalAlpha { + int GL_GLOBAL_ALPHA_SUN = 0x81D9; + int GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; + + void glGlobalAlphaFactorbSUN(byte factor); + void glGlobalAlphaFactorsSUN(short factor); + void glGlobalAlphaFactoriSUN(int factor); + void glGlobalAlphaFactorfSUN(float factor); + void glGlobalAlphaFactordSUN(double factor); + void glGlobalAlphaFactorubSUN(byte factor); + void glGlobalAlphaFactorusSUN(short factor); + void glGlobalAlphaFactoruiSUN(int factor); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java index 72ac6d17..d5bb893d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.sun; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SUN_mesh_array} */ -public final class GLSUNMeshArray { - public static final int GL_QUAD_MESH_SUN = 0x8614; - public static final int GL_TRIANGLE_MESH_SUN = 0x8615; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SUN_mesh_array) return; - ext.glDrawMeshArraysSUN = load.invoke("glDrawMeshArraysSUN", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); - } - - public static void glDrawMeshArraysSUN(int mode, int first, int count, int width) { - final var ext = getExtCapabilities(); - try { - check(ext.glDrawMeshArraysSUN).invokeExact(mode, first, count, width); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSUNMeshArray { + int GL_QUAD_MESH_SUN = 0x8614; + int GL_TRIANGLE_MESH_SUN = 0x8615; + void glDrawMeshArraysSUN(int mode, int first, int count, int width); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java index 9e4b7539..d7e7a854 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java @@ -18,15 +18,12 @@ package overrungl.opengl.ext.sun; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SUN_slice_accum} */ -public final class GLSUNSliceAccum { - public static final int GL_SLICE_ACCUM_SUN = 0x85CC; +public interface GLSUNSliceAccum { + int GL_SLICE_ACCUM_SUN = 0x85CC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java index b12bcd9c..57336762 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java @@ -18,91 +18,36 @@ package overrungl.opengl.ext.sun; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SUN_triangle_list} */ -public final class GLSUNTriangleList { - public static final int GL_RESTART_SUN = 0x0001; - public static final int GL_REPLACE_MIDDLE_SUN = 0x0002; - public static final int GL_REPLACE_OLDEST_SUN = 0x0003; - public static final int GL_TRIANGLE_LIST_SUN = 0x81D7; - public static final int GL_REPLACEMENT_CODE_SUN = 0x81D8; - public static final int GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; - public static final int GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; - public static final int GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; - public static final int GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; - public static final int GL_R1UI_V3F_SUN = 0x85C4; - public static final int GL_R1UI_C4UB_V3F_SUN = 0x85C5; - public static final int GL_R1UI_C3F_V3F_SUN = 0x85C6; - public static final int GL_R1UI_N3F_V3F_SUN = 0x85C7; - public static final int GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8; - public static final int GL_R1UI_T2F_V3F_SUN = 0x85C9; - public static final int GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA; - public static final int GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SUN_triangle_list) return; - ext.glReplacementCodeuiSUN = load.invoke("glReplacementCodeuiSUN", ofVoid(JAVA_INT)); - ext.glReplacementCodeusSUN = load.invoke("glReplacementCodeusSUN", ofVoid(JAVA_SHORT)); - ext.glReplacementCodeubSUN = load.invoke("glReplacementCodeubSUN", ofVoid(JAVA_BYTE)); - ext.glReplacementCodeuivSUN = load.invoke("glReplacementCodeuivSUN", ofVoid(ADDRESS)); - ext.glReplacementCodeusvSUN = load.invoke("glReplacementCodeusvSUN", ofVoid(ADDRESS)); - ext.glReplacementCodeubvSUN = load.invoke("glReplacementCodeubvSUN", ofVoid(ADDRESS)); - ext.glReplacementCodePointerSUN = load.invoke("glReplacementCodePointerSUN", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); - } - - public static void glReplacementCodeuiSUN(int code) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiSUN).invokeExact(code); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeusSUN(short code) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeusSUN).invokeExact(code); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeubSUN(byte code) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeubSUN).invokeExact(code); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuivSUN(@NativeType("const GLuint *") MemorySegment code) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuivSUN).invokeExact(code); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeusvSUN(@NativeType("const GLushort *") MemorySegment code) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeusvSUN).invokeExact(code); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeubvSUN(@NativeType("const GLubyte *") MemorySegment code) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeubvSUN).invokeExact(code); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodePointerSUN(int type, int stride, @NativeType("const void **") MemorySegment pointer) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodePointerSUN).invokeExact(type, stride, pointer); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSUNTriangleList { + int GL_RESTART_SUN = 0x0001; + int GL_REPLACE_MIDDLE_SUN = 0x0002; + int GL_REPLACE_OLDEST_SUN = 0x0003; + int GL_TRIANGLE_LIST_SUN = 0x81D7; + int GL_REPLACEMENT_CODE_SUN = 0x81D8; + int GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; + int GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; + int GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; + int GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; + int GL_R1UI_V3F_SUN = 0x85C4; + int GL_R1UI_C4UB_V3F_SUN = 0x85C5; + int GL_R1UI_C3F_V3F_SUN = 0x85C6; + int GL_R1UI_N3F_V3F_SUN = 0x85C7; + int GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8; + int GL_R1UI_T2F_V3F_SUN = 0x85C9; + int GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA; + int GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; + + void glReplacementCodeuiSUN(int code); + void glReplacementCodeusSUN(short code); + void glReplacementCodeubSUN(byte code); + void glReplacementCodeuivSUN(@NativeType("const GLuint *") MemorySegment code); + void glReplacementCodeusvSUN(@NativeType("const GLushort *") MemorySegment code); + void glReplacementCodeubvSUN(@NativeType("const GLubyte *") MemorySegment code); + void glReplacementCodePointerSUN(int type, int stride, @NativeType("const void **") MemorySegment pointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java index 2522774b..d5a17efc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java @@ -18,338 +18,52 @@ package overrungl.opengl.ext.sun; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SUN_vertex} */ -public final class GLSUNVertex { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SUN_vertex) return; - ext.glColor4ubVertex2fSUN = load.invoke("glColor4ubVertex2fSUN", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT)); - ext.glColor4ubVertex2fvSUN = load.invoke("glColor4ubVertex2fvSUN", ofVoid(ADDRESS, ADDRESS)); - ext.glColor4ubVertex3fSUN = load.invoke("glColor4ubVertex3fSUN", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glColor4ubVertex3fvSUN = load.invoke("glColor4ubVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); - ext.glColor3fVertex3fSUN = load.invoke("glColor3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glColor3fVertex3fvSUN = load.invoke("glColor3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); - ext.glNormal3fVertex3fSUN = load.invoke("glNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glNormal3fVertex3fvSUN = load.invoke("glNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); - ext.glColor4fNormal3fVertex3fSUN = load.invoke("glColor4fNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glColor4fNormal3fVertex3fvSUN = load.invoke("glColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glTexCoord2fVertex3fSUN = load.invoke("glTexCoord2fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTexCoord2fVertex3fvSUN = load.invoke("glTexCoord2fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); - ext.glTexCoord4fVertex4fSUN = load.invoke("glTexCoord4fVertex4fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTexCoord4fVertex4fvSUN = load.invoke("glTexCoord4fVertex4fvSUN", ofVoid(ADDRESS, ADDRESS)); - ext.glTexCoord2fColor4ubVertex3fSUN = load.invoke("glTexCoord2fColor4ubVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTexCoord2fColor4ubVertex3fvSUN = load.invoke("glTexCoord2fColor4ubVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glTexCoord2fColor3fVertex3fSUN = load.invoke("glTexCoord2fColor3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTexCoord2fColor3fVertex3fvSUN = load.invoke("glTexCoord2fColor3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glTexCoord2fNormal3fVertex3fSUN = load.invoke("glTexCoord2fNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTexCoord2fNormal3fVertex3fvSUN = load.invoke("glTexCoord2fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glTexCoord2fColor4fNormal3fVertex3fSUN = load.invoke("glTexCoord2fColor4fNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTexCoord2fColor4fNormal3fVertex3fvSUN = load.invoke("glTexCoord2fColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glTexCoord4fColor4fNormal3fVertex4fSUN = load.invoke("glTexCoord4fColor4fNormal3fVertex4fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glTexCoord4fColor4fNormal3fVertex4fvSUN = load.invoke("glTexCoord4fColor4fNormal3fVertex4fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glReplacementCodeuiVertex3fSUN = load.invoke("glReplacementCodeuiVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiVertex3fvSUN = load.invoke("glReplacementCodeuiVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); - ext.glReplacementCodeuiColor4ubVertex3fSUN = load.invoke("glReplacementCodeuiColor4ubVertex3fSUN", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiColor4ubVertex3fvSUN = load.invoke("glReplacementCodeuiColor4ubVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glReplacementCodeuiColor3fVertex3fSUN = load.invoke("glReplacementCodeuiColor3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiColor3fVertex3fvSUN = load.invoke("glReplacementCodeuiColor3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glReplacementCodeuiNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glReplacementCodeuiColor4fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiColor4fNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiColor4fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glReplacementCodeuiTexCoord2fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiTexCoord2fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); - ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); - ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); - } - - public static void glColor4ubVertex2fSUN(byte r, byte g, byte b, byte a, float x, float y) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4ubVertex2fSUN).invokeExact(r, g, b, a, x, y); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4ubVertex2fvSUN(@NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4ubVertex2fvSUN).invokeExact(c, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4ubVertex3fSUN(byte r, byte g, byte b, byte a, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4ubVertex3fSUN).invokeExact(r, g, b, a, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4ubVertex3fvSUN(@NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4ubVertex3fvSUN).invokeExact(c, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor3fVertex3fSUN(float r, float g, float b, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor3fVertex3fSUN).invokeExact(r, g, b, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor3fVertex3fvSUN).invokeExact(c, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormal3fVertex3fSUN(float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormal3fVertex3fSUN).invokeExact(nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glNormal3fVertex3fvSUN).invokeExact(n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4fNormal3fVertex3fSUN(float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4fNormal3fVertex3fSUN).invokeExact(r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glColor4fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glColor4fNormal3fVertex3fvSUN).invokeExact(c, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fVertex3fSUN(float s, float t, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fVertex3fSUN).invokeExact(s, t, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fVertex3fvSUN).invokeExact(tc, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4fVertex4fSUN(float s, float t, float p, float q, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4fVertex4fSUN).invokeExact(s, t, p, q, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4fVertex4fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4fVertex4fvSUN).invokeExact(tc, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fColor4ubVertex3fSUN(float s, float t, byte r, byte g, byte b, byte a, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fColor4ubVertex3fSUN).invokeExact(s, t, r, g, b, a, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fColor4ubVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fColor4ubVertex3fvSUN).invokeExact(tc, c, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fColor3fVertex3fSUN(float s, float t, float r, float g, float b, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fColor3fVertex3fSUN).invokeExact(s, t, r, g, b, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fColor3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fColor3fVertex3fvSUN).invokeExact(tc, c, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fNormal3fVertex3fSUN(float s, float t, float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fNormal3fVertex3fSUN).invokeExact(s, t, nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fNormal3fVertex3fvSUN).invokeExact(tc, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fColor4fNormal3fVertex3fSUN).invokeExact(s, t, r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord2fColor4fNormal3fVertex3fvSUN).invokeExact(tc, c, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float q, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z, float w) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4fColor4fNormal3fVertex4fSUN).invokeExact(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glTexCoord4fColor4fNormal3fVertex4fvSUN).invokeExact(tc, c, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiVertex3fSUN(int rc, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiVertex3fSUN).invokeExact(rc, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiVertex3fvSUN).invokeExact(rc, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiColor4ubVertex3fSUN(int rc, byte r, byte g, byte b, byte a, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiColor4ubVertex3fSUN).invokeExact(rc, r, g, b, a, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiColor4ubVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiColor4ubVertex3fvSUN).invokeExact(rc, c, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiColor3fVertex3fSUN(int rc, float r, float g, float b, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiColor3fVertex3fSUN).invokeExact(rc, r, g, b, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiColor3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiColor3fVertex3fvSUN).invokeExact(rc, c, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiNormal3fVertex3fSUN(int rc, float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiNormal3fVertex3fSUN).invokeExact(rc, nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiNormal3fVertex3fvSUN).invokeExact(rc, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiColor4fNormal3fVertex3fSUN(int rc, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiColor4fNormal3fVertex3fSUN).invokeExact(rc, r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiColor4fNormal3fVertex3fvSUN).invokeExact(rc, c, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiTexCoord2fVertex3fSUN(int rc, float s, float t, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiTexCoord2fVertex3fSUN).invokeExact(rc, s, t, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiTexCoord2fVertex3fvSUN).invokeExact(rc, tc, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(int rc, float s, float t, float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN).invokeExact(rc, s, t, nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN).invokeExact(rc, tc, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(int rc, float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN).invokeExact(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - - public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { - final var ext = getExtCapabilities(); - try { - check(ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN).invokeExact(rc, tc, c, n, v); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } - +public interface GLSUNVertex { + + void glColor4ubVertex2fSUN(byte r, byte g, byte b, byte a, float x, float y); + void glColor4ubVertex2fvSUN(@NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v); + void glColor4ubVertex3fSUN(byte r, byte g, byte b, byte a, float x, float y, float z); + void glColor4ubVertex3fvSUN(@NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v); + void glColor3fVertex3fSUN(float r, float g, float b, float x, float y, float z); + void glColor3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v); + void glNormal3fVertex3fSUN(float nx, float ny, float nz, float x, float y, float z); + void glNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glColor4fNormal3fVertex3fSUN(float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z); + void glColor4fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glTexCoord2fVertex3fSUN(float s, float t, float x, float y, float z); + void glTexCoord2fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v); + void glTexCoord4fVertex4fSUN(float s, float t, float p, float q, float x, float y, float z, float w); + void glTexCoord4fVertex4fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v); + void glTexCoord2fColor4ubVertex3fSUN(float s, float t, byte r, byte g, byte b, byte a, float x, float y, float z); + void glTexCoord2fColor4ubVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v); + void glTexCoord2fColor3fVertex3fSUN(float s, float t, float r, float g, float b, float x, float y, float z); + void glTexCoord2fColor3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v); + void glTexCoord2fNormal3fVertex3fSUN(float s, float t, float nx, float ny, float nz, float x, float y, float z); + void glTexCoord2fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glTexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z); + void glTexCoord2fColor4fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glTexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float q, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z, float w); + void glTexCoord4fColor4fNormal3fVertex4fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiVertex3fSUN(int rc, float x, float y, float z); + void glReplacementCodeuiVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiColor4ubVertex3fSUN(int rc, byte r, byte g, byte b, byte a, float x, float y, float z); + void glReplacementCodeuiColor4ubVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiColor3fVertex3fSUN(int rc, float r, float g, float b, float x, float y, float z); + void glReplacementCodeuiColor3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiNormal3fVertex3fSUN(int rc, float nx, float ny, float nz, float x, float y, float z); + void glReplacementCodeuiNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiColor4fNormal3fVertex3fSUN(int rc, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z); + void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiTexCoord2fVertex3fSUN(int rc, float s, float t, float x, float y, float z); + void glReplacementCodeuiTexCoord2fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(int rc, float s, float t, float nx, float ny, float nz, float x, float y, float z); + void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); + void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(int rc, float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z); + void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java index d8078f39..55678412 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java @@ -18,28 +18,15 @@ package overrungl.opengl.ext.sun; import overrungl.*; -import overrungl.opengl.*; +import overrun.marshal.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.*; -import static java.lang.foreign.ValueLayout.*; -import static overrungl.opengl.GLLoader.*; /** * {@code GL_SUNX_constant_data} */ -public final class GLSUNXConstantData { - public static final int GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5; - public static final int GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_SUNX_constant_data) return; - ext.glFinishTextureSUNX = load.invoke("glFinishTextureSUNX", ofVoid()); - } - - public static void glFinishTextureSUNX() { - final var ext = getExtCapabilities(); - try { - check(ext.glFinishTextureSUNX).invokeExact(); - } catch (Throwable e) { throw new AssertionError("should not reach here", e); } - } +public interface GLSUNXConstantData { + int GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5; + int GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; + void glFinishTextureSUNX(); } diff --git a/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java b/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java index e5739ba7..eebb8566 100644 --- a/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java +++ b/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java @@ -110,8 +110,7 @@ private void init(Arena arena) { } private void load() { - gl = GLLoader.load(glfw::getProcAddress); - Objects.requireNonNull(gl, "Failed to load OpenGL"); + gl = Objects.requireNonNull(GLLoader.load(GLLoader.loadFlags(glfw::getProcAddress)), "Failed to load OpenGL"); gl.clearColor(0.4f, 0.6f, 0.9f, 1.0f); } diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java index 1d24f492..1bf236b4 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java @@ -82,8 +82,7 @@ private void init() { } private void load() { - gl = (GLLegacy) GLLoader.load(glfw::getProcAddress, false); - Objects.requireNonNull(gl, "Failed to load OpenGL"); + gl = Objects.requireNonNull(GLLoader.loadLegacy(GLLoader.loadFlags(glfw::getProcAddress)), "Failed to load OpenGL"); gl.clearColor(0.4f, 0.6f, 0.9f, 1.0f); } diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java index f3e9d666..c6a7f462 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java @@ -95,8 +95,7 @@ private void init() { } private void load(Arena arena) { - gl = (GLLegacy) GLLoader.load(glfw::getProcAddress, false); - Objects.requireNonNull(gl, "Failed to load OpenGL"); + gl = Objects.requireNonNull(GLLoader.loadLegacy(GLLoader.loadFlags(glfw::getProcAddress)), "Failed to load OpenGL"); gl.clearColor(0.4f, 0.6f, 0.9f, 1.0f); gl.enable(GL.TEXTURE_2D); diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java index 076b3952..fddf05c8 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java @@ -99,8 +99,7 @@ private void init() { } private void load(Arena arena) { - gl = GLLoader.load(glfw::getProcAddress); - Objects.requireNonNull(gl, "Failed to load OpenGL"); + gl = Objects.requireNonNull(GLLoader.load(GLLoader.loadFlags(glfw::getProcAddress)), "Failed to load OpenGL"); gl.clearColor(0.4f, 0.6f, 0.9f, 1.0f); diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java index dc6c0c6e..04da4825 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java @@ -23,6 +23,7 @@ import overrungl.glfw.GLFWErrorCallback; import overrungl.joml.Matrixn; import overrungl.opengl.GL; +import overrungl.opengl.GLFlags; import overrungl.opengl.GLLoader; import overrungl.opengl.GLUtil; import overrungl.util.CheckUtil; @@ -82,6 +83,7 @@ private void init() { glfw.windowHint(GLFW.CONTEXT_VERSION_MAJOR, 3); glfw.windowHint(GLFW.CONTEXT_VERSION_MINOR, 3); glfw.windowHint(GLFW.OPENGL_PROFILE, GLFW.OPENGL_CORE_PROFILE); + glfw.windowHint(GLFW.OPENGL_DEBUG_CONTEXT, true); window = glfw.createWindow(640, 480, WND_TITLE, MemorySegment.NULL, MemorySegment.NULL); CheckUtil.checkNotNullptr(window, "Failed to create the GLFW window"); glfw.setKeyCallback(window, (_, key, _, action, _) -> { @@ -108,10 +110,10 @@ private void init() { } private void load(Arena arena) { - gl = GLLoader.load(glfw::getProcAddress); - Objects.requireNonNull(gl, "Failed to load OpenGL"); + final GLFlags flags = GLLoader.loadFlags(glfw::getProcAddress); + gl = Objects.requireNonNull(GLLoader.load(flags), "Failed to load OpenGL"); - debugProc = GLUtil.setupDebugMessageCallback(gl); + debugProc = GLUtil.setupDebugMessageCallback(gl, flags, () -> GLLoader.loadExtension(flags)); gl.clearColor(0.4f, 0.6f, 0.9f, 1.0f); program = gl.createProgram(); int vsh = gl.createShader(GL.VERTEX_SHADER);