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

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

Issue 72173002: gpu: Support ES3 msaa and depth/stencil formats (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 1 month 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 | Annotate | Revision Log
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 "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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 const GLenum* types; 88 const GLenum* types;
89 size_t count; 89 size_t count;
90 }; 90 };
91 91
92 } // anonymous namespace. 92 } // anonymous namespace.
93 93
94 TEST_F(FeatureInfoTest, Basic) { 94 TEST_F(FeatureInfoTest, Basic) {
95 SetupWithoutInit(); 95 SetupWithoutInit();
96 // Test it starts off uninitialized. 96 // Test it starts off uninitialized.
97 EXPECT_FALSE(info_->feature_flags().chromium_framebuffer_multisample); 97 EXPECT_FALSE(info_->feature_flags().chromium_framebuffer_multisample);
98 EXPECT_FALSE(info_->feature_flags().core_framebuffer_multisample);
98 EXPECT_FALSE(info_->feature_flags().multisampled_render_to_texture); 99 EXPECT_FALSE(info_->feature_flags().multisampled_render_to_texture);
99 EXPECT_FALSE(info_->feature_flags( 100 EXPECT_FALSE(info_->feature_flags(
100 ).use_img_for_multisampled_render_to_texture); 101 ).use_img_for_multisampled_render_to_texture);
101 EXPECT_FALSE(info_->feature_flags().oes_standard_derivatives); 102 EXPECT_FALSE(info_->feature_flags().oes_standard_derivatives);
102 EXPECT_FALSE(info_->feature_flags().npot_ok); 103 EXPECT_FALSE(info_->feature_flags().npot_ok);
103 EXPECT_FALSE(info_->feature_flags().enable_texture_float_linear); 104 EXPECT_FALSE(info_->feature_flags().enable_texture_float_linear);
104 EXPECT_FALSE(info_->feature_flags().enable_texture_half_float_linear); 105 EXPECT_FALSE(info_->feature_flags().enable_texture_half_float_linear);
105 EXPECT_FALSE(info_->feature_flags().oes_egl_image_external); 106 EXPECT_FALSE(info_->feature_flags().oes_egl_image_external);
107 EXPECT_FALSE(info_->feature_flags().oes_depth24);
108 EXPECT_FALSE(info_->feature_flags().packed_depth24_stencil8);
106 EXPECT_FALSE(info_->feature_flags().chromium_stream_texture); 109 EXPECT_FALSE(info_->feature_flags().chromium_stream_texture);
107 EXPECT_FALSE(info_->feature_flags().angle_translated_shader_source); 110 EXPECT_FALSE(info_->feature_flags().angle_translated_shader_source);
108 EXPECT_FALSE(info_->feature_flags().angle_pack_reverse_row_order); 111 EXPECT_FALSE(info_->feature_flags().angle_pack_reverse_row_order);
109 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle); 112 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle);
110 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); 113 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays);
111 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean); 114 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean);
112 EXPECT_FALSE(info_->feature_flags( 115 EXPECT_FALSE(info_->feature_flags(
113 ).use_arb_occlusion_query2_for_occlusion_query_boolean); 116 ).use_arb_occlusion_query2_for_occlusion_query_boolean);
114 EXPECT_FALSE(info_->feature_flags( 117 EXPECT_FALSE(info_->feature_flags(
115 ).use_arb_occlusion_query_for_occlusion_query_boolean); 118 ).use_arb_occlusion_query_for_occlusion_query_boolean);
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_COMPONENT).IsValid( 702 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_COMPONENT).IsValid(
700 GL_UNSIGNED_SHORT)); 703 GL_UNSIGNED_SHORT));
701 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_COMPONENT).IsValid( 704 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_COMPONENT).IsValid(
702 GL_UNSIGNED_INT)); 705 GL_UNSIGNED_INT));
703 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_STENCIL).IsValid( 706 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_STENCIL).IsValid(
704 GL_UNSIGNED_INT_24_8)); 707 GL_UNSIGNED_INT_24_8));
705 } 708 }
706 709
707 TEST_F(FeatureInfoTest, InitializeOES_depth24) { 710 TEST_F(FeatureInfoTest, InitializeOES_depth24) {
708 SetupInitExpectations("GL_OES_depth24"); 711 SetupInitExpectations("GL_OES_depth24");
712 EXPECT_TRUE(info_->feature_flags().oes_depth24);
709 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_depth24")); 713 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_depth24"));
710 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid( 714 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(
711 GL_DEPTH_COMPONENT24)); 715 GL_DEPTH_COMPONENT24));
712 } 716 }
713 717
714 TEST_F(FeatureInfoTest, InitializeOES_standard_derivatives) { 718 TEST_F(FeatureInfoTest, InitializeOES_standard_derivatives) {
715 SetupInitExpectations("GL_OES_standard_derivatives"); 719 SetupInitExpectations("GL_OES_standard_derivatives");
716 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_standard_derivatives")); 720 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_standard_derivatives"));
717 EXPECT_TRUE(info_->feature_flags().oes_standard_derivatives); 721 EXPECT_TRUE(info_->feature_flags().oes_standard_derivatives);
718 EXPECT_TRUE(info_->validators()->hint_target.IsValid( 722 EXPECT_TRUE(info_->validators()->hint_target.IsValid(
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 SetupInitExpectationsWithGLVersion("GL_ARB_sampler_objects", "OpenGL 3.0"); 865 SetupInitExpectationsWithGLVersion("GL_ARB_sampler_objects", "OpenGL 3.0");
862 EXPECT_TRUE(info_->feature_flags().enable_samplers); 866 EXPECT_TRUE(info_->feature_flags().enable_samplers);
863 } 867 }
864 868
865 TEST_F(FeatureInfoTest, InitializeWithES3) { 869 TEST_F(FeatureInfoTest, InitializeWithES3) {
866 SetupInitExpectationsWithGLVersion("", "OpenGL ES 3.0"); 870 SetupInitExpectationsWithGLVersion("", "OpenGL ES 3.0");
867 EXPECT_TRUE(info_->feature_flags().enable_samplers); 871 EXPECT_TRUE(info_->feature_flags().enable_samplers);
868 EXPECT_TRUE(info_->feature_flags().map_buffer_range); 872 EXPECT_TRUE(info_->feature_flags().map_buffer_range);
869 EXPECT_TRUE(info_->feature_flags().ext_discard_framebuffer); 873 EXPECT_TRUE(info_->feature_flags().ext_discard_framebuffer);
870 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_discard_framebuffer")); 874 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_discard_framebuffer"));
875 EXPECT_TRUE(info_->feature_flags().chromium_framebuffer_multisample);
876 EXPECT_TRUE(info_->feature_flags().core_framebuffer_multisample);
877 EXPECT_THAT(info_->extensions(),
878 HasSubstr("GL_CHROMIUM_framebuffer_multisample"));
871 EXPECT_FALSE(info_->feature_flags().use_async_readpixels); 879 EXPECT_FALSE(info_->feature_flags().use_async_readpixels);
880 EXPECT_TRUE(info_->feature_flags().oes_depth24);
881 EXPECT_THAT(info_->extensions(), HasSubstr("GL_GOOGLE_depth_texture"));
882 EXPECT_THAT(info_->extensions(), HasSubstr("GL_CHROMIUM_depth_texture"));
883 EXPECT_TRUE(info_->validators()->pixel_type.IsValid(GL_UNSIGNED_INT_24_8));
884 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_COMPONENT)
885 .IsValid(GL_UNSIGNED_SHORT));
886 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_COMPONENT)
887 .IsValid(GL_UNSIGNED_INT));
888 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_DEPTH_STENCIL)
889 .IsValid(GL_UNSIGNED_INT_24_8));
890 EXPECT_TRUE(info_->feature_flags().packed_depth24_stencil8);
891 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_depth24"));
892 EXPECT_TRUE(
893 info_->validators()->render_buffer_format.IsValid(GL_DEPTH_COMPONENT24));
894 EXPECT_TRUE(
895 info_->validators()->render_buffer_format.IsValid(GL_DEPTH24_STENCIL8));
896 EXPECT_TRUE(
897 info_->validators()->texture_internal_format.IsValid(GL_DEPTH_STENCIL));
898 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_DEPTH_STENCIL));
872 } 899 }
873 900
874 TEST_F(FeatureInfoTest, InitializeWithoutSamplers) { 901 TEST_F(FeatureInfoTest, InitializeWithoutSamplers) {
875 SetupInitExpectationsWithGLVersion("", "OpenGL GL 3.0"); 902 SetupInitExpectationsWithGLVersion("", "OpenGL GL 3.0");
876 EXPECT_FALSE(info_->feature_flags().enable_samplers); 903 EXPECT_FALSE(info_->feature_flags().enable_samplers);
877 } 904 }
878 905
879 TEST_F(FeatureInfoTest, InitializeWithES3AndFences) { 906 TEST_F(FeatureInfoTest, InitializeWithES3AndFences) {
880 SetupInitExpectationsWithGLVersion("EGL_KHR_fence_sync", "OpenGL ES 3.0"); 907 SetupInitExpectationsWithGLVersion("EGL_KHR_fence_sync", "OpenGL ES 3.0");
881 EXPECT_TRUE(info_->feature_flags().use_async_readpixels); 908 EXPECT_TRUE(info_->feature_flags().use_async_readpixels);
(...skipping 18 matching lines...) Expand all
900 base::IntToString(gpu::MAX_TEXTURE_SIZE_LIMIT_4096)); 927 base::IntToString(gpu::MAX_TEXTURE_SIZE_LIMIT_4096));
901 // Workarounds should get parsed without the need for a context. 928 // Workarounds should get parsed without the need for a context.
902 SetupWithCommandLine(command_line); 929 SetupWithCommandLine(command_line);
903 EXPECT_TRUE(info_->workarounds().exit_on_context_lost); 930 EXPECT_TRUE(info_->workarounds().exit_on_context_lost);
904 EXPECT_EQ(1024, info_->workarounds().max_cube_map_texture_size); 931 EXPECT_EQ(1024, info_->workarounds().max_cube_map_texture_size);
905 EXPECT_EQ(4096, info_->workarounds().max_texture_size); 932 EXPECT_EQ(4096, info_->workarounds().max_texture_size);
906 } 933 }
907 934
908 } // namespace gles2 935 } // namespace gles2
909 } // namespace gpu 936 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698