v2

# Unpick definition for GL

# Editing Note:
# This file sorts constant declarations by the class name it is
# most frequently used in. Lines declaring or using the same constants
# are grouped.

# Where possible, this will unpick the constant using values from
# the game jar (usually GlConst in Blaze3D.) If there is no applicable
# field there, this will use the value from GLxx class in LWJGL,
# where XX is the lowest version the constant is available in.

# This does not unpick all constants in LWJGL; that'd become
# too big and target methods become harder to maintain.
# Only constants that need unpicking in vanilla are listed.

# Framebuffer

constant gl_framebuffer_target com/mojang/blaze3d/platform/GlConst GL_FRAMEBUFFER
constant gl_framebuffer_target com/mojang/blaze3d/platform/GlConst GL_READ_FRAMEBUFFER
constant gl_framebuffer_target com/mojang/blaze3d/platform/GlConst GL_DRAW_FRAMEBUFFER

constant gl_filter com/mojang/blaze3d/platform/GlConst GL_NEAREST
constant gl_filter com/mojang/blaze3d/platform/GlConst GL_LINEAR

constant gl_tex_target com/mojang/blaze3d/platform/GlConst GL_TEXTURE_2D
constant gl_tex_target com/mojang/blaze3d/platform/GlConst GL_PROXY_TEXTURE_2D

constant gl_tex_parameter_pname com/mojang/blaze3d/platform/GlConst GL_TEXTURE_MAG_FILTER
constant gl_tex_parameter_pname com/mojang/blaze3d/platform/GlConst GL_TEXTURE_MIN_FILTER
constant gl_tex_parameter_pname com/mojang/blaze3d/platform/GlConst GL_TEXTURE_COMPARE_MODE
constant gl_tex_parameter_pname com/mojang/blaze3d/platform/GlConst GL_TEXTURE_WRAP_S
constant gl_tex_parameter_pname com/mojang/blaze3d/platform/GlConst GL_TEXTURE_WRAP_T
constant gl_tex_parameter_pname org/lwjgl/opengl/GL12 GL_TEXTURE_MAX_LEVEL
constant gl_tex_parameter_pname org/lwjgl/opengl/GL12 GL_TEXTURE_MAX_LOD
constant gl_tex_parameter_pname org/lwjgl/opengl/GL12 GL_TEXTURE_MIN_LOD
constant gl_tex_parameter_pname org/lwjgl/opengl/GL14 GL_TEXTURE_LOD_BIAS

constant gl_tex_parameter_value com/mojang/blaze3d/platform/GlConst GL_NEAREST
constant gl_tex_parameter_value com/mojang/blaze3d/platform/GlConst GL_LINEAR
constant gl_tex_parameter_value com/mojang/blaze3d/platform/GlConst GL_CLAMP_TO_EDGE
constant gl_tex_parameter_value com/mojang/blaze3d/platform/GlConst GL_NEAREST_MIPMAP_LINEAR
constant gl_tex_parameter_value com/mojang/blaze3d/platform/GlConst GL_LINEAR_MIPMAP_LINEAR

constant gl_tex_format com/mojang/blaze3d/platform/GlConst GL_DEPTH_COMPONENT
constant gl_tex_format com/mojang/blaze3d/platform/GlConst GL_RGBA8
constant gl_tex_format com/mojang/blaze3d/platform/GlConst GL_RGBA
constant gl_tex_format com/mojang/blaze3d/platform/GlConst GL_BGR
constant gl_tex_format com/mojang/blaze3d/platform/GlConst GL_RG
constant gl_tex_format com/mojang/blaze3d/platform/GlConst GL_RGB
constant gl_tex_format com/mojang/blaze3d/platform/GlConst GL_RED
constant gl_tex_format org/lwjgl/opengl/GL12 GL_BGRA

