FramebufferTextureLayer fix
Fixed a few things related to FramebufferTextureLayer:
- Added layer validation to make sure it does not exceed
the size of the 3D texture's or 2D array's depth.
- Fixed frambuffer target / texture target confusion.
- Removed bad validation.
- Fixed last 2 arguments of set[insert type]Buffer calls
(layer and level) which were inverted.
Change-Id: Ie1f2cb595d8b9abfee27bcf834c535f7e023e3ee
Reviewed-on: https://swiftshader-review.googlesource.com/4343
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/Renderbuffer.cpp b/src/OpenGL/libGLESv2/Renderbuffer.cpp
index 2f641f6..9118713 100644
--- a/src/OpenGL/libGLESv2/Renderbuffer.cpp
+++ b/src/OpenGL/libGLESv2/Renderbuffer.cpp
@@ -191,6 +191,11 @@
return mTexture3D->getHeight(mTexture3D->getTarget(), mLevel);
}
+GLsizei RenderbufferTexture3D::getDepth() const
+{
+ return mTexture3D->getDepth(mTexture3D->getTarget(), mLevel);
+}
+
GLenum RenderbufferTexture3D::getFormat() const
{
return mTexture3D->getFormat(mTexture3D->getTarget(), mLevel);
@@ -332,6 +337,11 @@
return mInstance->getHeight();
}
+GLsizei Renderbuffer::getDepth() const
+{
+ return mInstance->getDepth();
+}
+
GLint Renderbuffer::getLayer() const
{
return mInstance->getLayer();