Move glFramebufferTextureLayer to GLFbo

opengles2-fixes
Kirill Vainer 8 years ago
parent 7a22f8c940
commit af3a0c70ce
  1. 5
      jme3-android/src/main/java/com/jme3/renderer/android/AndroidGL.java
  2. 1
      jme3-core/src/main/java/com/jme3/renderer/opengl/GL3.java
  3. 6
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLDebugDesktop.java
  4. 7
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLDebugES.java
  5. 1
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLFbo.java
  6. 2
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java
  7. 1
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLTracer.java
  8. 5
      jme3-ios/src/main/java/com/jme3/renderer/ios/IosGL.java
  9. 6
      jme3-jogl/src/main/java/com/jme3/renderer/jogl/JoglGL.java
  10. 5
      jme3-jogl/src/main/java/com/jme3/renderer/jogl/JoglGLFbo.java
  11. 5
      jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglGL.java
  12. 6
      jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglGLFboEXT.java
  13. 5
      jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglGLFboGL3.java
  14. 7
      jme3-lwjgl3/src/main/java/com/jme3/renderer/lwjgl/LwjglGL.java
  15. 6
      jme3-lwjgl3/src/main/java/com/jme3/renderer/lwjgl/LwjglGLFboEXT.java
  16. 5
      jme3-lwjgl3/src/main/java/com/jme3/renderer/lwjgl/LwjglGLFboGL3.java

@ -561,4 +561,9 @@ public class AndroidGL implements GL, GLExt, GLFbo {
public void glBlendEquationSeparate(int colorMode, int alphaMode) { public void glBlendEquationSeparate(int colorMode, int alphaMode) {
GLES20.glBlendEquationSeparate(colorMode, alphaMode); GLES20.glBlendEquationSeparate(colorMode, alphaMode);
} }
@Override
public void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer) {
throw new UnsupportedOperationException("OpenGL ES 2 does not support texture arrays");
}
} }

@ -86,7 +86,6 @@ public interface GL3 extends GL2 {
public void glBindFragDataLocation(int param1, int param2, String param3); /// GL3+ public void glBindFragDataLocation(int param1, int param2, String param3); /// GL3+
public void glBindVertexArray(int param1); /// GL3+ public void glBindVertexArray(int param1); /// GL3+
public void glDeleteVertexArrays(IntBuffer arrays); /// GL3+ public void glDeleteVertexArrays(IntBuffer arrays); /// GL3+
public void glFramebufferTextureLayer(int param1, int param2, int param3, int param4, int param5); /// GL3+
public void glGenVertexArrays(IntBuffer param1); /// GL3+ public void glGenVertexArrays(IntBuffer param1); /// GL3+
public String glGetString(int param1, int param2); /// GL3+ public String glGetString(int param1, int param2); /// GL3+
} }

@ -95,12 +95,6 @@ public class GLDebugDesktop extends GLDebugES implements GL2, GL3, GL4 {
checkError(); checkError();
} }
@Override
public void glFramebufferTextureLayer(int param1, int param2, int param3, int param4, int param5) {
gl3.glFramebufferTextureLayer(param1, param2, param3, param4, param5);
checkError();
}
public void glBlendEquationSeparate(int colorMode, int alphaMode) { public void glBlendEquationSeparate(int colorMode, int alphaMode) {
gl.glBlendEquationSeparate(colorMode, alphaMode); gl.glBlendEquationSeparate(colorMode, alphaMode);
checkError(); checkError();

@ -598,8 +598,15 @@ public class GLDebugES extends GLDebug implements GL, GLFbo, GLExt {
return sync; return sync;
} }
@Override
public void glBlendEquationSeparate(int colorMode, int alphaMode) { public void glBlendEquationSeparate(int colorMode, int alphaMode) {
gl.glBlendEquationSeparate(colorMode, alphaMode); gl.glBlendEquationSeparate(colorMode, alphaMode);
checkError(); checkError();
} }
@Override
public void glFramebufferTextureLayerEXT(int param1, int param2, int param3, int param4, int param5) {
glfbo.glFramebufferTextureLayerEXT(param1, param2, param3, param4, param5);
checkError();
}
} }

