| 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 |