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

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

Issue 817653003: Update from https://crrev.com/309717 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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 "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_service_test.h" 10 #include "gpu/command_buffer/service/gpu_service_test.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 void SetupInitExpectationsWithGLVersion( 48 void SetupInitExpectationsWithGLVersion(
49 const char* extensions, const char* renderer, const char* version) { 49 const char* extensions, const char* renderer, const char* version) {
50 GpuServiceTest::SetUpWithGLVersion(version, extensions); 50 GpuServiceTest::SetUpWithGLVersion(version, extensions);
51 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( 51 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
52 gl_.get(), extensions, renderer, version); 52 gl_.get(), extensions, renderer, version);
53 info_ = new FeatureInfo(); 53 info_ = new FeatureInfo();
54 info_->Initialize(); 54 info_->Initialize();
55 } 55 }
56 56
57 void SetupWithCommandLine(const CommandLine& command_line) { 57 void SetupWithCommandLine(const base::CommandLine& command_line) {
58 GpuServiceTest::SetUp(); 58 GpuServiceTest::SetUp();
59 info_ = new FeatureInfo(command_line); 59 info_ = new FeatureInfo(command_line);
60 } 60 }
61 61
62 void SetupInitExpectationsWithCommandLine( 62 void SetupInitExpectationsWithCommandLine(
63 const char* extensions, const CommandLine& command_line) { 63 const char* extensions,
64 const base::CommandLine& command_line) {
64 GpuServiceTest::SetUpWithGLVersion("2.0", extensions); 65 GpuServiceTest::SetUpWithGLVersion("2.0", extensions);
65 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( 66 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
66 gl_.get(), extensions, "", ""); 67 gl_.get(), extensions, "", "");
67 info_ = new FeatureInfo(command_line); 68 info_ = new FeatureInfo(command_line);
68 info_->Initialize(); 69 info_->Initialize();
69 } 70 }
70 71
71 void SetupWithoutInit() { 72 void SetupWithoutInit() {
72 GpuServiceTest::SetUp(); 73 GpuServiceTest::SetUp();
73 info_ = new FeatureInfo(); 74 info_ = new FeatureInfo();
(...skipping 1129 matching lines...) Expand 10 before | Expand all | Expand 10 after
1203 } 1204 }
1204 1205
1205 TEST_F(FeatureInfoTest, InitializeOES_element_index_uint) { 1206 TEST_F(FeatureInfoTest, InitializeOES_element_index_uint) {
1206 SetupInitExpectations("GL_OES_element_index_uint"); 1207 SetupInitExpectations("GL_OES_element_index_uint");
1207 EXPECT_THAT(info_->extensions(), 1208 EXPECT_THAT(info_->extensions(),
1208 HasSubstr("GL_OES_element_index_uint")); 1209 HasSubstr("GL_OES_element_index_uint"));
1209 EXPECT_TRUE(info_->validators()->index_type.IsValid(GL_UNSIGNED_INT)); 1210 EXPECT_TRUE(info_->validators()->index_type.IsValid(GL_UNSIGNED_INT));
1210 } 1211 }
1211 1212
1212 TEST_F(FeatureInfoTest, InitializeVAOsWithClientSideArrays) { 1213 TEST_F(FeatureInfoTest, InitializeVAOsWithClientSideArrays) {
1213 CommandLine command_line(0, NULL); 1214 base::CommandLine command_line(0, NULL);
1214 command_line.AppendSwitchASCII( 1215 command_line.AppendSwitchASCII(
1215 switches::kGpuDriverBugWorkarounds, 1216 switches::kGpuDriverBugWorkarounds,
1216 base::IntToString(gpu::USE_CLIENT_SIDE_ARRAYS_FOR_STREAM_BUFFERS)); 1217 base::IntToString(gpu::USE_CLIENT_SIDE_ARRAYS_FOR_STREAM_BUFFERS));
1217 SetupInitExpectationsWithCommandLine("GL_OES_vertex_array_object", 1218 SetupInitExpectationsWithCommandLine("GL_OES_vertex_array_object",
1218 command_line); 1219 command_line);
1219 EXPECT_TRUE(info_->workarounds().use_client_side_arrays_for_stream_buffers); 1220 EXPECT_TRUE(info_->workarounds().use_client_side_arrays_for_stream_buffers);
1220 EXPECT_FALSE(info_->feature_flags().native_vertex_array_object); 1221 EXPECT_FALSE(info_->feature_flags().native_vertex_array_object);
1221 } 1222 }
1222 1223
1223 TEST_F(FeatureInfoTest, InitializeEXT_blend_minmax) { 1224 TEST_F(FeatureInfoTest, InitializeEXT_blend_minmax) {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1295 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); 1296 EXPECT_TRUE(info_->feature_flags().chromium_sync_query);
1296 EXPECT_TRUE(gfx::GLFence::IsSupported()); 1297 EXPECT_TRUE(gfx::GLFence::IsSupported());
1297 } 1298 }
1298 1299
1299 TEST_F(FeatureInfoTest, InitializeWithoutSamplers) { 1300 TEST_F(FeatureInfoTest, InitializeWithoutSamplers) {
1300 SetupInitExpectationsWithGLVersion("", "", "OpenGL GL 3.0"); 1301 SetupInitExpectationsWithGLVersion("", "", "OpenGL GL 3.0");
1301 EXPECT_FALSE(info_->feature_flags().enable_samplers); 1302 EXPECT_FALSE(info_->feature_flags().enable_samplers);
1302 } 1303 }
1303 1304
1304 TEST_F(FeatureInfoTest, ParseDriverBugWorkaroundsSingle) { 1305 TEST_F(FeatureInfoTest, ParseDriverBugWorkaroundsSingle) {
1305 CommandLine command_line(0, NULL); 1306 base::CommandLine command_line(0, NULL);
1306 command_line.AppendSwitchASCII( 1307 command_line.AppendSwitchASCII(
1307 switches::kGpuDriverBugWorkarounds, 1308 switches::kGpuDriverBugWorkarounds,
1308 base::IntToString(gpu::EXIT_ON_CONTEXT_LOST)); 1309 base::IntToString(gpu::EXIT_ON_CONTEXT_LOST));
1309 // Workarounds should get parsed without the need for a context. 1310 // Workarounds should get parsed without the need for a context.
1310 SetupWithCommandLine(command_line); 1311 SetupWithCommandLine(command_line);
1311 EXPECT_TRUE(info_->workarounds().exit_on_context_lost); 1312 EXPECT_TRUE(info_->workarounds().exit_on_context_lost);
1312 } 1313 }
1313 1314
1314 TEST_F(FeatureInfoTest, ParseDriverBugWorkaroundsMultiple) { 1315 TEST_F(FeatureInfoTest, ParseDriverBugWorkaroundsMultiple) {
1315 CommandLine command_line(0, NULL); 1316 base::CommandLine command_line(0, NULL);
1316 command_line.AppendSwitchASCII( 1317 command_line.AppendSwitchASCII(
1317 switches::kGpuDriverBugWorkarounds, 1318 switches::kGpuDriverBugWorkarounds,
1318 base::IntToString(gpu::EXIT_ON_CONTEXT_LOST) + "," + 1319 base::IntToString(gpu::EXIT_ON_CONTEXT_LOST) + "," +
1319 base::IntToString(gpu::MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_1024) + "," + 1320 base::IntToString(gpu::MAX_CUBE_MAP_TEXTURE_SIZE_LIMIT_1024) + "," +
1320 base::IntToString(gpu::MAX_TEXTURE_SIZE_LIMIT_4096)); 1321 base::IntToString(gpu::MAX_TEXTURE_SIZE_LIMIT_4096));
1321 // Workarounds should get parsed without the need for a context. 1322 // Workarounds should get parsed without the need for a context.
1322 SetupWithCommandLine(command_line); 1323 SetupWithCommandLine(command_line);
1323 EXPECT_TRUE(info_->workarounds().exit_on_context_lost); 1324 EXPECT_TRUE(info_->workarounds().exit_on_context_lost);
1324 EXPECT_EQ(1024, info_->workarounds().max_cube_map_texture_size); 1325 EXPECT_EQ(1024, info_->workarounds().max_cube_map_texture_size);
1325 EXPECT_EQ(4096, info_->workarounds().max_texture_size); 1326 EXPECT_EQ(4096, info_->workarounds().max_texture_size);
(...skipping 18 matching lines...) Expand all
1344 } 1345 }
1345 1346
1346 TEST_F(FeatureInfoTest, InitializeWithPreferredEXTDrawBuffers) { 1347 TEST_F(FeatureInfoTest, InitializeWithPreferredEXTDrawBuffers) {
1347 SetupInitExpectationsWithGLVersion( 1348 SetupInitExpectationsWithGLVersion(
1348 "GL_NV_draw_buffers GL_EXT_draw_buffers", "", "OpenGL ES 3.0"); 1349 "GL_NV_draw_buffers GL_EXT_draw_buffers", "", "OpenGL ES 3.0");
1349 EXPECT_FALSE(info_->feature_flags().nv_draw_buffers); 1350 EXPECT_FALSE(info_->feature_flags().nv_draw_buffers);
1350 EXPECT_TRUE(info_->feature_flags().ext_draw_buffers); 1351 EXPECT_TRUE(info_->feature_flags().ext_draw_buffers);
1351 } 1352 }
1352 1353
1353 TEST_F(FeatureInfoTest, ARBSyncDisabled) { 1354 TEST_F(FeatureInfoTest, ARBSyncDisabled) {
1354 CommandLine command_line(0, NULL); 1355 base::CommandLine command_line(0, NULL);
1355 command_line.AppendSwitchASCII( 1356 command_line.AppendSwitchASCII(
1356 switches::kGpuDriverBugWorkarounds, 1357 switches::kGpuDriverBugWorkarounds,
1357 base::IntToString(gpu::DISABLE_ARB_SYNC)); 1358 base::IntToString(gpu::DISABLE_ARB_SYNC));
1358 SetupInitExpectationsWithCommandLine("GL_ARB_sync", command_line); 1359 SetupInitExpectationsWithCommandLine("GL_ARB_sync", command_line);
1359 EXPECT_FALSE(info_->feature_flags().chromium_sync_query); 1360 EXPECT_FALSE(info_->feature_flags().chromium_sync_query);
1360 EXPECT_FALSE(gfx::GLFence::IsSupported()); 1361 EXPECT_FALSE(gfx::GLFence::IsSupported());
1361 } 1362 }
1362 1363
1363 TEST_F(FeatureInfoTest, InitializeCHROMIUM_path_rendering) { 1364 TEST_F(FeatureInfoTest, InitializeCHROMIUM_path_rendering) {
1364 SetupInitExpectationsWithGLVersion( 1365 SetupInitExpectationsWithGLVersion(
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1469 EXPECT_FALSE( 1470 EXPECT_FALSE(
1470 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_HALF_FLOAT_OES)); 1471 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_HALF_FLOAT_OES));
1471 EXPECT_TRUE( 1472 EXPECT_TRUE(
1472 info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_UNSIGNED_BYTE)); 1473 info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_UNSIGNED_BYTE));
1473 EXPECT_TRUE( 1474 EXPECT_TRUE(
1474 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_UNSIGNED_BYTE)); 1475 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_UNSIGNED_BYTE));
1475 } 1476 }
1476 1477
1477 } // namespace gles2 1478 } // namespace gles2
1478 } // namespace gpu 1479 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/feature_info.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698