| 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 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); | 203 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); |
| 204 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean); | 204 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean); |
| 205 EXPECT_FALSE(info_->feature_flags( | 205 EXPECT_FALSE(info_->feature_flags( |
| 206 ).use_arb_occlusion_query2_for_occlusion_query_boolean); | 206 ).use_arb_occlusion_query2_for_occlusion_query_boolean); |
| 207 EXPECT_FALSE(info_->feature_flags( | 207 EXPECT_FALSE(info_->feature_flags( |
| 208 ).use_arb_occlusion_query_for_occlusion_query_boolean); | 208 ).use_arb_occlusion_query_for_occlusion_query_boolean); |
| 209 EXPECT_FALSE(info_->feature_flags().native_vertex_array_object); | 209 EXPECT_FALSE(info_->feature_flags().native_vertex_array_object); |
| 210 EXPECT_FALSE(info_->feature_flags().map_buffer_range); | 210 EXPECT_FALSE(info_->feature_flags().map_buffer_range); |
| 211 EXPECT_FALSE(info_->feature_flags().use_async_readpixels); | 211 EXPECT_FALSE(info_->feature_flags().use_async_readpixels); |
| 212 EXPECT_FALSE(info_->feature_flags().ext_draw_buffers); | 212 EXPECT_FALSE(info_->feature_flags().ext_draw_buffers); |
| 213 EXPECT_FALSE(info_->feature_flags().nv_draw_buffers); |
| 213 EXPECT_FALSE(info_->feature_flags().ext_discard_framebuffer); | 214 EXPECT_FALSE(info_->feature_flags().ext_discard_framebuffer); |
| 214 EXPECT_FALSE(info_->feature_flags().angle_depth_texture); | 215 EXPECT_FALSE(info_->feature_flags().angle_depth_texture); |
| 215 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra); | 216 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra); |
| 216 | 217 |
| 217 #define GPU_OP(type, name) EXPECT_FALSE(info_->workarounds().name); | 218 #define GPU_OP(type, name) EXPECT_FALSE(info_->workarounds().name); |
| 218 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) | 219 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) |
| 219 #undef GPU_OP | 220 #undef GPU_OP |
| 220 EXPECT_EQ(0, info_->workarounds().max_texture_size); | 221 EXPECT_EQ(0, info_->workarounds().max_texture_size); |
| 221 EXPECT_FALSE(info_->workarounds().gl_clear_broken); | 222 EXPECT_FALSE(info_->workarounds().gl_clear_broken); |
| 222 } | 223 } |
| (...skipping 1235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1458 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_STENCIL)); | 1459 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_STENCIL)); |
| 1459 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_DEPTH_STENCIL)); | 1460 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_DEPTH_STENCIL)); |
| 1460 EXPECT_TRUE(info_->feature_flags().npot_ok); | 1461 EXPECT_TRUE(info_->feature_flags().npot_ok); |
| 1461 EXPECT_TRUE(info_->feature_flags().native_vertex_array_object); | 1462 EXPECT_TRUE(info_->feature_flags().native_vertex_array_object); |
| 1462 EXPECT_TRUE(info_->feature_flags().enable_samplers); | 1463 EXPECT_TRUE(info_->feature_flags().enable_samplers); |
| 1463 EXPECT_TRUE(info_->feature_flags().map_buffer_range); | 1464 EXPECT_TRUE(info_->feature_flags().map_buffer_range); |
| 1464 EXPECT_TRUE(info_->feature_flags().ext_discard_framebuffer); | 1465 EXPECT_TRUE(info_->feature_flags().ext_discard_framebuffer); |
| 1465 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_discard_framebuffer")); | 1466 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_discard_framebuffer")); |
| 1466 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); | 1467 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); |
| 1467 EXPECT_TRUE(gl::GLFence::IsSupported()); | 1468 EXPECT_TRUE(gl::GLFence::IsSupported()); |
| 1468 EXPECT_EQ(GetContextType() == CONTEXT_TYPE_OPENGLES2, | |
| 1469 info_->feature_flags().ext_draw_buffers); | |
| 1470 } | 1469 } |
| 1471 | 1470 |
| 1472 TEST_P(FeatureInfoTest, InitializeWithES3AndDepthTexture) { | 1471 TEST_P(FeatureInfoTest, InitializeWithES3AndDepthTexture) { |
| 1473 SetupInitExpectationsWithGLVersion( | 1472 SetupInitExpectationsWithGLVersion( |
| 1474 "GL_ANGLE_depth_texture", "", "OpenGL ES 3.0"); | 1473 "GL_ANGLE_depth_texture", "", "OpenGL ES 3.0"); |
| 1475 EXPECT_THAT(info_->extensions(), HasSubstr("GL_GOOGLE_depth_texture")); | 1474 EXPECT_THAT(info_->extensions(), HasSubstr("GL_GOOGLE_depth_texture")); |
| 1476 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_depth_texture")); | 1475 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_depth_texture")); |
| 1477 EXPECT_TRUE( | 1476 EXPECT_TRUE( |
| 1478 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_COMPONENT)); | 1477 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_COMPONENT)); |
| 1479 EXPECT_TRUE( | 1478 EXPECT_TRUE( |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1521 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); | 1520 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); |
| 1522 EXPECT_TRUE(gl::GLFence::IsSupported()); | 1521 EXPECT_TRUE(gl::GLFence::IsSupported()); |
| 1523 } | 1522 } |
| 1524 | 1523 |
| 1525 TEST_P(FeatureInfoTest, InitializeWithNVFence) { | 1524 TEST_P(FeatureInfoTest, InitializeWithNVFence) { |
| 1526 SetupInitExpectations("GL_NV_fence"); | 1525 SetupInitExpectations("GL_NV_fence"); |
| 1527 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); | 1526 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); |
| 1528 EXPECT_TRUE(gl::GLFence::IsSupported()); | 1527 EXPECT_TRUE(gl::GLFence::IsSupported()); |
| 1529 } | 1528 } |
| 1530 | 1529 |
| 1530 TEST_P(FeatureInfoTest, InitializeWithNVDrawBuffers) { |
| 1531 SetupInitExpectationsWithGLVersion("GL_NV_draw_buffers", "", "OpenGL ES 3.0"); |
| 1532 EXPECT_TRUE(info_->feature_flags().nv_draw_buffers); |
| 1533 EXPECT_TRUE(info_->feature_flags().ext_draw_buffers); |
| 1534 } |
| 1535 |
| 1536 TEST_P(FeatureInfoTest, InitializeWithPreferredEXTDrawBuffers) { |
| 1537 SetupInitExpectationsWithGLVersion( |
| 1538 "GL_NV_draw_buffers GL_EXT_draw_buffers", "", "OpenGL ES 3.0"); |
| 1539 EXPECT_FALSE(info_->feature_flags().nv_draw_buffers); |
| 1540 EXPECT_TRUE(info_->feature_flags().ext_draw_buffers); |
| 1541 } |
| 1542 |
| 1531 TEST_P(FeatureInfoTest, BlendEquationAdvancedDisabled) { | 1543 TEST_P(FeatureInfoTest, BlendEquationAdvancedDisabled) { |
| 1532 base::CommandLine command_line(0, NULL); | 1544 base::CommandLine command_line(0, NULL); |
| 1533 command_line.AppendSwitchASCII( | 1545 command_line.AppendSwitchASCII( |
| 1534 switches::kGpuDriverBugWorkarounds, | 1546 switches::kGpuDriverBugWorkarounds, |
| 1535 base::IntToString(gpu::DISABLE_BLEND_EQUATION_ADVANCED)); | 1547 base::IntToString(gpu::DISABLE_BLEND_EQUATION_ADVANCED)); |
| 1536 SetupInitExpectationsWithCommandLine( | 1548 SetupInitExpectationsWithCommandLine( |
| 1537 "GL_KHR_blend_equation_advanced_coherent GL_KHR_blend_equation_advanced", | 1549 "GL_KHR_blend_equation_advanced_coherent GL_KHR_blend_equation_advanced", |
| 1538 command_line); | 1550 command_line); |
| 1539 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced); | 1551 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced); |
| 1540 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced_coherent); | 1552 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced_coherent); |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1650 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); | 1662 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); |
| 1651 } | 1663 } |
| 1652 | 1664 |
| 1653 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) { | 1665 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) { |
| 1654 SetupInitExpectations("GL_APPLE_ycbcr_422"); | 1666 SetupInitExpectations("GL_APPLE_ycbcr_422"); |
| 1655 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422); | 1667 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422); |
| 1656 } | 1668 } |
| 1657 | 1669 |
| 1658 } // namespace gles2 | 1670 } // namespace gles2 |
| 1659 } // namespace gpu | 1671 } // namespace gpu |
| OLD | NEW |