constant gl_type com/mojang/blaze3d/platform/GlConst GL_BYTE
constant gl_type com/mojang/blaze3d/platform/GlConst GL_UNSIGNED_BYTE
constant gl_type com/mojang/blaze3d/platform/GlConst GL_SHORT
constant gl_type com/mojang/blaze3d/platform/GlConst GL_UNSIGNED_SHORT
constant gl_type com/mojang/blaze3d/platform/GlConst GL_INT
constant gl_type com/mojang/blaze3d/platform/GlConst GL_UNSIGNED_INT
constant gl_type com/mojang/blaze3d/platform/GlConst GL_FLOAT
constant gl_type com/mojang/blaze3d/platform/GlConst GL_UNSIGNED_INT_8_8_8_8_REV

constant gl_framebuffer_attachment com/mojang/blaze3d/platform/GlConst GL_COLOR_ATTACHMENT0
constant gl_framebuffer_attachment com/mojang/blaze3d/platform/GlConst GL_DEPTH_ATTACHMENT

constant gl_framebuffer_status com/mojang/blaze3d/platform/GlConst GL_FRAMEBUFFER_COMPLETE
constant gl_framebuffer_status com/mojang/blaze3d/platform/GlConst GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
constant gl_framebuffer_status com/mojang/blaze3d/platform/GlConst GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
constant gl_framebuffer_status com/mojang/blaze3d/platform/GlConst GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
constant gl_framebuffer_status com/mojang/blaze3d/platform/GlConst GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER
constant gl_framebuffer_status com/mojang/blaze3d/platform/GlConst GL_FRAMEBUFFER_UNSUPPORTED
constant gl_framebuffer_status com/mojang/blaze3d/platform/GlConst GL_OUT_OF_MEMORY

# GlBlendState

constant gl_blend_equation_mode com/mojang/blaze3d/platform/GlConst GL_FUNC_ADD
constant gl_blend_equation_mode com/mojang/blaze3d/platform/GlConst GL_MIN
constant gl_blend_equation_mode com/mojang/blaze3d/platform/GlConst GL_MAX
constant gl_blend_equation_mode com/mojang/blaze3d/platform/GlConst GL_FUNC_SUBTRACT
constant gl_blend_equation_mode com/mojang/blaze3d/platform/GlConst GL_FUNC_REVERSE_SUBTRACT

# GlDebug - Does not have blaze3d const
constant gl_debug_source org/lwjgl/opengl/GL43 GL_DEBUG_SOURCE_API
constant gl_debug_source org/lwjgl/opengl/GL43 GL_DEBUG_SOURCE_WINDOW_SYSTEM
constant gl_debug_source org/lwjgl/opengl/GL43 GL_DEBUG_SOURCE_SHADER_COMPILER
constant gl_debug_source org/lwjgl/opengl/GL43 GL_DEBUG_SOURCE_THIRD_PARTY
constant gl_debug_source org/lwjgl/opengl/GL43 GL_DEBUG_SOURCE_APPLICATION
constant gl_debug_source org/lwjgl/opengl/GL43 GL_DEBUG_SOURCE_OTHER

constant gl_debug_type org/lwjgl/opengl/GL43 GL_DEBUG_TYPE_ERROR
constant gl_debug_type org/lwjgl/opengl/GL43 GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR
constant gl_debug_type org/lwjgl/opengl/GL43 GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR
constant gl_debug_type org/lwjgl/opengl/GL43 GL_DEBUG_TYPE_PORTABILITY
constant gl_debug_type org/lwjgl/opengl/GL43 GL_DEBUG_TYPE_PERFORMANCE
constant gl_debug_type org/lwjgl/opengl/GL43 GL_DEBUG_TYPE_OTHER
constant gl_debug_type org/lwjgl/opengl/GL43 GL_DEBUG_TYPE_MARKER

constant gl_debug_severity org/lwjgl/opengl/GL43 GL_DEBUG_SEVERITY_HIGH
constant gl_debug_severity org/lwjgl/opengl/GL43 GL_DEBUG_SEVERITY_MEDIUM
constant gl_debug_severity org/lwjgl/opengl/GL43 GL_DEBUG_SEVERITY_LOW
constant gl_debug_severity org/lwjgl/opengl/GL43 GL_DEBUG_SEVERITY_NOTIFICATION

