Remove Renderer pointer from FBO attachments.
Removing the Renderer pointer is one step towards making FBO
attachments a minimal state object. Eventually we will be able
to store them as arrays instead of arrays of pointers.
BUG=angle:660
Change-Id: Idce34e06c339ecb18c60fef12d2ed911d0c4e0f6
Reviewed-on: https://chromium-review.googlesource.com/201835
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 70179cc..d2d14c1 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -2537,6 +2537,8 @@
return gl::error(GL_INVALID_ENUM);
}
+ int clientVersion = context->getClientVersion();
+
switch (pname)
{
case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:
@@ -2553,7 +2555,7 @@
case GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:
case GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:
case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:
- if (context->getClientVersion() >= 3)
+ if (clientVersion >= 3)
{
break;
}
@@ -2569,7 +2571,7 @@
case GL_DEPTH:
case GL_STENCIL:
case GL_DEPTH_STENCIL_ATTACHMENT:
- if (context->getClientVersion() < 3)
+ if (clientVersion < 3)
{
return gl::error(GL_INVALID_ENUM);
}
@@ -2600,7 +2602,7 @@
if (framebufferHandle == 0)
{
- if (context->getClientVersion() < 3)
+ if (clientVersion < 3)
{
return gl::error(GL_INVALID_OPERATION);
}
@@ -2713,7 +2715,7 @@
break;
case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
- if (context->getClientVersion() < 3)
+ if (clientVersion < 3)
{
return gl::error(GL_INVALID_ENUM);
}
@@ -2721,7 +2723,7 @@
break;
default:
- if (context->getClientVersion() < 3)
+ if (clientVersion < 3)
{
return gl::error(GL_INVALID_ENUM);
}
@@ -2768,27 +2770,27 @@
break;
case GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE:
- *params = attachmentObject->getRedSize();
+ *params = attachmentObject->getRedSize(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:
- *params = attachmentObject->getGreenSize();
+ *params = attachmentObject->getGreenSize(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:
- *params = attachmentObject->getBlueSize();
+ *params = attachmentObject->getBlueSize(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:
- *params = attachmentObject->getAlphaSize();
+ *params = attachmentObject->getAlphaSize(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:
- *params = attachmentObject->getDepthSize();
+ *params = attachmentObject->getDepthSize(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:
- *params = attachmentObject->getStencilSize();
+ *params = attachmentObject->getStencilSize(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:
@@ -2796,11 +2798,11 @@
{
gl::error(GL_INVALID_OPERATION);
}
- *params = attachmentObject->getComponentType();
+ *params = attachmentObject->getComponentType(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:
- *params = attachmentObject->getColorEncoding();
+ *params = attachmentObject->getColorEncoding(clientVersion);
break;
case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: