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

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

Issue 499283002: gpu: support immutable texture on Linux Mesa driver and GLES3. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove is_es3 and APPLE_texture_format_BGRA8888 allows BGRA8_EXT in ES3 Created 6 years, 3 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 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 TEST_F(FeatureInfoTest, InitializeEXT_read_format_bgra) { 422 TEST_F(FeatureInfoTest, InitializeEXT_read_format_bgra) {
423 SetupInitExpectations("GL_EXT_read_format_bgra"); 423 SetupInitExpectations("GL_EXT_read_format_bgra");
424 EXPECT_THAT(info_->extensions(), 424 EXPECT_THAT(info_->extensions(),
425 HasSubstr("GL_EXT_read_format_bgra")); 425 HasSubstr("GL_EXT_read_format_bgra"));
426 EXPECT_FALSE(info_->validators()->texture_format.IsValid( 426 EXPECT_FALSE(info_->validators()->texture_format.IsValid(
427 GL_BGRA_EXT)); 427 GL_BGRA_EXT));
428 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( 428 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid(
429 GL_BGRA_EXT)); 429 GL_BGRA_EXT));
430 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid( 430 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid(
431 GL_BGRA_EXT)); 431 GL_BGRA_EXT));
432 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( 432 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid(GL_BGRA8_EXT));
433 }
434
435 TEST_F(FeatureInfoTest, InitializeEXT_texture_storage) {
436 SetupInitExpectations("GL_EXT_texture_storage");
437 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_texture_storage"));
438 EXPECT_TRUE(info_->validators()->texture_parameter.IsValid(
439 GL_TEXTURE_IMMUTABLE_FORMAT_EXT));
440 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
441 GL_BGRA8_EXT));
442 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
443 GL_RGBA32F_EXT));
444 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
445 GL_RGB32F_EXT));
446 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
447 GL_ALPHA32F_EXT));
448 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
449 GL_LUMINANCE32F_EXT));
450 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
451 GL_LUMINANCE_ALPHA32F_EXT));
452 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
453 GL_RGBA16F_EXT));
454 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
455 GL_RGB16F_EXT));
456 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
457 GL_ALPHA16F_EXT));
458 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
459 GL_LUMINANCE16F_EXT));
460 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
461 GL_LUMINANCE_ALPHA16F_EXT));
462 }
463
464 TEST_F(FeatureInfoTest, InitializeARB_texture_storage) {
465 SetupInitExpectations("GL_ARB_texture_storage");
466 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_texture_storage"));
467 EXPECT_TRUE(info_->validators()->texture_parameter.IsValid(
468 GL_TEXTURE_IMMUTABLE_FORMAT_EXT));
469 }
470
471 TEST_F(FeatureInfoTest, InitializeEXT_texture_storage_BGRA) {
472 SetupInitExpectations(
473 "GL_EXT_texture_storage GL_EXT_texture_format_BGRA8888");
474 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_texture_storage"));
475 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_texture_format_BGRA8888"));
476 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
433 GL_BGRA8_EXT)); 477 GL_BGRA8_EXT));
434 } 478 }
435 479
480 TEST_F(FeatureInfoTest, InitializeEXT_texture_storage_float) {
481 SetupInitExpectations("GL_EXT_texture_storage GL_OES_texture_float");
482 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_texture_storage"));
483 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_texture_float"));
484 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
485 GL_RGBA32F_EXT));
486 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
487 GL_RGB32F_EXT));
488 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
489 GL_ALPHA32F_EXT));
490 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
491 GL_LUMINANCE32F_EXT));
492 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
493 GL_LUMINANCE_ALPHA32F_EXT));
494 }
495
496 TEST_F(FeatureInfoTest, InitializeEXT_texture_storage_half_float) {
497 SetupInitExpectations("GL_EXT_texture_storage GL_OES_texture_half_float");
498 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_texture_storage"));
499 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_texture_half_float"));
500 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
501 GL_RGBA16F_EXT));
502 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
503 GL_RGB16F_EXT));
504 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
505 GL_ALPHA16F_EXT));
506 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
507 GL_LUMINANCE16F_EXT));
508 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
509 GL_LUMINANCE_ALPHA16F_EXT));
510 }
511
512 TEST_F(FeatureInfoTest, InitializeEXT_texture_format_BGRA8888GLES3) {
513 SetupInitExpectationsWithGLVersion(
514 "GL_EXT_texture_format_BGRA8888", "", "OpenGL ES 3.0");
515 EXPECT_FALSE(info_->feature_flags().ext_texture_storage);
516 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_texture_storage")));
517 EXPECT_FALSE(info_->validators()->texture_parameter.IsValid(
518 GL_TEXTURE_IMMUTABLE_FORMAT_EXT));
519 EXPECT_FALSE(info_->validators()->texture_internal_format_storage.IsValid(
520 GL_BGRA8_EXT));
521 }
522
523 TEST_F(FeatureInfoTest, InitializeEXT_texture_format_BGRA8888AppleGLES3) {
524 SetupInitExpectationsWithGLVersion(
525 "GL_APPLE_texture_format_BGRA8888", "", "OpenGL ES 3.0");
526 EXPECT_TRUE(info_->feature_flags().ext_texture_storage);
527 EXPECT_THAT(info_->extensions(), HasSubstr("GL_EXT_texture_storage"));
528 EXPECT_TRUE(info_->validators()->texture_parameter.IsValid(
529 GL_TEXTURE_IMMUTABLE_FORMAT_EXT));
530 EXPECT_TRUE(info_->validators()->texture_internal_format_storage.IsValid(
531 GL_BGRA8_EXT));
532 }
533
436 TEST_F(FeatureInfoTest, InitializeARB_texture_float) { 534 TEST_F(FeatureInfoTest, InitializeARB_texture_float) {
437 SetupInitExpectations("GL_ARB_texture_float"); 535 SetupInitExpectations("GL_ARB_texture_float");
438 EXPECT_TRUE(info_->feature_flags().chromium_color_buffer_float_rgba); 536 EXPECT_TRUE(info_->feature_flags().chromium_color_buffer_float_rgba);
439 EXPECT_TRUE(info_->feature_flags().chromium_color_buffer_float_rgb); 537 EXPECT_TRUE(info_->feature_flags().chromium_color_buffer_float_rgb);
440 std::string extensions = info_->extensions() + " "; 538 std::string extensions = info_->extensions() + " ";
441 EXPECT_THAT(extensions, HasSubstr("GL_CHROMIUM_color_buffer_float_rgb ")); 539 EXPECT_THAT(extensions, HasSubstr("GL_CHROMIUM_color_buffer_float_rgb "));
442 EXPECT_THAT(extensions, HasSubstr("GL_CHROMIUM_color_buffer_float_rgba")); 540 EXPECT_THAT(extensions, HasSubstr("GL_CHROMIUM_color_buffer_float_rgba"));
443 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( 541 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid(
444 GL_RGBA32F)); 542 GL_RGBA32F));
445 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid( 543 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid(
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 command_line.AppendSwitchASCII( 1165 command_line.AppendSwitchASCII(
1068 switches::kGpuDriverBugWorkarounds, 1166 switches::kGpuDriverBugWorkarounds,
1069 base::IntToString(gpu::DISABLE_ARB_SYNC)); 1167 base::IntToString(gpu::DISABLE_ARB_SYNC));
1070 SetupInitExpectationsWithCommandLine("GL_ARB_sync", command_line); 1168 SetupInitExpectationsWithCommandLine("GL_ARB_sync", command_line);
1071 EXPECT_FALSE(info_->feature_flags().chromium_sync_query); 1169 EXPECT_FALSE(info_->feature_flags().chromium_sync_query);
1072 EXPECT_FALSE(gfx::GLFence::IsSupported()); 1170 EXPECT_FALSE(gfx::GLFence::IsSupported());
1073 } 1171 }
1074 1172
1075 } // namespace gles2 1173 } // namespace gles2
1076 } // namespace gpu 1174 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698