@ -89,6 +89,7 @@ public interface GLFbo {
public void glDeleteRenderbuffersEXT(IntBuffer param1); public void glDeleteRenderbuffersEXT(IntBuffer param1);
public void glFramebufferRenderbufferEXT(int param1, int param2, int param3, int param4); public void glFramebufferRenderbufferEXT(int param1, int param2, int param3, int param4);
public void glFramebufferTexture2DEXT(int param1, int param2, int param3, int param4, int param5); public void glFramebufferTexture2DEXT(int param1, int param2, int param3, int param4, int param5);
public void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer);
public void glGenFramebuffersEXT(IntBuffer param1); public void glGenFramebuffersEXT(IntBuffer param1);
public void glGenRenderbuffersEXT(IntBuffer param1); public void glGenRenderbuffersEXT(IntBuffer param1);
public void glGenerateMipmapEXT(int param1); public void glGenerateMipmapEXT(int param1);

@ -1581,7 +1581,7 @@ public final class GLRenderer implements Renderer {
image.getId(), image.getId(),
0); 0);
} else { } else {
gl3.glFramebufferTextureLayer(GLFbo.GL_FRAMEBUFFER_EXT, glfbo.glFramebufferTextureLayerEXT(GLFbo.GL_FRAMEBUFFER_EXT,
convertAttachmentSlot(rb.getSlot()), convertAttachmentSlot(rb.getSlot()),
image.getId(), image.getId(),
0, 0,

@ -112,6 +112,7 @@ public final class GLTracer implements InvocationHandler {
noEnumArgs("glRenderbufferStorageMultisampleEXT", 1, 3, 4); noEnumArgs("glRenderbufferStorageMultisampleEXT", 1, 3, 4);
noEnumArgs("glFramebufferRenderbufferEXT", 3); noEnumArgs("glFramebufferRenderbufferEXT", 3);
noEnumArgs("glFramebufferTexture2DEXT", 3, 4); noEnumArgs("glFramebufferTexture2DEXT", 3, 4);
noEnumArgs("glFramebufferTextureLayerEXT", 2, 3, 4);
noEnumArgs("glBlitFramebufferEXT", 0, 1, 2, 3, 4, 5, 6, 7, 8); noEnumArgs("glBlitFramebufferEXT", 0, 1, 2, 3, 4, 5, 6, 7, 8);
noEnumArgs("glCreateProgram", -1); noEnumArgs("glCreateProgram", -1);

@ -611,4 +611,9 @@ public class IosGL implements GL, GLExt, GLFbo {
public Object glFenceSync(int condition, int flags) { public Object glFenceSync(int condition, int flags) {
throw new UnsupportedOperationException("OpenGL ES 2 does not support sync fences"); throw new UnsupportedOperationException("OpenGL ES 2 does not support sync fences");
} }
@Override
public void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer) {
throw new UnsupportedOperationException("OpenGL ES 2 does not support texture arrays");
}
} }

@ -634,10 +634,4 @@ public class JoglGL implements GL, GL2, GL3, GL4 {
checkLimit(arrays); checkLimit(arrays);
GLContext.getCurrentGL().getGL2ES3().glDeleteVertexArrays(arrays.limit(), arrays); GLContext.getCurrentGL().getGL2ES3().glDeleteVertexArrays(arrays.limit(), arrays);
} }
@Override
public void glFramebufferTextureLayer(int param1, int param2, int param3, int param4, int param5) {
GLContext.getCurrentGL().getGL3().glFramebufferTextureLayer(param1, param2, param3, param4, param5);
}
} }

@ -94,4 +94,9 @@ public class JoglGLFbo implements GLFbo {
public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) { public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) {
GLContext.getCurrentGL().glRenderbufferStorage(param1, param2, param3, param4); GLContext.getCurrentGL().glRenderbufferStorage(param1, param2, param3, param4);
} }
@Override
public void glFramebufferTextureLayerEXT(int param1, int param2, int param3, int param4, int param5) {
GLContext.getCurrentGL().getGL3().glFramebufferTextureLayer(param1, param2, param3, param4, param5);
}
} }

@ -493,9 +493,4 @@ public final class LwjglGL implements GL, GL2, GL3, GL4 {
checkLimit(arrays); checkLimit(arrays);
ARBVertexArrayObject.glDeleteVertexArrays(arrays); ARBVertexArrayObject.glDeleteVertexArrays(arrays);
} }
@Override
public void glFramebufferTextureLayer(int param1, int param2, int param3, int param4, int param5) {
GL30.glFramebufferTextureLayer(param1, param2, param3, param4, param5);
}
} }

