| 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 EXPECT_THAT(info_->extensions() + " ", Not(HasSubstr("GL_EXT_sRGB "))); |
| 263 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 266 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); |
| 264 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 267 EXPECT_FALSE(info_->validators()->texture_format.IsValid( |
| 265 GL_SRGB_ALPHA_EXT)); | 268 GL_SRGB_ALPHA_EXT)); |
| 266 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 269 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
| 267 GL_SRGB_EXT)); | 270 GL_SRGB_EXT)); |
| 268 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 271 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
| 269 GL_SRGB_ALPHA_EXT)); | 272 GL_SRGB_ALPHA_EXT)); |
| 270 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( | 273 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( |
| 271 GL_SRGB8_ALPHA8_EXT)); | 274 GL_SRGB8_ALPHA8_EXT)); |
| 272 EXPECT_FALSE(info_->validators()->framebuffer_parameter.IsValid( | 275 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"); | 589 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 2.0"); |
| 587 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_read_format_bgra"))); | 590 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_read_format_bgra"))); |
| 588 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra); | 591 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra); |
| 589 EXPECT_FALSE(info_->validators()->read_pixel_format.IsValid(GL_BGRA_EXT)); | 592 EXPECT_FALSE(info_->validators()->read_pixel_format.IsValid(GL_BGRA_EXT)); |
| 590 } | 593 } |
| 591 | 594 |
| 592 TEST_P(FeatureInfoTest, InitializeEXT_sRGB) { | 595 TEST_P(FeatureInfoTest, InitializeEXT_sRGB) { |
| 593 SetupInitExpectations("GL_EXT_sRGB GL_OES_rgb8_rgba8"); | 596 SetupInitExpectations("GL_EXT_sRGB GL_OES_rgb8_rgba8"); |
| 594 | 597 |
| 595 if (GetContextType() == CONTEXT_TYPE_OPENGLES3) { | 598 if (GetContextType() == CONTEXT_TYPE_OPENGLES3) { |
| 596 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_sRGB"))); | 599 EXPECT_THAT(info_->extensions() + " ", Not(HasSubstr("GL_EXT_sRGB "))); |
| 597 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 600 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); |
| 598 EXPECT_FALSE( | 601 EXPECT_FALSE( |
| 599 info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 602 info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); |
| 600 EXPECT_FALSE( | 603 EXPECT_FALSE( |
| 601 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); | 604 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); |
| 602 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 605 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
| 603 GL_SRGB_ALPHA_EXT)); | 606 GL_SRGB_ALPHA_EXT)); |
| 604 EXPECT_FALSE( | 607 EXPECT_FALSE( |
| 605 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); | 608 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); |
| 606 EXPECT_FALSE(info_->validators()->framebuffer_parameter.IsValid( | 609 EXPECT_FALSE(info_->validators()->framebuffer_parameter.IsValid( |
| 607 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 610 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); |
| 608 } else { | 611 } else { |
| 609 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_sRGB")); | 612 EXPECT_THAT(info_->extensions() + " ", HasSubstr("GL_EXT_sRGB ")); |
| 610 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); | 613 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_EXT)); |
| 611 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); | 614 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_SRGB_ALPHA_EXT)); |
| 612 EXPECT_TRUE( | 615 EXPECT_TRUE( |
| 613 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); | 616 info_->validators()->texture_internal_format.IsValid(GL_SRGB_EXT)); |
| 614 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( | 617 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( |
| 615 GL_SRGB_ALPHA_EXT)); | 618 GL_SRGB_ALPHA_EXT)); |
| 616 EXPECT_TRUE( | 619 EXPECT_TRUE( |
| 617 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); | 620 info_->validators()->render_buffer_format.IsValid(GL_SRGB8_ALPHA8_EXT)); |
| 618 EXPECT_TRUE(info_->validators()->framebuffer_parameter.IsValid( | 621 EXPECT_TRUE(info_->validators()->framebuffer_parameter.IsValid( |
| 619 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); | 622 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"))); | 918 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_float"))); |
| 916 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_half_float"))); | 919 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_half_float"))); |
| 917 EXPECT_THAT(info_->extensions(), | 920 EXPECT_THAT(info_->extensions(), |
| 918 Not(HasSubstr("GL_OES_texture_float_linear"))); | 921 Not(HasSubstr("GL_OES_texture_float_linear"))); |
| 919 EXPECT_THAT(info_->extensions(), | 922 EXPECT_THAT(info_->extensions(), |
| 920 Not(HasSubstr("GL_OES_texture_half_float_linear"))); | 923 Not(HasSubstr("GL_OES_texture_half_float_linear"))); |
| 921 } | 924 } |
| 922 | 925 |
| 923 TEST_P(FeatureInfoTest, Initialize_sRGBGLES3) { | 926 TEST_P(FeatureInfoTest, Initialize_sRGBGLES3) { |
| 924 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 3.0"); | 927 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 3.0"); |
| 925 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_sRGB"))); | 928 EXPECT_THAT(info_->extensions() + " ", Not(HasSubstr("GL_EXT_sRGB "))); |
| 926 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 929 EXPECT_FALSE(info_->validators()->texture_format.IsValid( |
| 927 GL_SRGB_EXT)); | 930 GL_SRGB_EXT)); |
| 928 EXPECT_FALSE(info_->validators()->texture_format.IsValid( | 931 EXPECT_FALSE(info_->validators()->texture_format.IsValid( |
| 929 GL_SRGB_ALPHA_EXT)); | 932 GL_SRGB_ALPHA_EXT)); |
| 930 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 933 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
| 931 GL_SRGB_EXT)); | 934 GL_SRGB_EXT)); |
| 932 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 935 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
| 933 GL_SRGB_ALPHA_EXT)); | 936 GL_SRGB_ALPHA_EXT)); |
| 934 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( | 937 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( |
| 935 GL_SRGB8_ALPHA8_EXT)); | 938 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)); | 1662 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); |
| 1660 } | 1663 } |
| 1661 | 1664 |
| 1662 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) { | 1665 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) { |
| 1663 SetupInitExpectations("GL_APPLE_ycbcr_422"); | 1666 SetupInitExpectations("GL_APPLE_ycbcr_422"); |
| 1664 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422); | 1667 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422); |
| 1665 } | 1668 } |
| 1666 | 1669 |
| 1667 } // namespace gles2 | 1670 } // namespace gles2 |
| 1668 } // namespace gpu | 1671 } // namespace gpu |
| OLD | NEW |