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_service_test.h" | 10 #include "gpu/command_buffer/service/gpu_service_test.h" |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 GL_BGRA_EXT)); | 448 GL_BGRA_EXT)); |
449 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( | 449 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
450 GL_BGRA_EXT)); | 450 GL_BGRA_EXT)); |
451 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid( | 451 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid( |
452 GL_BGRA_EXT)); | 452 GL_BGRA_EXT)); |
453 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( | 453 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( |
454 GL_BGRA8_EXT)); | 454 GL_BGRA8_EXT)); |
455 } | 455 } |
456 | 456 |
457 TEST_F(FeatureInfoTest, InitializeEXT_sRGB) { | 457 TEST_F(FeatureInfoTest, InitializeEXT_sRGB) { |
458 SetupInitExpectations("GL_EXT_sRGB"); | 458 SetupInitExpectations("GL_EXT_sRGB GL_OES_rgb8_rgba8"); |
459 EXPECT_THAT(info_->extensions(), | 459 EXPECT_THAT(info_->extensions(), |
460 HasSubstr("GL_EXT_sRGB")); | 460 HasSubstr("GL_EXT_sRGB")); |
461 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_SRGB_EXT).IsValid( | 461 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_SRGB_EXT).IsValid( |
462 GL_UNSIGNED_BYTE)); | 462 GL_UNSIGNED_BYTE)); |
463 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_SRGB_ALPHA_EXT).IsValid( | 463 EXPECT_TRUE(info_->GetTextureFormatValidator(GL_SRGB_ALPHA_EXT).IsValid( |
464 GL_UNSIGNED_BYTE)); | 464 GL_UNSIGNED_BYTE)); |
465 EXPECT_TRUE(info_->validators()->texture_format.IsValid( | 465 EXPECT_TRUE(info_->validators()->texture_format.IsValid( |
466 GL_SRGB_EXT)); | 466 GL_SRGB_EXT)); |
467 EXPECT_TRUE(info_->validators()->texture_format.IsValid( | 467 EXPECT_TRUE(info_->validators()->texture_format.IsValid( |
468 GL_SRGB_ALPHA_EXT)); | 468 GL_SRGB_ALPHA_EXT)); |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
683 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_RGBA).IsValid( | 683 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_RGBA).IsValid( |
684 GL_FLOAT)); | 684 GL_FLOAT)); |
685 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_LUMINANCE).IsValid( | 685 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_LUMINANCE).IsValid( |
686 GL_FLOAT)); | 686 GL_FLOAT)); |
687 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_LUMINANCE_ALPHA).IsValid( | 687 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_LUMINANCE_ALPHA).IsValid( |
688 GL_FLOAT)); | 688 GL_FLOAT)); |
689 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_ALPHA).IsValid( | 689 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_ALPHA).IsValid( |
690 GL_FLOAT)); | 690 GL_FLOAT)); |
691 } | 691 } |
692 | 692 |
| 693 TEST_F(FeatureInfoTest, Initialize_sRGBGLES3) { |
| 694 SetupInitExpectationsWithGLVersion("", "", "OpenGL ES 3.0"); |
| 695 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_EXT_sRGB"))); |
| 696 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_SRGB_EXT).IsValid( |
| 697 GL_UNSIGNED_BYTE)); |
| 698 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_SRGB_ALPHA_EXT).IsValid( |
| 699 GL_UNSIGNED_BYTE)); |
| 700 EXPECT_FALSE(info_->validators()->texture_format.IsValid( |
| 701 GL_SRGB_EXT)); |
| 702 EXPECT_FALSE(info_->validators()->texture_format.IsValid( |
| 703 GL_SRGB_ALPHA_EXT)); |
| 704 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
| 705 GL_SRGB_EXT)); |
| 706 EXPECT_FALSE(info_->validators()->texture_internal_format.IsValid( |
| 707 GL_SRGB_ALPHA_EXT)); |
| 708 EXPECT_FALSE(info_->validators()->render_buffer_format.IsValid( |
| 709 GL_SRGB8_ALPHA8_EXT)); |
| 710 EXPECT_FALSE(info_->validators()->frame_buffer_parameter.IsValid( |
| 711 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT)); |
| 712 } |
| 713 |
693 TEST_F(FeatureInfoTest, InitializeOES_texture_floatGLES2) { | 714 TEST_F(FeatureInfoTest, InitializeOES_texture_floatGLES2) { |
694 SetupInitExpectations("GL_OES_texture_float"); | 715 SetupInitExpectations("GL_OES_texture_float"); |
695 EXPECT_FALSE(info_->feature_flags().enable_texture_float_linear); | 716 EXPECT_FALSE(info_->feature_flags().enable_texture_float_linear); |
696 EXPECT_FALSE(info_->feature_flags().enable_texture_half_float_linear); | 717 EXPECT_FALSE(info_->feature_flags().enable_texture_half_float_linear); |
697 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_texture_float")); | 718 EXPECT_THAT(info_->extensions(), HasSubstr("GL_OES_texture_float")); |
698 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_half_float"))); | 719 EXPECT_THAT(info_->extensions(), Not(HasSubstr("GL_OES_texture_half_float"))); |
699 EXPECT_THAT(info_->extensions(), | 720 EXPECT_THAT(info_->extensions(), |
700 Not(HasSubstr("GL_OES_texture_float_linear"))); | 721 Not(HasSubstr("GL_OES_texture_float_linear"))); |
701 EXPECT_THAT(info_->extensions(), | 722 EXPECT_THAT(info_->extensions(), |
702 Not(HasSubstr("GL_OES_texture_half_float_linear"))); | 723 Not(HasSubstr("GL_OES_texture_half_float_linear"))); |
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1395 } | 1416 } |
1396 | 1417 |
1397 TEST_F(FeatureInfoTest, InitializeKHR_blend_equations_advanced_coherent) { | 1418 TEST_F(FeatureInfoTest, InitializeKHR_blend_equations_advanced_coherent) { |
1398 SetupInitExpectations("GL_KHR_blend_equation_advanced_coherent"); | 1419 SetupInitExpectations("GL_KHR_blend_equation_advanced_coherent"); |
1399 EXPECT_THAT(info_->extensions(), | 1420 EXPECT_THAT(info_->extensions(), |
1400 HasSubstr("GL_KHR_blend_equation_advanced_coherent")); | 1421 HasSubstr("GL_KHR_blend_equation_advanced_coherent")); |
1401 EXPECT_TRUE(info_->feature_flags().blend_equation_advanced); | 1422 EXPECT_TRUE(info_->feature_flags().blend_equation_advanced); |
1402 EXPECT_TRUE(info_->feature_flags().blend_equation_advanced_coherent); | 1423 EXPECT_TRUE(info_->feature_flags().blend_equation_advanced_coherent); |
1403 } | 1424 } |
1404 | 1425 |
| 1426 TEST_F(FeatureInfoTest, InitializeEXT_texture_rgWithFloat) { |
| 1427 SetupInitExpectations( |
| 1428 "GL_EXT_texture_rg GL_OES_texture_float GL_OES_texture_half_float"); |
| 1429 EXPECT_TRUE(info_->feature_flags().ext_texture_rg); |
| 1430 |
| 1431 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_RED_EXT)); |
| 1432 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_RG_EXT)); |
| 1433 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid(GL_RED_EXT)); |
| 1434 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid(GL_RG_EXT)); |
| 1435 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid(GL_RED_EXT)); |
| 1436 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid(GL_RG_EXT)); |
| 1437 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_R8_EXT)); |
| 1438 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); |
| 1439 |
| 1440 EXPECT_TRUE( |
| 1441 info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_HALF_FLOAT_OES)); |
| 1442 EXPECT_TRUE( |
| 1443 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_HALF_FLOAT_OES)); |
| 1444 EXPECT_TRUE( |
| 1445 info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_UNSIGNED_BYTE)); |
| 1446 EXPECT_TRUE( |
| 1447 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_UNSIGNED_BYTE)); |
| 1448 |
| 1449 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_BYTE)); |
| 1450 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_BYTE)); |
| 1451 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_SHORT)); |
| 1452 EXPECT_FALSE(info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_SHORT)); |
| 1453 } |
| 1454 |
| 1455 TEST_F(FeatureInfoTest, InitializeARB_texture_rgNoFloat) { |
| 1456 SetupInitExpectations("GL_ARB_texture_rg"); |
| 1457 EXPECT_TRUE(info_->feature_flags().ext_texture_rg); |
| 1458 |
| 1459 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_RED_EXT)); |
| 1460 EXPECT_TRUE(info_->validators()->texture_format.IsValid(GL_RG_EXT)); |
| 1461 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid(GL_RED_EXT)); |
| 1462 EXPECT_TRUE(info_->validators()->texture_internal_format.IsValid(GL_RG_EXT)); |
| 1463 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid(GL_RED_EXT)); |
| 1464 EXPECT_TRUE(info_->validators()->read_pixel_format.IsValid(GL_RG_EXT)); |
| 1465 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_R8_EXT)); |
| 1466 EXPECT_TRUE(info_->validators()->render_buffer_format.IsValid(GL_RG8_EXT)); |
| 1467 |
| 1468 EXPECT_FALSE( |
| 1469 info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_HALF_FLOAT_OES)); |
| 1470 EXPECT_FALSE( |
| 1471 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_HALF_FLOAT_OES)); |
| 1472 EXPECT_TRUE( |
| 1473 info_->GetTextureFormatValidator(GL_RED_EXT).IsValid(GL_UNSIGNED_BYTE)); |
| 1474 EXPECT_TRUE( |
| 1475 info_->GetTextureFormatValidator(GL_RG_EXT).IsValid(GL_UNSIGNED_BYTE)); |
| 1476 } |
| 1477 |
1405 } // namespace gles2 | 1478 } // namespace gles2 |
1406 } // namespace gpu | 1479 } // namespace gpu |
OLD | NEW |