Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1762)

Side by Side Diff: gpu/command_buffer/service/feature_info_unittest.cc

Issue 2678483003: Fix EXT_draw_buffers detection on some GL ES 3 contexts (Closed)
Patch Set: remove nv_draw_buffers entirely Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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);
214 EXPECT_FALSE(info_->feature_flags().ext_discard_framebuffer); 213 EXPECT_FALSE(info_->feature_flags().ext_discard_framebuffer);
215 EXPECT_FALSE(info_->feature_flags().angle_depth_texture); 214 EXPECT_FALSE(info_->feature_flags().angle_depth_texture);
216 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra); 215 EXPECT_FALSE(info_->feature_flags().ext_read_format_bgra);
217 216
218 #define GPU_OP(type, name) EXPECT_FALSE(info_->workarounds().name); 217 #define GPU_OP(type, name) EXPECT_FALSE(info_->workarounds().name);
219 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) 218 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)
220 #undef GPU_OP 219 #undef GPU_OP
221 EXPECT_EQ(0, info_->workarounds().max_texture_size); 220 EXPECT_EQ(0, info_->workarounds().max_texture_size);
222 EXPECT_FALSE(info_->workarounds().gl_clear_broken); 221 EXPECT_FALSE(info_->workarounds().gl_clear_broken);
223 } 222 }
(...skipping 1235 matching lines...) Expand 10 before | Expand all | Expand 10 after
1459 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_STENCIL)); 1458 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_STENCIL));
1460 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_DEPTH_STENCIL)); 1459 EXPECT_FALSE(info_->validators()->texture_format.IsValid(GL_DEPTH_STENCIL));
1461 EXPECT_TRUE(info_->feature_flags().npot_ok); 1460 EXPECT_TRUE(info_->feature_flags().npot_ok);
1462 EXPECT_TRUE(info_->feature_flags().native_vertex_array_object); 1461 EXPECT_TRUE(info_->feature_flags().native_vertex_array_object);
1463 EXPECT_TRUE(info_->feature_flags().enable_samplers); 1462 EXPECT_TRUE(info_->feature_flags().enable_samplers);
1464 EXPECT_TRUE(info_->feature_flags().map_buffer_range); 1463 EXPECT_TRUE(info_->feature_flags().map_buffer_range);
1465 EXPECT_TRUE(info_->feature_flags().ext_discard_framebuffer); 1464 EXPECT_TRUE(info_->feature_flags().ext_discard_framebuffer);
1466 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_discard_framebuffer")); 1465 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_discard_framebuffer"));
1467 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); 1466 EXPECT_TRUE(info_->feature_flags().chromium_sync_query);
1468 EXPECT_TRUE(gl::GLFence::IsSupported()); 1467 EXPECT_TRUE(gl::GLFence::IsSupported());
1468 EXPECT_EQ(GetContextType() == CONTEXT_TYPE_OPENGLES2,
1469 info_->feature_flags().ext_draw_buffers);
1469 } 1470 }
1470 1471
1471 TEST_P(FeatureInfoTest, InitializeWithES3AndDepthTexture) { 1472 TEST_P(FeatureInfoTest, InitializeWithES3AndDepthTexture) {
1472 SetupInitExpectationsWithGLVersion( 1473 SetupInitExpectationsWithGLVersion(
1473 "GL_ANGLE_depth_texture", "", "OpenGL ES 3.0"); 1474 "GL_ANGLE_depth_texture", "", "OpenGL ES 3.0");
1474 EXPECT_THAT(info_->extensions(), HasSubstr("GL_GOOGLE_depth_texture")); 1475 EXPECT_THAT(info_->extensions(), HasSubstr("GL_GOOGLE_depth_texture"));
1475 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_depth_texture")); 1476 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_depth_texture"));
1476 EXPECT_TRUE( 1477 EXPECT_TRUE(
1477 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_COMPONENT)); 1478 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_COMPONENT));
1478 EXPECT_TRUE( 1479 EXPECT_TRUE(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1520 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); 1521 EXPECT_TRUE(info_->feature_flags().chromium_sync_query);
1521 EXPECT_TRUE(gl::GLFence::IsSupported()); 1522 EXPECT_TRUE(gl::GLFence::IsSupported());
1522 } 1523 }
1523 1524
1524 TEST_P(FeatureInfoTest, InitializeWithNVFence) { 1525 TEST_P(FeatureInfoTest, InitializeWithNVFence) {
1525 SetupInitExpectations("GL_NV_fence"); 1526 SetupInitExpectations("GL_NV_fence");
1526 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); 1527 EXPECT_TRUE(info_->feature_flags().chromium_sync_query);
1527 EXPECT_TRUE(gl::GLFence::IsSupported()); 1528 EXPECT_TRUE(gl::GLFence::IsSupported());
1528 } 1529 }
1529 1530
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
1543 TEST_P(FeatureInfoTest, BlendEquationAdvancedDisabled) { 1531 TEST_P(FeatureInfoTest, BlendEquationAdvancedDisabled) {
1544 base::CommandLine command_line(0, NULL); 1532 base::CommandLine command_line(0, NULL);
1545 command_line.AppendSwitchASCII( 1533 command_line.AppendSwitchASCII(
1546 switches::kGpuDriverBugWorkarounds, 1534 switches::kGpuDriverBugWorkarounds,
1547 base::IntToString(gpu::DISABLE_BLEND_EQUATION_ADVANCED)); 1535 base::IntToString(gpu::DISABLE_BLEND_EQUATION_ADVANCED));
1548 SetupInitExpectationsWithCommandLine( 1536 SetupInitExpectationsWithCommandLine(
1549 "GL_KHR_blend_equation_advanced_coherent GL_KHR_blend_equation_advanced", 1537 "GL_KHR_blend_equation_advanced_coherent GL_KHR_blend_equation_advanced",
1550 command_line); 1538 command_line);
1551 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced); 1539 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced);
1552 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced_coherent); 1540 EXPECT_FALSE(info_->feature_flags().blend_equation_advanced_coherent);
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1662 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); 1650 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT));
1663 } 1651 }
1664 1652
1665 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) { 1653 TEST_P(FeatureInfoTest, InitializeCHROMIUM_ycbcr_422_imageTrue) {
1666 SetupInitExpectations("GL_APPLE_ycbcr_422"); 1654 SetupInitExpectations("GL_APPLE_ycbcr_422");
1667 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422); 1655 EXPECT_TRUE(info_->feature_flags().chromium_image_ycbcr_422);
1668 } 1656 }
1669 1657
1670 } // namespace gles2 1658 } // namespace gles2
1671 } // namespace gpu 1659 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698