constant gl_enable_state org/lwjgl/opengl/GL11 GL_BLEND
constant gl_enable_state org/lwjgl/opengl/GL11 GL_DEPTH_TEST
constant gl_enable_state org/lwjgl/opengl/GL11 GL_CULL_FACE
constant gl_enable_state org/lwjgl/opengl/GL11 GL_POLYGON_OFFSET_FULL
constant gl_enable_state org/lwjgl/opengl/GL11 GL_POLYGON_OFFSET_LINE
constant gl_enable_state org/lwjgl/opengl/GL11 GL_COLOR_LOGIC_OP
constant gl_enable_state org/lwjgl/opengl/GL11 GL_SCISSOR_TEST
constant gl_enable_state org/lwjgl/opengl/GL43 GL_DEBUG_OUTPUT
constant gl_enable_state org/lwjgl/opengl/GL43 GL_DEBUG_OUTPUT_SYNCHRONOUS

constant gl_hint_mode org/lwjgl/opengl/GL11 GL_DONT_CARE

# GlProgramManager

constant gl_program_pname com/mojang/blaze3d/platform/GlConst GL_LINK_STATUS
constant gl_program_pname com/mojang/blaze3d/platform/GlConst GL_COMPILE_STATUS

# note: glGetProgramInfoLog 32768 is not a const or flag

# GlTimer

constant gl_query_target org/lwjgl/opengl/GL33 GL_TIME_ELAPSED

constant gl_query_object_pname org/lwjgl/opengl/GL15 GL_QUERY_RESULT
constant gl_query_object_pname org/lwjgl/opengl/GL15 GL_QUERY_RESULT_AVAILABLE

# JsonEffectGlShader etc
constant gl_texture com/mojang/blaze3d/platform/GlConst GL_TEXTURE0
constant gl_texture com/mojang/blaze3d/platform/GlConst GL_TEXTURE1
constant gl_texture com/mojang/blaze3d/platform/GlConst GL_TEXTURE2

# Program
constant gl_program_type com/mojang/blaze3d/platform/GlConst GL_VERTEX_SHADER
constant gl_program_type com/mojang/blaze3d/platform/GlConst GL_FRAGMENT_SHADER

# VertexBuffer
constant gl_bind_buffer_target com/mojang/blaze3d/platform/GlConst GL_ARRAY_BUFFER
constant gl_bind_buffer_target com/mojang/blaze3d/platform/GlConst GL_ELEMENT_ARRAY_BUFFER

constant gl_buffer_data_usage com/mojang/blaze3d/platform/GlConst GL_STATIC_DRAW
constant gl_buffer_data_usage com/mojang/blaze3d/platform/GlConst GL_DYNAMIC_DRAW

constant gl_error com/mojang/blaze3d/platform/GlConst GL_OUT_OF_MEMORY

# GlDebugInfo
constant gl_get_string_name org/lwjgl/opengl/GL11 GL_VENDOR
constant gl_get_string_name org/lwjgl/opengl/GL11 GL_RENDERER
constant gl_get_string_name org/lwjgl/opengl/GL11 GL_VERSION
constant gl_get_string_name org/lwjgl/opengl/GL11 GL_EXTENSIONS

# GlStateManager

constant gl_get_integer_pname org/lwjgl/opengl/GL11 GL_DRAW_FRAMEBUFFER_BINDING
constant gl_get_integer_pname org/lwjgl/opengl/GL11 GL_MAX_TEXTURE_SIZE

