Chromium Code Reviews| OLD | NEW | 
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "gpu/command_buffer/service/feature_info.h" | 5 #include "gpu/command_buffer/service/feature_info.h" | 
| 6 | 6 | 
| 7 #include <stddef.h> | 7 #include <stddef.h> | 
| 8 | 8 | 
| 9 #include <memory> | 9 #include <memory> | 
| 10 | 10 | 
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 239 case ES3_on_Version3_2Compatibility: | 239 case ES3_on_Version3_2Compatibility: | 
| 240 break; | 240 break; | 
| 241 case ES2_on_Version3_2Compatibility: | 241 case ES2_on_Version3_2Compatibility: | 
| 242 // sRGB features are available as core GL 3.2. | 242 // sRGB features are available as core GL 3.2. | 
| 243 expect_ext_srgb = true; | 243 expect_ext_srgb = true; | 
| 244 break; | 244 break; | 
| 245 default: | 245 default: | 
| 246 NOTREACHED(); | 246 NOTREACHED(); | 
| 247 break; | 247 break; | 
| 248 } | 248 } | 
| 249 // Note that because GL_EXT_sRGB is a substring of GL_EXT_sRGB_write_control, | |
| 250 // which is not part of the ES3 core, we have to be careful to search for | |
| 251 // "GL_EXT_sRGB ", and append a space to the end of the extension string. | |
| 249 if (expect_ext_srgb) { | 252 if (expect_ext_srgb) { | 
| 250 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_sRGB")); | 253 EXPECT_THAT(info_->extensions() + " ", HasSubstr("GL_EXT_sRGB ")); | 
| 251 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 254 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 
| 252 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 255 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 
| 253 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( | 256 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( | 
| 254 GL_SRGB_EXT)); | 257 GL_SRGB_EXT)); | 
| 255 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( | 258 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( | 
| 256 GL_SRGB_ALPHA_EXT)); | 259 GL_SRGB_ALPHA_EXT)); | 
| 257 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid( | 260 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid( | 
| 258 GL_SRGB8_ALPHA8_EXT)); | 261 GL_SRGB8_ALPHA8_EXT)); | 
| 259 EXPECT_TRUE(info_->validators()->framebuffer_parameter.IsValid( | 262 EXPECT_TRUE(info_->validators()->framebuffer_parameter.IsValid( | 
| 260 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 263 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 
| 261 } else { | 264 } else { | 
| 262 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_sRGB"))); | 265 // Note that because GL_EXT_sRGB is a substring of | 
| 
 
Zhenyao Mo
2016/11/30 19:31:11
nit: remove this
 
ccameron
2016/11/30 23:59:44
Done.
 
 | |
| 266 EXPECT_THAT(info_->extensions() + " ", Not(HasSubstr("GL_EXT_sRGB "))); | |
| 263 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 267 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 
| 264 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 268 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 
| 265 GL_SRGB_ALPHA_EXT)); | 269 GL_SRGB_ALPHA_EXT)); | 
| 266 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 270 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 
| 267 GL_SRGB_EXT)); | 271 GL_SRGB_EXT)); | 
| 268 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 272 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 
| 269 GL_SRGB_ALPHA_EXT)); | 273 GL_SRGB_ALPHA_EXT)); | 
| 270 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( | 274 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( | 
| 271 GL_SRGB8_ALPHA8_EXT)); | 275 GL_SRGB8_ALPHA8_EXT)); | 
| 272 EXPECT_FALSE(info_->validators()->framebuffer_parameter.IsValid( | 276 EXPECT_FALSE(info_->validators()->framebuffer_parameter.IsValid( | 
| (...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 586 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 2.0"); | 590 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 2.0"); | 
| 587 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_read_format_bgra"))); | 591 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_read_format_bgra"))); | 
| 588 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra); | 592 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra); | 
| 589 EXPECT_FALSE(info_->validators()->read_pixel_format.IsValid(GL_BGRA_EXT)); | 593 EXPECT_FALSE(info_->validators()->read_pixel_format.IsValid(GL_BGRA_EXT)); | 
| 590 } | 594 } | 
| 591 | 595 | 
| 592 TEST_P(FeatureInfoTest, InitializeEXT_sRGB) { | 596 TEST_P(FeatureInfoTest, InitializeEXT_sRGB) { | 
| 593 SetupInitExpectations("GL_EXT_sRGB GL_OES_rgb8_rgba8"); | 597 SetupInitExpectations("GL_EXT_sRGB GL_OES_rgb8_rgba8"); | 
| 594 | 598 | 
| 595 if (GetContextType() == CONTEXT_TYPE_OPENGLES3) { | 599 if (GetContextType() == CONTEXT_TYPE_OPENGLES3) { | 
| 596 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_sRGB"))); | 600 EXPECT_THAT(info_->extensions() + " ", Not(HasSubstr("GL_EXT_sRGB "))); | 
| 597 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 601 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 
| 598 EXPECT_FALSE( | 602 EXPECT_FALSE( | 
| 599 info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 603 info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 
| 600 EXPECT_FALSE( | 604 EXPECT_FALSE( | 
| 601 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); | 605 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); | 
| 602 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 606 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 
| 603 GL_SRGB_ALPHA_EXT)); | 607 GL_SRGB_ALPHA_EXT)); | 
| 604 EXPECT_FALSE( | 608 EXPECT_FALSE( | 
| 605 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); | 609 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); | 
| 606 EXPECT_FALSE(info_->validators()->framebuffer_parameter.IsValid( | 610 EXPECT_FALSE(info_->validators()->framebuffer_parameter.IsValid( | 
| 607 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 611 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 
| 608 } else { | 612 } else { | 
| 609 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_sRGB")); | 613 EXPECT_THAT(info_->extensions() + " ", HasSubstr("GL_EXT_sRGB ")); | 
| 610 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 614 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 
| 611 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 615 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 
| 612 EXPECT_TRUE( | 616 EXPECT_TRUE( | 
| 613 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); | 617 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); | 
| 614 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( | 618 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( | 
| 615 GL_SRGB_ALPHA_EXT)); | 619 GL_SRGB_ALPHA_EXT)); | 
| 616 EXPECT_TRUE( | 620 EXPECT_TRUE( | 
| 617 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); | 621 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); | 
| 618 EXPECT_TRUE(info_->validators()->framebuffer_parameter.IsValid( | 622 EXPECT_TRUE(info_->validators()->framebuffer_parameter.IsValid( | 
| 619 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 623 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 
| (...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 915 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_float"))); | 919 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_float"))); | 
| 916 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_half_float"))); | 920 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_half_float"))); | 
| 917 EXPECT_THAT(info_->extensions(), | 921 EXPECT_THAT(info_->extensions(), | 
| 918 Not(HasSubstr("GL_OES_texture_float_linear"))); | 922 Not(HasSubstr("GL_OES_texture_float_linear"))); | 
| 919 EXPECT_THAT(info_->extensions(), | 923 EXPECT_THAT(info_->extensions(), | 
| 920 Not(HasSubstr("GL_OES_texture_half_float_linear"))); | 924 Not(HasSubstr("GL_OES_texture_half_float_linear"))); | 
| 921 } | 925 } | 
| 922 | 926 | 
| 923 TEST_P(FeatureInfoTest, Initialize_sRGBGLES3) { | 927 TEST_P(FeatureInfoTest, Initialize_sRGBGLES3) { | 
| 924 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 3.0"); | 928 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 3.0"); | 
| 925 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_sRGB"))); | 929 EXPECT_THAT(info_->extensions() + " ", Not(HasSubstr("GL_EXT_sRGB "))); | 
| 926 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 930 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 
| 927 GL_SRGB_EXT)); | 931 GL_SRGB_EXT)); | 
| 928 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 932 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 
| 929 GL_SRGB_ALPHA_EXT)); | 933 GL_SRGB_ALPHA_EXT)); | 
| 930 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 934 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 
| 931 GL_SRGB_EXT)); | 935 GL_SRGB_EXT)); | 
| 932 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 936 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 
| 933 GL_SRGB_ALPHA_EXT)); | 937 GL_SRGB_ALPHA_EXT)); | 
| 934 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( | 938 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( | 
| 935 GL_SRGB8_ALPHA8_EXT)); | 939 GL_SRGB8_ALPHA8_EXT)); | 
| (...skipping 723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1659 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); | 1663 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); | 
| 1660 } | 1664 } | 
| 1661 | 1665 | 
| 1662 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) { | 1666 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) { | 
| 1663 SetupInitExpectations("GL_APPLE_ycbcr_422"); | 1667 SetupInitExpectations("GL_APPLE_ycbcr_422"); | 
| 1664 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422); | 1668 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422); | 
| 1665 } | 1669 } | 
| 1666 | 1670 | 
| 1667 } // namespace gles2 | 1671 } // namespace gles2 | 
| 1668 } // namespace gpu | 1672 } // namespace gpu | 
| OLD | NEW |