@ -7,6 +7,7 @@ import java.nio.IntBuffer;
import org.lwjgl.opengl.EXTFramebufferBlit; import org.lwjgl.opengl.EXTFramebufferBlit;
import org.lwjgl.opengl.EXTFramebufferMultisample; import org.lwjgl.opengl.EXTFramebufferMultisample;
import org.lwjgl.opengl.EXTFramebufferObject; import org.lwjgl.opengl.EXTFramebufferObject;
import org.lwjgl.opengl.EXTTextureArray;
/** /**
* Implements GLFbo via GL_EXT_framebuffer_object. * Implements GLFbo via GL_EXT_framebuffer_object.
@ -95,4 +96,9 @@ public final class LwjglGLFboEXT implements GLFbo {
public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) { public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) {
EXTFramebufferObject.glRenderbufferStorageEXT(param1, param2, param3, param4); EXTFramebufferObject.glRenderbufferStorageEXT(param1, param2, param3, param4);
} }
@Override
public void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer) {
EXTTextureArray.glFramebufferTextureLayerEXT(target, attachment, texture, level, layer);
}
} }

@ -93,4 +93,9 @@ public final class LwjglGLFboGL3 implements GLFbo {
public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) { public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) {
GL30.glRenderbufferStorage(param1, param2, param3, param4); GL30.glRenderbufferStorage(param1, param2, param3, param4);
} }
@Override
public void glFramebufferTextureLayerEXT(int param1, int param2, int param3, int param4, int param5) {
GL30.glFramebufferTextureLayer(param1, param2, param3, param4, param5);
}
} }

@ -36,8 +36,6 @@ import com.jme3.renderer.opengl.GL;
import com.jme3.renderer.opengl.GL2; import com.jme3.renderer.opengl.GL2;
import com.jme3.renderer.opengl.GL3; import com.jme3.renderer.opengl.GL3;
import com.jme3.renderer.opengl.GL4; import com.jme3.renderer.opengl.GL4;
import com.jme3.system.NativeLibraryLoader;
import com.jme3.system.Platform;
import org.lwjgl.opengl.*; import org.lwjgl.opengl.*;
import java.nio.*; import java.nio.*;
@ -519,9 +517,4 @@ public class LwjglGL implements GL, GL2, GL3, GL4 {
checkLimit(arrays); checkLimit(arrays);
ARBVertexArrayObject.glDeleteVertexArrays(arrays); ARBVertexArrayObject.glDeleteVertexArrays(arrays);
} }
@Override
public void glFramebufferTextureLayer(int param1, int param2, int param3, int param4, int param5) {
GL30.glFramebufferTextureLayer(param1, param2, param3, param4, param5);
}
} }

@ -39,6 +39,7 @@ import org.lwjgl.opengl.EXTFramebufferObject;
import java.nio.Buffer; import java.nio.Buffer;
import java.nio.IntBuffer; import java.nio.IntBuffer;
import org.lwjgl.opengl.EXTTextureArray;
/** /**
* Implements GLFbo via GL_EXT_framebuffer_object. * Implements GLFbo via GL_EXT_framebuffer_object.
@ -127,4 +128,9 @@ public class LwjglGLFboEXT implements GLFbo {
public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) { public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) {
EXTFramebufferObject.glRenderbufferStorageEXT(param1, param2, param3, param4); EXTFramebufferObject.glRenderbufferStorageEXT(param1, param2, param3, param4);
} }
@Override
public void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer) {
EXTTextureArray.glFramebufferTextureLayerEXT(target, attachment, texture, level, layer);
}
} }

@ -125,4 +125,9 @@ public class LwjglGLFboGL3 implements GLFbo {
public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) { public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) {
GL30.glRenderbufferStorage(param1, param2, param3, param4); GL30.glRenderbufferStorage(param1, param2, param3, param4);
} }
@Override
public void glFramebufferTextureLayerEXT(int param1, int param2, int param3, int param4, int param5) {
GL30.glFramebufferTextureLayer(param1, param2, param3, param4, param5);
}
} }

Loading…
Cancel
Save