diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-12 00:51:48 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-12 00:51:48 +0000 |
commit | 491328e2de2e7b6b405943f676166e72b2a77784 (patch) | |
tree | 38de50c24815d3025a572783293bc875773c8a08 | |
parent | f57bb2865fa146140d27e64c68148b79724f2f35 (diff) | |
download | chromium_src-491328e2de2e7b6b405943f676166e72b2a77784.zip chromium_src-491328e2de2e7b6b405943f676166e72b2a77784.tar.gz chromium_src-491328e2de2e7b6b405943f676166e72b2a77784.tar.bz2 |
Add GL_CHROMIUM_resource_safe extension string
which means that the underlying OpenGL makes sure
buffers, textures and renderbuffers are cleared.
TEST=unit tests
BUG=none
Review URL: http://codereview.chromium.org/4844001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65883 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/renderer/webgraphicscontext3d_command_buffer_impl.cc | 3 | ||||
-rw-r--r-- | gpu/command_buffer/service/feature_info.cc | 17 | ||||
-rw-r--r-- | gpu/command_buffer/service/feature_info.h | 2 | ||||
-rw-r--r-- | gpu/command_buffer/service/feature_info_unittest.cc | 17 |
4 files changed, 12 insertions, 27 deletions
diff --git a/chrome/renderer/webgraphicscontext3d_command_buffer_impl.cc b/chrome/renderer/webgraphicscontext3d_command_buffer_impl.cc index 84204da..da74b3e 100644 --- a/chrome/renderer/webgraphicscontext3d_command_buffer_impl.cc +++ b/chrome/renderer/webgraphicscontext3d_command_buffer_impl.cc @@ -57,9 +57,6 @@ WebGraphicsContext3DCommandBufferImpl:: static const char* kWebGraphicsContext3DPerferredGLExtensions = "GL_OES_packed_depth_stencil " "GL_OES_depth24 " - "GL_CHROMIUM_copy_texture_to_parent_texture " - "GL_CHROMIUM_map_sub " - "GL_CHROMIUM_strict_attribs " "GL_CHROMIUM_webglsl"; bool WebGraphicsContext3DCommandBufferImpl::initialize( diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc index 94a6b29..8fdac29 100644 --- a/gpu/command_buffer/service/feature_info.cc +++ b/gpu/command_buffer/service/feature_info.cc @@ -91,19 +91,10 @@ void FeatureInfo::AddFeatures(const char* desired_features) { bool npot_ok = false; - if (ext.Desire("GL_CHROMIUM_map_sub")) { - AddExtensionString("GL_CHROMIUM_map_sub"); - } - - if (ext.Desire("GL_CHROMIUM_copy_texture_to_parent_texture")) { - AddExtensionString("GL_CHROMIUM_copy_texture_to_parent_texture"); - } - - // Only turn this feature on if it is requested. Not by default. - if (desired_features && ext.Desire("GL_CHROMIUM_strict_attribs")) { - AddExtensionString("GL_CHROMIUM_strict_attribs"); - feature_flags_.chromium_strict_attribs = true; - } + AddExtensionString("GL_CHROMIUM_map_sub"); + AddExtensionString("GL_CHROMIUM_copy_texture_to_parent_texture"); + AddExtensionString("GL_CHROMIUM_resource_safe"); + AddExtensionString("GL_CHROMIUM_strict_attribs"); // Only turn this feature on if it is requested. Not by default. if (desired_features && ext.Desire("GL_CHROMIUM_webglsl")) { diff --git a/gpu/command_buffer/service/feature_info.h b/gpu/command_buffer/service/feature_info.h index 855c514..a11aa70 100644 --- a/gpu/command_buffer/service/feature_info.h +++ b/gpu/command_buffer/service/feature_info.h @@ -21,7 +21,6 @@ class FeatureInfo { npot_ok(false), enable_texture_float_linear(false), enable_texture_half_float_linear(false), - chromium_strict_attribs(false), chromium_webglsl(false) { } @@ -30,7 +29,6 @@ class FeatureInfo { bool npot_ok; bool enable_texture_float_linear; bool enable_texture_half_float_linear; - bool chromium_strict_attribs; bool chromium_webglsl; }; diff --git a/gpu/command_buffer/service/feature_info_unittest.cc b/gpu/command_buffer/service/feature_info_unittest.cc index b8745f2..819b6cc 100644 --- a/gpu/command_buffer/service/feature_info_unittest.cc +++ b/gpu/command_buffer/service/feature_info_unittest.cc @@ -59,19 +59,25 @@ TEST_F(FeatureInfoTest, Basic) { EXPECT_FALSE(info_.feature_flags().npot_ok); EXPECT_FALSE(info_.feature_flags().enable_texture_float_linear); EXPECT_FALSE(info_.feature_flags().enable_texture_half_float_linear); - EXPECT_FALSE(info_.feature_flags().chromium_strict_attribs); EXPECT_FALSE(info_.feature_flags().chromium_webglsl); } TEST_F(FeatureInfoTest, InitializeNoExtensions) { SetupInitExpectations(""); info_.Initialize(NULL); + // Check default extensions are there + EXPECT_THAT(info_.extensions(), HasSubstr("GL_CHROMIUM_map_sub")); + EXPECT_THAT(info_.extensions(), + HasSubstr("GL_CHROMIUM_copy_texture_to_parent_texture")); + EXPECT_THAT(info_.extensions(), HasSubstr("GL_CHROMIUM_resource_safe")); + EXPECT_THAT(info_.extensions(), HasSubstr("GL_CHROMIUM_strict_attribs")); + // Check a couple of random extensions that should not be there. + EXPECT_THAT(info_.extensions(), Not(HasSubstr("GL_CHROMIUM_webglsl"))); EXPECT_THAT(info_.extensions(), Not(HasSubstr("GL_OES_texture_npot"))); EXPECT_THAT(info_.extensions(), Not(HasSubstr("GL_EXT_texture_compression_dxt1"))); EXPECT_FALSE(info_.feature_flags().npot_ok); - EXPECT_FALSE(info_.feature_flags().chromium_strict_attribs); EXPECT_FALSE(info_.feature_flags().chromium_webglsl); EXPECT_FALSE(info_.validators()->compressed_texture_format.IsValid( GL_COMPRESSED_RGB_S3TC_DXT1_EXT)); @@ -378,13 +384,6 @@ TEST_F(FeatureInfoTest, InitializeOES_standard_derivatives) { EXPECT_TRUE(info_.feature_flags().oes_standard_derivatives); } -TEST_F(FeatureInfoTest, InitializeCHROMIUM_strict_attribs) { - SetupInitExpectations(""); - info_.Initialize("GL_CHROMIUM_strict_attribs"); - EXPECT_THAT(info_.extensions(), HasSubstr("GL_CHROMIUM_strict_attribs")); - EXPECT_TRUE(info_.feature_flags().chromium_strict_attribs); -} - TEST_F(FeatureInfoTest, InitializeCHROMIUM_webglsl) { SetupInitExpectations(""); info_.Initialize("GL_CHROMIUM_webglsl"); |