constant gl_logic_op org/lwjgl/opengl/GL11 GL_CLEAR
constant gl_logic_op org/lwjgl/opengl/GL11 GL_AND
constant gl_logic_op org/lwjgl/opengl/GL11 GL_AND_REVERSE
constant gl_logic_op org/lwjgl/opengl/GL11 GL_COPY
constant gl_logic_op org/lwjgl/opengl/GL11 GL_AND_INVERTED
constant gl_logic_op org/lwjgl/opengl/GL11 GL_NOOP
constant gl_logic_op org/lwjgl/opengl/GL11 GL_XOR
constant gl_logic_op org/lwjgl/opengl/GL11 GL_OR
constant gl_logic_op org/lwjgl/opengl/GL11 GL_NOR
constant gl_logic_op org/lwjgl/opengl/GL11 GL_EQUIV
constant gl_logic_op org/lwjgl/opengl/GL11 GL_INVERT
constant gl_logic_op org/lwjgl/opengl/GL11 GL_OR_REVERSE
constant gl_logic_op org/lwjgl/opengl/GL11 GL_COPY_INVERTED
constant gl_logic_op org/lwjgl/opengl/GL11 GL_OR_INVERTED
constant gl_logic_op org/lwjgl/opengl/GL11 GL_NAND
constant gl_logic_op org/lwjgl/opengl/GL11 GL_SET

constant gl_blend_func_factor org/lwjgl/opengl/GL14 GL_CONSTANT_ALPHA
constant gl_blend_func_factor org/lwjgl/opengl/GL14 GL_CONSTANT_COLOR
constant gl_blend_func_factor org/lwjgl/opengl/GL14 GL_ONE_MINUS_CONSTANT_ALPHA
constant gl_blend_func_factor org/lwjgl/opengl/GL14 GL_ONE_MINUS_CONSTANT_COLOR
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_DST_ALPHA
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_DST_COLOR
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_ONE_MINUS_DST_ALPHA
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_ONE_MINUS_DST_COLOR
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_SRC_ALPHA
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_SRC_COLOR
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_ONE_MINUS_SRC_ALPHA
constant gl_blend_func_factor com/mojang/blaze3d/platform/GlConst GL_ONE_MINUS_SRC_COLOR

# TextureUtil
constant gl_pixel_store_pname com/mojang/blaze3d/platform/GlConst GL_UNPACK_SWAP_BYTES
constant gl_pixel_store_pname com/mojang/blaze3d/platform/GlConst GL_UNPACK_LSB_FIRST
constant gl_pixel_store_pname com/mojang/blaze3d/platform/GlConst GL_UNPACK_ROW_LENGTH
constant gl_pixel_store_pname com/mojang/blaze3d/platform/GlConst GL_UNPACK_SKIP_ROWS
constant gl_pixel_store_pname com/mojang/blaze3d/platform/GlConst GL_UNPACK_SKIP_PIXELS
constant gl_pixel_store_pname com/mojang/blaze3d/platform/GlConst GL_UNPACK_ALIGNMENT
constant gl_pixel_store_pname com/mojang/blaze3d/platform/GlConst GL_PACK_ALIGNMENT

constant gl_map_buffer_access com/mojang/blaze3d/platform/GlConst GL_WRITE_ONLY

# MinecraftClient
flag gl_clear_mask com/mojang/blaze3d/platform/GlConst GL_DEPTH_BUFFER_BIT
flag gl_clear_mask com/mojang/blaze3d/platform/GlConst GL_COLOR_BUFFER_BIT

# Target definition

target_method com/mojang/blaze3d/platform/GlStateManager _glBindFramebuffer (II)V
	param 0 gl_framebuffer_target
target_method com/mojang/blaze3d/platform/GlStateManager _glFramebufferTexture2D (IIIII)V
	param 0 gl_framebuffer_target
	param 1 gl_framebuffer_attachment
	param 2 gl_tex_target
target_method com/mojang/blaze3d/platform/GlStateManager glCheckFramebufferStatus (I)I
	param 0 gl_framebuffer_target
	return gl_framebuffer_status

target_method com/mojang/blaze3d/platform/GlStateManager _glBlitFrameBuffer (IIIIIIIIII)V
	param 9 gl_filter
target_method net/minecraft/client/gl/Framebuffer setTexFilter (I)V
	param 0 gl_filter

