From 6c842977a3b5541f7e663fbf2fde5015752acb94 Mon Sep 17 00:00:00 2001 From: iamgreaser Date: Sun, 18 Sep 2016 14:55:46 +0000 Subject: [PATCH] GL 2.0+ pipeline (#81) * initial cbf->GlExtensionHandler fill * most GlExtH methods * GlExtH OpenGL enums * loose ends for GlExtH * GlProgram/GlShader located * filled in GlShader * more GlProgram stuff * GlUniform located * fill in more GlUniform stuff * GlBlendState + GlUniform gaps * GlProgramManager located + fully mapped * GlFramebuffer located * more GlFramebuffer stuff * solved the resize problem in GlFramebuffer * review pt1 * review pt2 --- .../client/GlExtensionHandler.mapping | 112 ++++++++++++++++++ .../minecraft/client/gl/DummyUniform.mapping | 10 ++ .../minecraft/client/gl/GlBlendState.mapping | 32 +++++ .../minecraft/client/gl/GlFramebuffer.mapping | 43 +++++++ .../net/minecraft/client/gl/GlProgram.mapping | 40 +++++++ .../client/gl/GlProgramManager.mapping | 10 ++ .../net/minecraft/client/gl/GlShader.mapping | 33 ++++++ .../net/minecraft/client/gl/GlUniform.mapping | 34 ++++++ mappings/none/cbf.mapping | 2 - 9 files changed, 314 insertions(+), 2 deletions(-) create mode 100644 mappings/net/minecraft/client/GlExtensionHandler.mapping create mode 100644 mappings/net/minecraft/client/gl/DummyUniform.mapping create mode 100644 mappings/net/minecraft/client/gl/GlBlendState.mapping create mode 100644 mappings/net/minecraft/client/gl/GlFramebuffer.mapping create mode 100644 mappings/net/minecraft/client/gl/GlProgram.mapping create mode 100644 mappings/net/minecraft/client/gl/GlProgramManager.mapping create mode 100644 mappings/net/minecraft/client/gl/GlShader.mapping create mode 100644 mappings/net/minecraft/client/gl/GlUniform.mapping delete mode 100644 mappings/none/cbf.mapping diff --git a/mappings/net/minecraft/client/GlExtensionHandler.mapping b/mappings/net/minecraft/client/GlExtensionHandler.mapping new file mode 100644 index 0000000000..9792287b2f --- /dev/null +++ b/mappings/net/minecraft/client/GlExtensionHandler.mapping @@ -0,0 +1,112 @@ +CLASS none/cbf net/minecraft/client/GlExtensionHandler + CLASS none/cbf$a FBOMode + FIELD a BASE Lnone/cbf$a; + FIELD b ARB Lnone/cbf$a; + FIELD c EXT Lnone/cbf$a; + FIELD A GL_SOURCE1_RGB I + FIELD B GL_SOURCE2_RGB I + FIELD C GL_OPERAND0_RGB I + FIELD D GL_OPERAND1_RGB I + FIELD E GL_OPERAND2_RGB I + FIELD F GL_COMBINE_ALPHA I + FIELD G GL_SOURCE0_ALPHA I + FIELD H GL_SOURCE1_ALPHA I + FIELD I GL_SOURCE2_ALPHA I + FIELD J GL_OPERAND0_ALPHA I + FIELD K GL_OPERAND1_ALPHA I + FIELD L GL_OPERAND2_ALPHA I + FIELD M extVersionBlendFuncSeparate Z + FIELD N supportsGl21 Z + FIELD O supportsShaderPipeline Z + FIELD P supportsVertexBufferObject Z + FIELD R GL_ARRAY_BUFFER I + FIELD S GL_STATIC_DRAW I + FIELD T LOGGER Lorg/apache/logging/log4j/Logger; + FIELD U fboMode Lnone/cbf$a; + FIELD V supportsGlsl Z + FIELD W arbVersionGLSL Z + FIELD X arbVersionMultiTexture Z + FIELD Y arbVersionTextureEnvCombine Z + FIELD Z supportsBlendFuncSeparate Z + FIELD a gpuNvidia Z + FIELD aa initInfoLog Ljava/lang/String; + FIELD ab cpuInfoString Ljava/lang/String; + FIELD ac arbVersionVertexBufferObject Z + FIELD b gpuAti Z + FIELD c GL_FRAMEBUFFER I + FIELD d GL_RENDERBUFFER I + FIELD e GL_COLOR_ATTACHMENT0 I + FIELD f GL_DEPTH_ATTACHMENT I + FIELD g GL_FRAMEBUFFER_COMPLETE I + FIELD h GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT I + FIELD i GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT I + FIELD j GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER I + FIELD k GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER I + FIELD l supportsFramebufferObject Z + FIELD m GL_LINK_STATUS I + FIELD n GL_COMPILE_STATUS I + FIELD o GL_VERTEX_SHADER I + FIELD p GL_FRAGMENT_SHADER I + FIELD q GL_TEXTURE0 I + FIELD r GL_TEXTURE1 I + FIELD s GL_TEXTURE2 I + FIELD t GL_COMBINE I + FIELD u GL_INTERPOLATE I + FIELD v GL_PRIMARY_COLOR I + FIELD w GL_CONSTANT I + FIELD x GL_PREVIOUS I + FIELD y GL_COMBINE_RGB I + FIELD z GL_SOURCE0_RGB I + METHOD a init ()V + METHOD a deleteShader (I)V + METHOD a multiTexCoord2f (IFF)V + METHOD a getProgrami (II)I + METHOD a renderbufferStorage (IIII)V + METHOD a framebufferTexture2D (IIIII)V + METHOD a getUniformLocation (ILjava/lang/CharSequence;)I + METHOD a shaderSource (ILjava/nio/ByteBuffer;)V + METHOD a bufferData (ILjava/nio/ByteBuffer;I)V + METHOD a uniform1fv (ILjava/nio/FloatBuffer;)V + METHOD a uniform1iv (ILjava/nio/IntBuffer;)V + METHOD a uniformMatrix2fv (IZLjava/nio/FloatBuffer;)V + METHOD a shellExecute (Ljava/io/File;)V + METHOD b canUseShaders ()Z + METHOD b createShader (I)I + METHOD b attachShader (II)V + METHOD b framebufferRenderbuffer (IIII)V + METHOD b getAttribLocation (ILjava/lang/CharSequence;)I + METHOD b uniform2fv (ILjava/nio/FloatBuffer;)V + METHOD b uniform2iv (ILjava/nio/IntBuffer;)V + METHOD b uniformMatrix3fv (IZLjava/nio/FloatBuffer;)V + METHOD c getInitInfoLog ()Ljava/lang/String; + METHOD c compileShader (I)V + METHOD c getShader (II)I + METHOD c blendFuncSeparate (IIII)V + METHOD c uniform3fv (ILjava/nio/FloatBuffer;)V + METHOD c uniform3iv (ILjava/nio/IntBuffer;)V + METHOD c uniformMatrix4fv (IZLjava/nio/FloatBuffer;)V + METHOD d createProgram ()I + METHOD d useProgram (I)V + METHOD d getShaderInfoLog (II)Ljava/lang/String; + METHOD d uniform4fv (ILjava/nio/FloatBuffer;)V + METHOD d uniform4iv (ILjava/nio/IntBuffer;)V + METHOD e genBuffers ()I + METHOD e deleteProgram (I)V + METHOD e getProgramInfoLog (II)Ljava/lang/String; + METHOD f useVertexBufferObjects ()Z + METHOD f linkProgram (I)V + METHOD f uniform1i (II)V + METHOD g genFramebuffers ()I + METHOD g deleteBuffers (I)V + METHOD g bindBuffer (II)V + METHOD h genRenderbuffers ()I + METHOD h deleteRenderbuffers (I)V + METHOD h bindFramebuffer (II)V + METHOD i deleteFramebuffers (I)V + METHOD i bindRenderbuffer (II)V + METHOD j useFramebufferObjects ()Z + METHOD j checkFramebufferStatus (I)I + METHOD k getCpuInfoString ()Ljava/lang/String; + METHOD k activeTexture (I)V + METHOD l clientActiveTexture (I)V + METHOD m drawAxes3D (I)V diff --git a/mappings/net/minecraft/client/gl/DummyUniform.mapping b/mappings/net/minecraft/client/gl/DummyUniform.mapping new file mode 100644 index 0000000000..9a148be0ee --- /dev/null +++ b/mappings/net/minecraft/client/gl/DummyUniform.mapping @@ -0,0 +1,10 @@ +CLASS none/bwj net/minecraft/client/gl/DummyUniform + METHOD a setFloat1 (F)V + METHOD a setFloat2 (FF)V + METHOD a setFloat3 (FFF)V + METHOD a setFloat4 (FFFF)V + METHOD a setMatrix4 (FFFFFFFFFFFFFFFF)V + METHOD a setIntsSizeChecked (IIII)V + METHOD a setMatrix4 (Lorg/lwjgl/util/vector/Matrix4f;)V + METHOD a set ([F)V + METHOD b setFloatsSizeChecked (FFFF)V diff --git a/mappings/net/minecraft/client/gl/GlBlendState.mapping b/mappings/net/minecraft/client/gl/GlBlendState.mapping new file mode 100644 index 0000000000..973dc08bc2 --- /dev/null +++ b/mappings/net/minecraft/client/gl/GlBlendState.mapping @@ -0,0 +1,32 @@ +CLASS none/bwi net/minecraft/client/gl/GlBlendState + FIELD a activeBlendState Lnone/bwi; + FIELD b srcRgb I + FIELD c srcAlpha I + FIELD d dstRgb I + FIELD e dstAlpha I + FIELD f func I + FIELD g separateBlend Z + FIELD h blendDisabled Z + METHOD (III)V + ARG 0 srcRgb + ARG 1 dstRgb + ARG 2 func + METHOD (IIIII)V + ARG 0 srcRgb + ARG 1 dstRgb + ARG 2 srcAlpha + ARG 3 dstAlpha + ARG 4 func + METHOD (ZZIIIII)V + ARG 0 separateBlend + ARG 1 blendDisabled + ARG 2 srcRgb + ARG 3 dstRgb + ARG 4 srcAlpha + ARG 5 dstAlpha + ARG 6 func + METHOD a enable ()V + METHOD a createFromJson (Lcom/google/gson/JsonObject;)Lnone/bwi; + METHOD a getFuncFromString (Ljava/lang/String;)I + METHOD b isBlendDisabled ()Z + METHOD b getComponentFromString (Ljava/lang/String;)I diff --git a/mappings/net/minecraft/client/gl/GlFramebuffer.mapping b/mappings/net/minecraft/client/gl/GlFramebuffer.mapping new file mode 100644 index 0000000000..f3bacb45f9 --- /dev/null +++ b/mappings/net/minecraft/client/gl/GlFramebuffer.mapping @@ -0,0 +1,43 @@ +CLASS none/bpf net/minecraft/client/gl/GlFramebuffer + FIELD a texWidth I + FIELD b texHeight I + FIELD c viewWidth I + FIELD d viewHeight I + FIELD e useDepthAttachment Z + FIELD f fbo I + FIELD g colorAttachment0 I + FIELD h depthAttachment I + FIELD i clearColor [F + FIELD j texFilter I + METHOD (IIZ)V + ARG 0 width + ARG 1 height + ARG 2 useDepthAttachment + METHOD a delete ()V + METHOD a setClearColor (FFFF)V + ARG 0 r + ARG 1 g + ARG 2 b + ARG 3 a + METHOD a setTexFilter (I)V + ARG 0 texFilter + METHOD a resize (II)V + ARG 0 width + ARG 1 height + METHOD a draw (IIZ)V + ARG 0 width + ARG 1 height + ARG 2 disableBlend + METHOD a beginWrite (Z)V + ARG 0 resizeViewport + METHOD b checkFramebufferStatus ()V + METHOD b initFbo (II)V + ARG 0 width + ARG 1 height + METHOD c beginRead ()V + METHOD c draw (II)V + ARG 0 width + ARG 1 height + METHOD d endRead ()V + METHOD e endWrite ()V + METHOD f clear ()V diff --git a/mappings/net/minecraft/client/gl/GlProgram.mapping b/mappings/net/minecraft/client/gl/GlProgram.mapping new file mode 100644 index 0000000000..8595af49d8 --- /dev/null +++ b/mappings/net/minecraft/client/gl/GlProgram.mapping @@ -0,0 +1,40 @@ +CLASS none/bwk net/minecraft/client/gl/GlProgram + FIELD a LOGGER Lorg/apache/logging/log4j/Logger; + FIELD b dummyUniform Lnone/bwj; + FIELD c activeProgram Lnone/bwk; + FIELD d activeProgramRef I + FIELD f samplerBinds Ljava/util/Map; + FIELD g samplerNames Ljava/util/List; + FIELD h samplerShaderLocs Ljava/util/List; + FIELD i uniformData Ljava/util/List; + FIELD j uniformLocs Ljava/util/List; + FIELD k uniformByName Ljava/util/Map; + FIELD l programRef I + FIELD m name Ljava/lang/String; + FIELD n useCullFace Z + FIELD o uniformStateIsDirty Z + FIELD p blendState Lnone/bwi; + FIELD q attribLocs Ljava/util/List; + FIELD r attribNames Ljava/util/List; + FIELD s vertexShader Lnone/bwn; + FIELD t fragmentShader Lnone/bwn; + METHOD (Lnone/byc;Ljava/lang/String;)V + ARG 0 resource + ARG 1 name + METHOD a delete ()V + METHOD a addSampler (Lcom/google/gson/JsonElement;)V + METHOD a getUniformByName (Ljava/lang/String;)Lnone/bwp; + ARG 0 name + METHOD a bindSampler (Ljava/lang/String;Ljava/lang/Object;)V + ARG 0 samplerName + ARG 1 texture + METHOD b disable ()V + METHOD b addUniform (Lcom/google/gson/JsonElement;)V + METHOD b getUniformByNameOrDummy (Ljava/lang/String;)Lnone/bwp; + ARG 0 name + METHOD c enable ()V + METHOD d markUniformStateDirty ()V + METHOD e getVertexShader ()Lnone/bwn; + METHOD f getFragmentShader ()Lnone/bwn; + METHOD h getProgramRef ()I + METHOD i finalizeUniformsAndSamplers ()V diff --git a/mappings/net/minecraft/client/gl/GlProgramManager.mapping b/mappings/net/minecraft/client/gl/GlProgramManager.mapping new file mode 100644 index 0000000000..829b9e7f49 --- /dev/null +++ b/mappings/net/minecraft/client/gl/GlProgramManager.mapping @@ -0,0 +1,10 @@ +CLASS none/bwo net/minecraft/client/gl/GlProgramManager + FIELD a LOGGER Lorg/apache/logging/log4j/Logger; + FIELD b INSTANCE Lnone/bwo; + METHOD a init ()V + METHOD a deleteProgram (Lnone/bwk;)V + ARG 0 program + METHOD b getInstance ()Lnone/bwo; + METHOD b linkProgram (Lnone/bwk;)V + ARG 0 program + METHOD c createProgram ()I diff --git a/mappings/net/minecraft/client/gl/GlShader.mapping b/mappings/net/minecraft/client/gl/GlShader.mapping new file mode 100644 index 0000000000..92ac5e3638 --- /dev/null +++ b/mappings/net/minecraft/client/gl/GlShader.mapping @@ -0,0 +1,33 @@ +CLASS none/bwn net/minecraft/client/gl/GlShader + CLASS none/bwn$a Type + FIELD a VERTEX Lnone/bwn$a; + FIELD b FRAGMENT Lnone/bwn$a; + FIELD c name Ljava/lang/String; + FIELD d fileExtension Ljava/lang/String; + FIELD e shaderType I + FIELD f nameObjectMap Ljava/util/Map; + METHOD (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V + ARG 0 name + ARG 1 fileExtension + ARG 2 shaderType + METHOD a getName ()Ljava/lang/String; + METHOD b getFileExtension ()Ljava/lang/String; + METHOD c getShaderType ()I + METHOD d getNameObjectMap ()Ljava/util/Map; + FIELD a shaderType Lnone/bwn$a; + FIELD b name Ljava/lang/String; + FIELD c shaderRef I + FIELD d refCount I + METHOD (Lnone/bwn$a;ILjava/lang/String;)V + ARG 0 shaderType + ARG 1 shaderRef + ARG 2 name + METHOD a getName ()Ljava/lang/String; + METHOD a attachTo (Lnone/bwk;)V + ARG 0 program + METHOD a createFromResource (Lnone/byc;Lnone/bwn$a;Ljava/lang/String;)Lnone/bwn; + ARG 0 resource + ARG 1 shaderType + ARG 2 name + METHOD b detachFrom (Lnone/bwk;)V + ARG 0 program diff --git a/mappings/net/minecraft/client/gl/GlUniform.mapping b/mappings/net/minecraft/client/gl/GlUniform.mapping new file mode 100644 index 0000000000..15e1f4b7e5 --- /dev/null +++ b/mappings/net/minecraft/client/gl/GlUniform.mapping @@ -0,0 +1,34 @@ +CLASS none/bwp net/minecraft/client/gl/GlUniform + FIELD a LOGGER Lorg/apache/logging/log4j/Logger; + FIELD b loc I + FIELD c count I + FIELD d dataType I + FIELD e intData Ljava/nio/IntBuffer; + FIELD f floatData Ljava/nio/FloatBuffer; + FIELD g name Ljava/lang/String; + FIELD h stateDirty Z + FIELD i program Lnone/bwk; + METHOD (Ljava/lang/String;IILnone/bwk;)V + ARG 0 name + ARG 1 dataType + ARG 2 count + ARG 3 program + METHOD a getName ()Ljava/lang/String; + METHOD a setFloat1 (F)V + METHOD a setFloat2 (FF)V + METHOD a setFloat3 (FFF)V + METHOD a setFloat4 (FFFF)V + METHOD a setMatrix4 (FFFFFFFFFFFFFFFF)V + METHOD a setIntsSizeChecked (IIII)V + METHOD a getTypeIndex (Ljava/lang/String;)I + ARG 0 typeName + METHOD a setMatrix4 (Lorg/lwjgl/util/vector/Matrix4f;)V + METHOD a set ([F)V + METHOD b upload ()V + METHOD b setFloatsSizeChecked (FFFF)V + METHOD b setLoc (I)V + ARG 0 loc + METHOD h markStateDirty ()V + METHOD i uploadInts ()V + METHOD j uploadFloats ()V + METHOD k uploadMatrix ()V diff --git a/mappings/none/cbf.mapping b/mappings/none/cbf.mapping deleted file mode 100644 index a3447e2061..0000000000 --- a/mappings/none/cbf.mapping +++ /dev/null @@ -1,2 +0,0 @@ -CLASS none/cbf - FIELD T LOGGER Lorg/apache/logging/log4j/Logger;