<commit_before>/* 
 * Copyright LWJGL. All rights reserved.
 * License terms: http://lwjgl.org/license.php
 */
package org.lwjgl.opengl.templates

import org.lwjgl.generator.*
import org.lwjgl.generator.opengl.*
import org.lwjgl.opengl.*

val GL43 = "GL43".nativeClassGL("GL43") {
	nativeImport (
		"OpenGL.h"
	)

	documentation =
		"""
		The core OpenGL 4.3 functionality. OpenGL 4.3 implementations support revision 4.30 of the OpenGL Shading Language.

		Extensions promoted to core in this release:
		${ul(
			registryLinkTo("ARB", "arrays_of_arrays"),
			registryLinkTo("ARB", "ES3_compatibility"),
			registryLinkTo("ARB", "clear_buffer_object"),
			registryLinkTo("ARB", "compute_shader"),
			registryLinkTo("ARB", "copy_image"),
			registryLinkTo("ARB", "debug_group"),
			registryLinkTo("ARB", "debug_label"),
			registryLinkTo("ARB", "debug_output2"),
			registryLinkTo("ARB", "debug_output"),
			registryLinkTo("ARB", "explicit_uniform_location"),
			registryLinkTo("ARB", "fragment_layer_viewport"),
			registryLinkTo("ARB", "framebuffer_no_attachments"),
			registryLinkTo("ARB", "internalformat_query2"),
			registryLinkTo("ARB", "invalidate_subdata"),
			registryLinkTo("ARB", "multi_draw_indirect"),
			registryLinkTo("ARB", "program_interface_query"),
			registryLinkTo("ARB", "robust_buffer_access_behavior"),
			registryLinkTo("ARB", "shader_image_size"),
			registryLinkTo("ARB", "shader_storage_buffer_object"),
			registryLinkTo("ARB", "stencil_texturing"),
			registryLinkTo("ARB", "texture_buffer_range"),
			registryLinkTo("ARB", "texture_query_levels"),
			registryLinkTo("ARB", "texture_storage_multisample"),
			registryLinkTo("ARB", "texture_view"),
			registryLinkTo("ARB", "vertex_attrib_binding")
		)}
		"""

	IntConstant.block(
		"No. of supported Shading Language Versions. Accepted by the {@code pname} parameter of GetIntegerv.",

		"NUM_SHADING_LANGUAGE_VERSIONS" _ 0x82E9
	)

	IntConstant.block(
		"Vertex attrib array has unconverted doubles. Accepted by the {@code pname} parameter of GetVertexAttribiv.",

		"VERTEX_ATTRIB_ARRAY_LONG" _ 0x874E
	)

	// ARB_ES3_compatibility

	IntConstant.block(
		"Accepted by the {@code internalformat} parameter of CompressedTexImage2D.",

		"COMPRESSED_RGB8_ETC2" _ 0x9274,
		"COMPRESSED_SRGB8_ETC2" _ 0x9275,
		"COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" _ 0x9276,
		"COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" _ 0x9277,
		"COMPRESSED_RGBA8_ETC2_EAC" _ 0x9278,
		"COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" _ 0x9279,
		"COMPRESSED_R11_EAC" _ 0x9270,
		"COMPRESSED_SIGNED_R11_EAC" _ 0x9271,
		"COMPRESSED_RG11_EAC" _ 0x9272,
		"COMPRESSED_SIGNED_RG11_EAC" _ 0x9273
	)

	IntConstant.block(
		"Accepted by the {@code target} parameter of Enable and Disable.",

		"PRIMITIVE_RESTART_FIXED_INDEX" _ 0x8D69
	)

	IntConstant.block(
		"Accepted by the {@code target} parameter of BeginQuery, EndQuery, GetQueryIndexediv and GetQueryiv.",

		"ANY_SAMPLES_PASSED_CONSERVATIVE" _ 0x8D6A
	)

	IntConstant.block(
		"Accepted by the {@code value} parameter of the GetInteger* functions.",

		"MAX_ELEMENT_INDEX" _ 0x8D6B
	)

	IntConstant.block(
		"Accepted by the {@code pname} parameters of GetTexParameterfv and  GetTexParameteriv.",

		"TEXTURE_IMMUTABLE_LEVELS" _ 0x82DF
	)

	// ARB_clear_buffer_object

	GLvoid.func(
		"ClearBufferData",
		"Fills a buffer object's data store with a fixed value.",

		GLenum.IN("target", "the target of the operation", BUFFER_OBJECT_TARGETS),
		GLenum.IN("internalformat", "the internal format with which the data will be stored in the buffer object"),
		GLenum.IN("format", "the format of the data in memory addressed by {@code data}", PIXEL_DATA_FORMATS),
		GLenum.IN("type", "the type of the data in memory addressed by {@code data}", PIXEL_DATA_TYPES),
		mods(
			MultiType(PointerMapping.DATA_SHORT, PointerMapping.DATA_INT, PointerMapping.DATA_FLOAT),
			const
		) _ GLvoid_p.IN("data", "a memory location storing the data to be replicated into the buffer's data store")
	)

	GLvoid.func(
		"ClearBufferSubData",
		"Fills all or part of buffer object's data store with a fixed value.",

		GLenum.IN("target", "the target of the operation", BUFFER_OBJECT_TARGETS),
		GLenum.IN("internalformat", "the internal format with which the data will be stored in the buffer object"),
		GLintptr.IN("offset", "the offset, in basic machine units into the buffer object's data store at which to start filling"),
		GLsizeiptr.IN("size", "the size, in basic machine units of the range of the data store to fill"),
		GLenum.IN("format", "the format of the data in memory addressed by {@code data}", PIXEL_DATA_FORMATS),
		GLenum.IN("type", "the type of the data in memory addressed by {@code data}", PIXEL_DATA_TYPES),
		mods(
			MultiType(PointerMapping.DATA_SHORT, PointerMapping.DATA_INT, PointerMapping.DATA_FLOAT),
			const
		) _ GLvoid_p.IN("data", "a memory location storing the data to be replicated into the buffer's data store")
	)

	// ARB_compute_shader

	IntConstant.block(
		"Accepted by the {@code type} parameter of CreateShader and returned in the {@code params} parameter by GetShaderiv.",

		"COMPUTE_SHADER" _ 0x91B9
	)

	IntConstant.block(
		"Accepted by the {@code pname} parameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.",

		"MAX_COMPUTE_UNIFORM_BLOCKS" _ 0x91BB,
		"MAX_COMPUTE_TEXTURE_IMAGE_UNITS" _ 0x91BC,
		"MAX_COMPUTE_IMAGE_UNIFORMS" _ 0x91BD,
		"MAX_COMPUTE_SHARED_MEMORY_SIZE" _ 0x8262,<commit_msg>Fix: null data in ClearBufferData and ClearBufferSubData<commit_after>/* 
 * Copyright LWJGL. All rights reserved.
 * License terms: http://lwjgl.org/license.php
 */
package org.lwjgl.opengl.templates

import org.lwjgl.generator.*
import org.lwjgl.generator.opengl.*
import org.lwjgl.opengl.*

val GL43 = "GL43".nativeClassGL("GL43") {
	nativeImport (
		"OpenGL.h"
	)

	documentation =
		"""
		The core OpenGL 4.3 functionality. OpenGL 4.3 implementations support revision 4.30 of the OpenGL Shading Language.

		Extensions promoted to core in this release:
		${ul(
			registryLinkTo("ARB", "arrays_of_arrays"),
			registryLinkTo("ARB", "ES3_compatibility"),
			registryLinkTo("ARB", "clear_buffer_object"),
			registryLinkTo("ARB", "compute_shader"),
			registryLinkTo("ARB", "copy_image"),
			registryLinkTo("ARB", "debug_group"),
			registryLinkTo("ARB", "debug_label"),
			registryLinkTo("ARB", "debug_output2"),
			registryLinkTo("ARB", "debug_output"),
			registryLinkTo("ARB", "explicit_uniform_location"),
			registryLinkTo("ARB", "fragment_layer_viewport"),
			registryLinkTo("ARB", "framebuffer_no_attachments"),
			registryLinkTo("ARB", "internalformat_query2"),
			registryLinkTo("ARB", "invalidate_subdata"),
			registryLinkTo("ARB", "multi_draw_indirect"),
			registryLinkTo("ARB", "program_interface_query"),
			registryLinkTo("ARB", "robust_buffer_access_behavior"),
			registryLinkTo("ARB", "shader_image_size"),
			registryLinkTo("ARB", "shader_storage_buffer_object"),
			registryLinkTo("ARB", "stencil_texturing"),
			registryLinkTo("ARB", "texture_buffer_range"),
			registryLinkTo("ARB", "texture_query_levels"),
			registryLinkTo("ARB", "texture_storage_multisample"),
			registryLinkTo("ARB", "texture_view"),
			registryLinkTo("ARB", "vertex_attrib_binding")
		)}
		"""

	IntConstant.block(
		"No. of supported Shading Language Versions. Accepted by the {@code pname} parameter of GetIntegerv.",

		"NUM_SHADING_LANGUAGE_VERSIONS" _ 0x82E9
	)

	IntConstant.block(
		"Vertex attrib array has unconverted doubles. Accepted by the {@code pname} parameter of GetVertexAttribiv.",

		"VERTEX_ATTRIB_ARRAY_LONG" _ 0x874E
	)

	// ARB_ES3_compatibility

	IntConstant.block(
		"Accepted by the {@code internalformat} parameter of CompressedTexImage2D.",

		"COMPRESSED_RGB8_ETC2" _ 0x9274,
		"COMPRESSED_SRGB8_ETC2" _ 0x9275,
		"COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" _ 0x9276,
		"COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" _ 0x9277,
		"COMPRESSED_RGBA8_ETC2_EAC" _ 0x9278,
		"COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" _ 0x9279,
		"COMPRESSED_R11_EAC" _ 0x9270,
		"COMPRESSED_SIGNED_R11_EAC" _ 0x9271,
		"COMPRESSED_RG11_EAC" _ 0x9272,
		"COMPRESSED_SIGNED_RG11_EAC" _ 0x9273
	)

	IntConstant.block(
		"Accepted by the {@code target} parameter of Enable and Disable.",

		"PRIMITIVE_RESTART_FIXED_INDEX" _ 0x8D69
	)

	IntConstant.block(
		"Accepted by the {@code target} parameter of BeginQuery, EndQuery, GetQueryIndexediv and GetQueryiv.",

		"ANY_SAMPLES_PASSED_CONSERVATIVE" _ 0x8D6A
	)

	IntConstant.block(
		"Accepted by the {@code value} parameter of the GetInteger* functions.",

		"MAX_ELEMENT_INDEX" _ 0x8D6B
	)

	IntConstant.block(
		"Accepted by the {@code pname} parameters of GetTexParameterfv and  GetTexParameteriv.",

		"TEXTURE_IMMUTABLE_LEVELS" _ 0x82DF
	)

	// ARB_clear_buffer_object

	GLvoid.func(
		"ClearBufferData",
		"Fills a buffer object's data store with a fixed value.",

		GLenum.IN("target", "the target of the operation", BUFFER_OBJECT_TARGETS),
		GLenum.IN("internalformat", "the internal format with which the data will be stored in the buffer object"),
		GLenum.IN("format", "the format of the data in memory addressed by {@code data}", PIXEL_DATA_FORMATS),
		GLenum.IN("type", "the type of the data in memory addressed by {@code data}", PIXEL_DATA_TYPES),
		mods(
		  nullable,
			MultiType(PointerMapping.DATA_SHORT, PointerMapping.DATA_INT, PointerMapping.DATA_FLOAT),
			const
		) _ GLvoid_p.IN("data", "a memory location storing the data to be replicated into the buffer's data store")
	)

	GLvoid.func(
		"ClearBufferSubData",
		"Fills all or part of buffer object's data store with a fixed value.",

		GLenum.IN("target", "the target of the operation", BUFFER_OBJECT_TARGETS),
		GLenum.IN("internalformat", "the internal format with which the data will be stored in the buffer object"),
		GLintptr.IN("offset", "the offset, in basic machine units into the buffer object's data store at which to start filling"),
		GLsizeiptr.IN("size", "the size, in basic machine units of the range of the data store to fill"),
		GLenum.IN("format", "the format of the data in memory addressed by {@code data}", PIXEL_DATA_FORMATS),
		GLenum.IN("type", "the type of the data in memory addressed by {@code data}", PIXEL_DATA_TYPES),
		mods(
		  nullable,
			MultiType(PointerMapping.DATA_SHORT, PointerMapping.DATA_INT, PointerMapping.DATA_FLOAT),
			const
		) _ GLvoid_p.IN("data", "a memory location storing the data to be replicated into the buffer's data store")
	)

	// ARB_compute_shader

	IntConstant.block(
		"Accepted by the {@code type} parameter of CreateShader and returned in the {@code params} parameter by GetShaderiv.",

		"COMPUTE_SHADER" _ 0x91B9
	)

	IntConstant.block(
		"Accepted by the {@code pname} parameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.",

		"MAX_COMPUTE_UNIFORM_BLOCKS" _ 0x91BB,
		"MAX_COMPUTE_TEXTURE_IMAGE_UNITS" _ 0x91BC,
		"MAX_COMPUTE_IMAGE_UNIFORMS" _ 0x91BD,
		"MAX_COMPUTE_SHARED_MEMORY_SIZE" _ 0x8262,
{'fraction_non_alphanumeric': 0.10942776307383408, 'fraction_numerical': 0.024094186364880896, 'mean_word_length': 5.457277548615203, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1453885', 'n_tokens_mistral': 4209, 'n_tokens_neox': 3812, 'n_words': 919}