Split Caps into Caps, Extensions and TextureFormatCaps.
Context now holds it's own Caps, Extensions and TextureFormat caps so that it
can modify them based on client version or work-arounds.
BUG=angle:658
Change-Id: Id71b6c89b7aa36e1f3dc42b0e4720eaed1851fb9
Reviewed-on: https://chromium-review.googlesource.com/206480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/validationES2.cpp b/src/libGLESv2/validationES2.cpp
index e371383..eed8a15 100644
--- a/src/libGLESv2/validationES2.cpp
+++ b/src/libGLESv2/validationES2.cpp
@@ -236,19 +236,19 @@
{
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if (!context->getCaps().extensions.textureCompressionDXT1)
+ if (!context->getExtensions().textureCompressionDXT1)
{
return gl::error(GL_INVALID_ENUM, false);
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
- if (!context->getCaps().extensions.textureCompressionDXT1)
+ if (!context->getExtensions().textureCompressionDXT1)
{
return gl::error(GL_INVALID_ENUM, false);
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
- if (!context->getCaps().extensions.textureCompressionDXT5)
+ if (!context->getExtensions().textureCompressionDXT5)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -296,7 +296,7 @@
break;
case GL_RED:
case GL_RG:
- if (!context->getCaps().extensions.textureRG)
+ if (!context->getExtensions().textureRG)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -346,7 +346,7 @@
break;
case GL_SRGB_EXT:
case GL_SRGB_ALPHA_EXT:
- if (!context->getCaps().extensions.sRGB)
+ if (!context->getExtensions().sRGB)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -390,7 +390,7 @@
{
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if (context->getCaps().extensions.textureCompressionDXT1)
+ if (context->getExtensions().textureCompressionDXT1)
{
return gl::error(GL_INVALID_OPERATION, false);
}
@@ -400,7 +400,7 @@
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
- if (context->getCaps().extensions.textureCompressionDXT3)
+ if (context->getExtensions().textureCompressionDXT3)
{
return gl::error(GL_INVALID_OPERATION, false);
}
@@ -410,7 +410,7 @@
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
- if (context->getCaps().extensions.textureCompressionDXT5)
+ if (context->getExtensions().textureCompressionDXT5)
{
return gl::error(GL_INVALID_OPERATION, false);
}
@@ -421,7 +421,7 @@
break;
case GL_DEPTH_COMPONENT:
case GL_DEPTH_STENCIL_OES:
- if (!context->getCaps().extensions.depthTextures)
+ if (!context->getExtensions().depthTextures)
{
return gl::error(GL_INVALID_VALUE, false);
}
@@ -442,14 +442,14 @@
if (type == GL_FLOAT)
{
- if (!context->getCaps().extensions.textureFloat)
+ if (!context->getExtensions().textureFloat)
{
return gl::error(GL_INVALID_ENUM, false);
}
}
else if (type == GL_HALF_FLOAT_OES)
{
- if (!context->getCaps().extensions.textureHalfFloat)
+ if (!context->getExtensions().textureHalfFloat)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -632,7 +632,7 @@
break;
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if (context->getCaps().extensions.textureCompressionDXT1)
+ if (context->getExtensions().textureCompressionDXT1)
{
return gl::error(GL_INVALID_OPERATION, false);
}
@@ -642,7 +642,7 @@
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
- if (context->getCaps().extensions.textureCompressionDXT3)
+ if (context->getExtensions().textureCompressionDXT3)
{
return gl::error(GL_INVALID_OPERATION, false);
}
@@ -652,7 +652,7 @@
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
- if (context->getCaps().extensions.textureCompressionDXT5)
+ if (context->getExtensions().textureCompressionDXT5)
{
return gl::error(GL_INVALID_OPERATION, false);
}
@@ -666,7 +666,7 @@
case GL_DEPTH_COMPONENT32_OES:
case GL_DEPTH_STENCIL_OES:
case GL_DEPTH24_STENCIL8_OES:
- if (context->getCaps().extensions.depthTextures)
+ if (context->getExtensions().depthTextures)
{
return gl::error(GL_INVALID_OPERATION, false);
}
@@ -736,7 +736,7 @@
return gl::error(GL_INVALID_ENUM, false);
}
- if (levels != 1 && !context->getCaps().extensions.textureNPOT)
+ if (levels != 1 && !context->getExtensions().textureNPOT)
{
if (!gl::isPow2(width) || !gl::isPow2(height))
{
@@ -748,19 +748,19 @@
{
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if (!context->getCaps().extensions.textureCompressionDXT1)
+ if (!context->getExtensions().textureCompressionDXT1)
{
return gl::error(GL_INVALID_ENUM, false);
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
- if (!context->getCaps().extensions.textureCompressionDXT3)
+ if (!context->getExtensions().textureCompressionDXT3)
{
return gl::error(GL_INVALID_ENUM, false);
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
- if (!context->getCaps().extensions.textureCompressionDXT5)
+ if (!context->getExtensions().textureCompressionDXT5)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -770,7 +770,7 @@
case GL_ALPHA32F_EXT:
case GL_LUMINANCE32F_EXT:
case GL_LUMINANCE_ALPHA32F_EXT:
- if (!context->getCaps().extensions.textureFloat)
+ if (!context->getExtensions().textureFloat)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -780,7 +780,7 @@
case GL_ALPHA16F_EXT:
case GL_LUMINANCE16F_EXT:
case GL_LUMINANCE_ALPHA16F_EXT:
- if (!context->getCaps().extensions.textureHalfFloat)
+ if (!context->getExtensions().textureHalfFloat)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -791,7 +791,7 @@
case GL_RG16F_EXT:
case GL_R32F_EXT:
case GL_RG32F_EXT:
- if (!context->getCaps().extensions.textureRG)
+ if (!context->getExtensions().textureRG)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -799,7 +799,7 @@
case GL_DEPTH_COMPONENT16:
case GL_DEPTH_COMPONENT32_OES:
case GL_DEPTH24_STENCIL8_OES:
- if (!context->getCaps().extensions.depthTextures)
+ if (!context->getExtensions().depthTextures)
{
return gl::error(GL_INVALID_ENUM, false);
}
@@ -870,7 +870,7 @@
break;
case GL_RG_EXT:
case GL_RED_EXT:
- if (!context->getCaps().extensions.textureRG)
+ if (!context->getExtensions().textureRG)
{
return false;
}