target_method com/mojang/blaze3d/platform/GlStateManager _texParameter (III)V
	param 0 gl_tex_target
	param 1 gl_tex_parameter_pname
	param 2 gl_tex_parameter_value
target_method com/mojang/blaze3d/platform/GlStateManager _texParameter (IIF)V
	param 0 gl_tex_target
	param 1 gl_tex_parameter_pname
target_method com/mojang/blaze3d/platform/GlStateManager _texImage2D (IIIIIIIILjava/nio/IntBuffer;)V
	param 0 gl_tex_target
	param 2 gl_tex_format
	param 6 gl_tex_format
	param 7 gl_type

target_method com/mojang/blaze3d/systems/RenderSystem texParameter (III)V
	param 0 gl_tex_target
	param 1 gl_tex_parameter_pname
	param 2 gl_tex_parameter_value
target_method com/mojang/blaze3d/platform/GlStateManager _texSubImage2D (IIIIIIIIJ)V
	param 0 gl_tex_target
	param 6 gl_tex_format
	param 7 gl_type
target_method com/mojang/blaze3d/platform/GlStateManager _getTexImage (IIIIJ)V
	param 0 gl_tex_target
target_method org/lwjgl/opengl/GL11 glBindTexture (II)V
	param 0 gl_tex_target
target_method org/lwjgl/opengl/GL11 glTexImage2D (IIIIIIIILjava/nio/IntBuffer;)V
	param 0 gl_tex_target
	param 2 gl_tex_format
	param 6 gl_tex_format
target_method org/lwjgl/opengl/GL11 glTexParameteri (III)V
	param 0 gl_tex_target

target_method com/mojang/blaze3d/platform/GlStateManager _readPixels (IIIIIIJ)V
	param 4 gl_tex_format
	param 5 gl_type
target_method com/mojang/blaze3d/platform/GlStateManager _glDrawPixels (IIIIJ)V
	param 2 gl_tex_format
	param 3 gl_type
target_method net/minecraft/client/texture/NativeImage$Format <init> (Ljava/lang/String;IIIZZZZZIIIIIZ)V
	param 3 gl_tex_format
target_method net/minecraft/client/texture/NativeImage$InternalFormat <init> (Ljava/lang/String;II)V
	param 2 gl_tex_format

target_method net/minecraft/client/render/VertexFormatElement$ComponentType <init> (Ljava/lang/String;IILjava/lang/String;I)V
	param 4 gl_type
target_method net/minecraft/client/render/VertexFormat$IndexType <init> (Ljava/lang/String;III)V
	param 2 gl_type

target_method net/minecraft/client/gl/GlBlendState <init> (ZZIIIII)V
	param 6 gl_blend_equation_mode
target_method net/minecraft/client/gl/GlBlendState <init> (III)V
	param 2 gl_blend_equation_mode
target_method net/minecraft/client/gl/GlBlendState getModeFromString (Ljava/lang/String;)I
	return gl_blend_equation_mode

target_method net/minecraft/client/gl/GlDebug getSource (I)Ljava/lang/String;
	param 0 gl_debug_source
target_method net/minecraft/client/gl/GlDebug info (IIIIIJJ)V
	param 0 gl_debug_source
	param 1 gl_debug_type
	param 3 gl_debug_severity
target_method net/minecraft/client/gl/GlDebug$DebugMessage <init> (IIIILjava/lang/String;)V
	param 0 gl_debug_source
	param 1 gl_debug_type
	param 3 gl_debug_severity

target_method net/minecraft/client/gl/GlDebug getType (I)Ljava/lang/String;
	param 0 gl_debug_type

target_method net/minecraft/client/gl/GlDebug getSeverity (I)Ljava/lang/String;
	param 0 gl_debug_severity

target_method com/mojang/blaze3d/platform/GlStateManager$CapabilityTracker <init> (I)V
	param 0 gl_enable_state
