| 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 "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "gpu/command_buffer/service/gpu_switches.h" | 10 #include "gpu/command_buffer/service/gpu_switches.h" |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 GLenum format; | 70 GLenum format; |
| 71 const GLenum* types; | 71 const GLenum* types; |
| 72 size_t count; | 72 size_t count; |
| 73 }; | 73 }; |
| 74 | 74 |
| 75 } // anonymous namespace. | 75 } // anonymous namespace. |
| 76 | 76 |
| 77 TEST_F(FeatureInfoTest, Basic) { | 77 TEST_F(FeatureInfoTest, Basic) { |
| 78 // Test it starts off uninitialized. | 78 // Test it starts off uninitialized. |
| 79 EXPECT_FALSE(info_->feature_flags().chromium_framebuffer_multisample); | 79 EXPECT_FALSE(info_->feature_flags().chromium_framebuffer_multisample); |
| 80 EXPECT_FALSE(info_->feature_flags().multisampled_render_to_texture); |
| 81 EXPECT_FALSE(info_->feature_flags( |
| 82 ).use_img_for_multisampled_render_to_texture); |
| 80 EXPECT_FALSE(info_->feature_flags().oes_standard_derivatives); | 83 EXPECT_FALSE(info_->feature_flags().oes_standard_derivatives); |
| 81 EXPECT_FALSE(info_->feature_flags().npot_ok); | 84 EXPECT_FALSE(info_->feature_flags().npot_ok); |
| 82 EXPECT_FALSE(info_->feature_flags().enable_texture_float_linear); | 85 EXPECT_FALSE(info_->feature_flags().enable_texture_float_linear); |
| 83 EXPECT_FALSE(info_->feature_flags().enable_texture_half_float_linear); | 86 EXPECT_FALSE(info_->feature_flags().enable_texture_half_float_linear); |
| 84 EXPECT_FALSE(info_->feature_flags().oes_egl_image_external); | 87 EXPECT_FALSE(info_->feature_flags().oes_egl_image_external); |
| 85 EXPECT_FALSE(info_->feature_flags().chromium_stream_texture); | 88 EXPECT_FALSE(info_->feature_flags().chromium_stream_texture); |
| 86 EXPECT_FALSE(info_->feature_flags().angle_translated_shader_source); | 89 EXPECT_FALSE(info_->feature_flags().angle_translated_shader_source); |
| 87 EXPECT_FALSE(info_->feature_flags().angle_pack_reverse_row_order); | 90 EXPECT_FALSE(info_->feature_flags().angle_pack_reverse_row_order); |
| 88 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle); | 91 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle); |
| 89 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); | 92 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 EXPECT_TRUE(info_->validators()->frame_buffer_target.IsValid( | 523 EXPECT_TRUE(info_->validators()->frame_buffer_target.IsValid( |
| 521 GL_DRAW_FRAMEBUFFER_EXT)); | 524 GL_DRAW_FRAMEBUFFER_EXT)); |
| 522 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( | 525 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( |
| 523 GL_READ_FRAMEBUFFER_BINDING_EXT)); | 526 GL_READ_FRAMEBUFFER_BINDING_EXT)); |
| 524 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( | 527 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( |
| 525 GL_MAX_SAMPLES_EXT)); | 528 GL_MAX_SAMPLES_EXT)); |
| 526 EXPECT_TRUE(info_->validators()->render_buffer_parameter.IsValid( | 529 EXPECT_TRUE(info_->validators()->render_buffer_parameter.IsValid( |
| 527 GL_RENDERBUFFER_SAMPLES_EXT)); | 530 GL_RENDERBUFFER_SAMPLES_EXT)); |
| 528 } | 531 } |
| 529 | 532 |
| 533 TEST_F(FeatureInfoTest, InitializeEXT_multisampled_render_to_texture) { |
| 534 SetupInitExpectations("GL_EXT_multisampled_render_to_texture"); |
| 535 info_->Initialize(NULL); |
| 536 EXPECT_TRUE(info_->feature_flags( |
| 537 ).multisampled_render_to_texture); |
| 538 EXPECT_FALSE(info_->feature_flags( |
| 539 ).use_img_for_multisampled_render_to_texture); |
| 540 EXPECT_THAT(info_->extensions(), |
| 541 HasSubstr("GL_EXT_multisampled_render_to_texture")); |
| 542 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( |
| 543 GL_MAX_SAMPLES_EXT)); |
| 544 EXPECT_TRUE(info_->validators()->render_buffer_parameter.IsValid( |
| 545 GL_RENDERBUFFER_SAMPLES_EXT)); |
| 546 EXPECT_TRUE(info_->validators()->frame_buffer_parameter.IsValid( |
| 547 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT)); |
| 548 } |
| 549 |
| 550 TEST_F(FeatureInfoTest, InitializeIMG_multisampled_render_to_texture) { |
| 551 SetupInitExpectations("GL_IMG_multisampled_render_to_texture"); |
| 552 info_->Initialize(NULL); |
| 553 EXPECT_TRUE(info_->feature_flags( |
| 554 ).use_img_for_multisampled_render_to_texture); |
| 555 EXPECT_TRUE(info_->feature_flags( |
| 556 ).use_img_for_multisampled_render_to_texture); |
| 557 EXPECT_THAT(info_->extensions(), |
| 558 HasSubstr("GL_EXT_multisampled_render_to_texture")); |
| 559 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( |
| 560 GL_MAX_SAMPLES_EXT)); |
| 561 EXPECT_TRUE(info_->validators()->render_buffer_parameter.IsValid( |
| 562 GL_RENDERBUFFER_SAMPLES_EXT)); |
| 563 EXPECT_TRUE(info_->validators()->frame_buffer_parameter.IsValid( |
| 564 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT)); |
| 565 } |
| 566 |
| 530 TEST_F(FeatureInfoTest, InitializeEXT_texture_filter_anisotropic) { | 567 TEST_F(FeatureInfoTest, InitializeEXT_texture_filter_anisotropic) { |
| 531 SetupInitExpectations("GL_EXT_texture_filter_anisotropic"); | 568 SetupInitExpectations("GL_EXT_texture_filter_anisotropic"); |
| 532 info_->Initialize(NULL); | 569 info_->Initialize(NULL); |
| 533 EXPECT_THAT(info_->extensions(), | 570 EXPECT_THAT(info_->extensions(), |
| 534 HasSubstr("GL_EXT_texture_filter_anisotropic")); | 571 HasSubstr("GL_EXT_texture_filter_anisotropic")); |
| 535 EXPECT_TRUE(info_->validators()->texture_parameter.IsValid( | 572 EXPECT_TRUE(info_->validators()->texture_parameter.IsValid( |
| 536 GL_TEXTURE_MAX_ANISOTROPY_EXT)); | 573 GL_TEXTURE_MAX_ANISOTROPY_EXT)); |
| 537 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( | 574 EXPECT_TRUE(info_->validators()->g_l_state.IsValid( |
| 538 GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT)); | 575 GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT)); |
| 539 } | 576 } |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 862 EXPECT_EQ(0, info_->workarounds().max_cube_map_texture_size); | 899 EXPECT_EQ(0, info_->workarounds().max_cube_map_texture_size); |
| 863 EXPECT_EQ(0, info_->workarounds().max_texture_size); | 900 EXPECT_EQ(0, info_->workarounds().max_texture_size); |
| 864 info_->AddFeatures(command_line); | 901 info_->AddFeatures(command_line); |
| 865 EXPECT_TRUE(info_->workarounds().exit_on_context_lost); | 902 EXPECT_TRUE(info_->workarounds().exit_on_context_lost); |
| 866 EXPECT_EQ(1024, info_->workarounds().max_cube_map_texture_size); | 903 EXPECT_EQ(1024, info_->workarounds().max_cube_map_texture_size); |
| 867 EXPECT_EQ(4096, info_->workarounds().max_texture_size); | 904 EXPECT_EQ(4096, info_->workarounds().max_texture_size); |
| 868 } | 905 } |
| 869 | 906 |
| 870 } // namespace gles2 | 907 } // namespace gles2 |
| 871 } // namespace gpu | 908 } // namespace gpu |
| OLD | NEW |