target_method org/lwjgl/opengl/GL11 glEnable (I)V
	param 0 gl_enable_state

target_method org/lwjgl/opengl/KHRDebug glDebugMessageControl (III[IZ)V
	param 0 gl_hint_mode
	param 1 gl_hint_mode
target_method org/lwjgl/opengl/ARBDebugOutput glDebugMessageControlARB (III[IZ)V
	param 0 gl_hint_mode
	param 1 gl_hint_mode

target_method com/mojang/blaze3d/platform/GlStateManager glGetProgrami (II)I
	param 1 gl_program_pname
target_method com/mojang/blaze3d/platform/GlStateManager glGetShaderi (II)I
	param 1 gl_program_pname

target_method org/lwjgl/opengl/GL32C glBeginQuery (II)V
	param 0 gl_query_target
target_method org/lwjgl/opengl/GL32C glEndQuery (I)V
	param 0 gl_query_target

target_method org/lwjgl/opengl/GL32C glGetQueryObjecti (II)I
	param 1 gl_query_object_pname
target_method org/lwjgl/opengl/ARBTimerQuery glGetQueryObjecti64 (II)J
	param 1 gl_query_object_pname

target_method com/mojang/blaze3d/platform/GlStateManager _activeTexture (I)V
	param 0 gl_texture
target_method com/mojang/blaze3d/systems/RenderSystem activeTexture (I)V
	param 0 gl_texture

target_method net/minecraft/client/gl/Program$Type <init> (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
	param 4 gl_program_type

target_method com/mojang/blaze3d/platform/GlStateManager _glBindBuffer (II)V
	param 0 gl_bind_buffer_target
target_method com/mojang/blaze3d/platform/GlStateManager _glBufferData (IJI)V
	param 0 gl_bind_buffer_target
	param 2 gl_buffer_data_usage
target_method com/mojang/blaze3d/platform/GlStateManager mapBuffer (II)Ljava/nio/ByteBuffer;
	param 0 gl_bind_buffer_target
	param 1 gl_map_buffer_access
target_method com/mojang/blaze3d/platform/GlStateManager _glUnmapBuffer (I)V
	param 0 gl_bind_buffer_target
target_method com/mojang/blaze3d/systems/RenderSystem glBufferData (ILjava/nio/ByteBuffer;I)V
	param 0 gl_bind_buffer_target
	param 2 gl_buffer_data_usage
target_method org/lwjgl/opengl/GL32C glBindBuffer (II)V
	param 0 gl_bind_buffer_target
target_method org/lwjgl/opengl/GL32C glBufferData (IJI)V
	param 0 gl_bind_buffer_target
	param 2 gl_buffer_data_usage

target_method com/mojang/blaze3d/platform/GlStateManager _getError ()I
	return gl_error

target_method com/mojang/blaze3d/platform/GlStateManager _getString (I)Ljava/lang/String;
	param 0 gl_get_string_name

target_method com/mojang/blaze3d/platform/GlStateManager _getInteger (I)I
	param 0 gl_get_integer_pname

target_method com/mojang/blaze3d/platform/GlStateManager$LogicOp <init> (Ljava/lang/String;II)V
	param 2 gl_logic_op

target_method com/mojang/blaze3d/platform/GlStateManager$SrcFactor <init> (Ljava/lang/String;II)V
	param 2 gl_blend_func_factor
target_method com/mojang/blaze3d/platform/GlStateManager$DstFactor <init> (Ljava/lang/String;II)V
	param 2 gl_blend_func_factor
target_method net/minecraft/client/gl/GlBlendState getFactorFromString (Ljava/lang/String;)I
	return gl_blend_func_factor

target_method com/mojang/blaze3d/platform/GlStateManager _pixelStore (II)V
	param 0 gl_pixel_store_pname
target_method org/lwjgl/opengl/GL11 glPixelStorei (II)V
	param 0 gl_pixel_store_pname

target_method com/mojang/blaze3d/systems/RenderSystem clear (IZ)V
	param 0 gl_clear_mask

