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

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

Issue 2471913003: change enable_es3 to context_type in SetupFeatureInfo (Closed)
Patch Set: update Created 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/texture_manager.h" 5 #include "gpu/command_buffer/service/texture_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 74
75 ~TextureManagerTest() override {} 75 ~TextureManagerTest() override {}
76 76
77 protected: 77 protected:
78 void SetUp() override { 78 void SetUp() override {
79 GpuServiceTest::SetUp(); 79 GpuServiceTest::SetUp();
80 manager_.reset(new TextureManager( 80 manager_.reset(new TextureManager(
81 NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize, 81 NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize,
82 kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers, 82 kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers,
83 kUseDefaultTextures, nullptr)); 83 kUseDefaultTextures, nullptr));
84 SetupFeatureInfo("", "OpenGL ES 2.0", false); 84 SetupFeatureInfo("", "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2);
85 TestHelper::SetupTextureManagerInitExpectations( 85 TestHelper::SetupTextureManagerInitExpectations(
86 gl_.get(), false, false, false, "", kUseDefaultTextures); 86 gl_.get(), false, false, false, "", kUseDefaultTextures);
87 manager_->Initialize(); 87 manager_->Initialize();
88 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); 88 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>());
89 } 89 }
90 90
91 void TearDown() override { 91 void TearDown() override {
92 manager_->Destroy(false); 92 manager_->Destroy(false);
93 manager_.reset(); 93 manager_.reset();
94 GpuServiceTest::TearDown(); 94 GpuServiceTest::TearDown();
95 } 95 }
96 96
97 void SetParameter( 97 void SetParameter(
98 TextureRef* texture_ref, GLenum pname, GLint value, GLenum error) { 98 TextureRef* texture_ref, GLenum pname, GLint value, GLenum error) {
99 TestHelper::SetTexParameteriWithExpectations( 99 TestHelper::SetTexParameteriWithExpectations(
100 gl_.get(), error_state_.get(), manager_.get(), 100 gl_.get(), error_state_.get(), manager_.get(),
101 texture_ref, pname, value, error); 101 texture_ref, pname, value, error);
102 } 102 }
103 103
104 void SetupFeatureInfo(const char* gl_extensions, 104 void SetupFeatureInfo(const char* gl_extensions,
105 const char* gl_version, 105 const char* gl_version,
106 bool enable_es3) { 106 ContextType context_type) {
107 ContextType context_type =
108 enable_es3 ? CONTEXT_TYPE_OPENGLES3 : CONTEXT_TYPE_OPENGLES2;
109 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( 107 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
110 gl_.get(), gl_extensions, "", gl_version, context_type); 108 gl_.get(), gl_extensions, "", gl_version, context_type);
111 feature_info_->InitializeForTesting(context_type); 109 feature_info_->InitializeForTesting(context_type);
112 ASSERT_TRUE(feature_info_->context_type() == context_type); 110 ASSERT_TRUE(feature_info_->context_type() == context_type);
113 if (feature_info_->IsWebGL2OrES3Context()) { 111 if (feature_info_->IsWebGL2OrES3Context()) {
114 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _)) 112 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _))
115 .WillOnce(SetArgPointee<1>(8)) 113 .WillOnce(SetArgPointee<1>(8))
116 .RetiresOnSaturation(); 114 .RetiresOnSaturation();
117 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _)) 115 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _))
118 .WillOnce(SetArgPointee<1>(8)) 116 .WillOnce(SetArgPointee<1>(8))
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL); 266 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL);
269 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) == NULL); 267 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) == NULL);
270 268
271 // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB. 269 // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB.
272 270
273 manager.Destroy(false); 271 manager.Destroy(false);
274 } 272 }
275 273
276 TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) { 274 TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) {
277 bool use_default_textures = true; 275 bool use_default_textures = true;
278 SetupFeatureInfo("", "OpenGL ES 3.0", true); 276 SetupFeatureInfo("", "OpenGL ES 3.0", CONTEXT_TYPE_OPENGLES3);
279 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), 277 TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
280 true, true, false, "", use_default_textures); 278 true, true, false, "", use_default_textures);
281 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, 279 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize,
282 kMaxCubeMapTextureSize, kMaxRectangleTextureSize, 280 kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
283 kMax3DTextureSize, kMaxArrayTextureLayers, 281 kMax3DTextureSize, kMaxArrayTextureLayers,
284 use_default_textures, nullptr); 282 use_default_textures, nullptr);
285 manager.Initialize(); 283 manager.Initialize();
286 284
287 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL); 285 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL);
288 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) != NULL); 286 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) != NULL);
289 287
290 manager.Destroy(false); 288 manager.Destroy(false);
291 } 289 }
292 290
293 TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) { 291 TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) {
294 bool use_default_textures = false; 292 bool use_default_textures = false;
295 SetupFeatureInfo("", "OpenGL ES 3.0", true); 293 SetupFeatureInfo("", "OpenGL ES 3.0", CONTEXT_TYPE_OPENGLES3);
296 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), 294 TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
297 true, true, false, "", use_default_textures); 295 true, true, false, "", use_default_textures);
298 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, 296 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize,
299 kMaxCubeMapTextureSize, kMaxRectangleTextureSize, 297 kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
300 kMax3DTextureSize, kMaxArrayTextureLayers, 298 kMax3DTextureSize, kMaxArrayTextureLayers,
301 use_default_textures, nullptr); 299 use_default_textures, nullptr);
302 manager.Initialize(); 300 manager.Initialize();
303 301
304 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL); 302 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL);
305 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) == NULL); 303 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) == NULL);
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 5, 2, 1)); 501 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 5, 2, 1));
504 // Check NPOT height on level 1 502 // Check NPOT height on level 1
505 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 2, 5, 1)); 503 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 2, 5, 1));
506 manager.Destroy(false); 504 manager.Destroy(false);
507 } 505 }
508 506
509 TEST_F(TextureManagerTest, AlphaLuminanceCompatibilityProfile) { 507 TEST_F(TextureManagerTest, AlphaLuminanceCompatibilityProfile) {
510 const GLuint kClientId = 1; 508 const GLuint kClientId = 1;
511 const GLuint kServiceId = 11; 509 const GLuint kServiceId = 11;
512 510
513 SetupFeatureInfo("", "2.1", false); 511 SetupFeatureInfo("", "2.1", CONTEXT_TYPE_OPENGLES2);
514 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), false, false, 512 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), false, false,
515 false, "", kUseDefaultTextures); 513 false, "", kUseDefaultTextures);
516 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, 514 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize,
517 kMaxCubeMapTextureSize, kMaxRectangleTextureSize, 515 kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
518 kMax3DTextureSize, kMaxArrayTextureLayers, 516 kMax3DTextureSize, kMaxArrayTextureLayers,
519 kUseDefaultTextures, nullptr); 517 kUseDefaultTextures, nullptr);
520 manager.Initialize(); 518 manager.Initialize();
521 519
522 // Create a texture. 520 // Create a texture.
523 manager.CreateTexture(kClientId, kServiceId); 521 manager.CreateTexture(kClientId, kServiceId);
(...skipping 20 matching lines...) Expand all
544 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kServiceId))) 542 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kServiceId)))
545 .Times(1) 543 .Times(1)
546 .RetiresOnSaturation(); 544 .RetiresOnSaturation();
547 manager.RemoveTexture(kClientId); 545 manager.RemoveTexture(kClientId);
548 } 546 }
549 547
550 TEST_F(TextureManagerTest, AlphaLuminanceCoreProfileEmulation) { 548 TEST_F(TextureManagerTest, AlphaLuminanceCoreProfileEmulation) {
551 const GLuint kClientId = 1; 549 const GLuint kClientId = 1;
552 const GLuint kServiceId = 11; 550 const GLuint kServiceId = 11;
553 551
554 SetupFeatureInfo("", "4.2", true); 552 SetupFeatureInfo("", "4.2", CONTEXT_TYPE_OPENGLES3);
555 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), true, true, true, 553 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), true, true, true,
556 "", kUseDefaultTextures); 554 "", kUseDefaultTextures);
557 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize, 555 TextureManager manager(nullptr, feature_info_.get(), kMaxTextureSize,
558 kMaxCubeMapTextureSize, kMaxRectangleTextureSize, 556 kMaxCubeMapTextureSize, kMaxRectangleTextureSize,
559 kMax3DTextureSize, kMaxArrayTextureLayers, 557 kMax3DTextureSize, kMaxArrayTextureLayers,
560 kUseDefaultTextures, nullptr); 558 kUseDefaultTextures, nullptr);
561 manager.Initialize(); 559 manager.Initialize();
562 560
563 // Create a texture. 561 // Create a texture.
564 manager.CreateTexture(kClientId, kServiceId); 562 manager.CreateTexture(kClientId, kServiceId);
(...skipping 1605 matching lines...) Expand 10 before | Expand all | Expand 10 after
2170 kUseDefaultTextures, nullptr)); 2168 kUseDefaultTextures, nullptr));
2171 memory_tracker2_ = new CountingMemoryTracker; 2169 memory_tracker2_ = new CountingMemoryTracker;
2172 texture_manager2_.reset( 2170 texture_manager2_.reset(
2173 new TextureManager(memory_tracker2_.get(), feature_info_.get(), 2171 new TextureManager(memory_tracker2_.get(), feature_info_.get(),
2174 TextureManagerTest::kMaxTextureSize, 2172 TextureManagerTest::kMaxTextureSize,
2175 TextureManagerTest::kMaxCubeMapTextureSize, 2173 TextureManagerTest::kMaxCubeMapTextureSize,
2176 TextureManagerTest::kMaxRectangleTextureSize, 2174 TextureManagerTest::kMaxRectangleTextureSize,
2177 TextureManagerTest::kMax3DTextureSize, 2175 TextureManagerTest::kMax3DTextureSize,
2178 TextureManagerTest::kMaxArrayTextureLayers, 2176 TextureManagerTest::kMaxArrayTextureLayers,
2179 kUseDefaultTextures, nullptr)); 2177 kUseDefaultTextures, nullptr));
2180 SetupFeatureInfo("", "OpenGL ES 2.0", false); 2178 SetupFeatureInfo("", "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2);
2181 TestHelper::SetupTextureManagerInitExpectations( 2179 TestHelper::SetupTextureManagerInitExpectations(
2182 gl_.get(), false, false, false, "", kUseDefaultTextures); 2180 gl_.get(), false, false, false, "", kUseDefaultTextures);
2183 texture_manager1_->Initialize(); 2181 texture_manager1_->Initialize();
2184 TestHelper::SetupTextureManagerInitExpectations( 2182 TestHelper::SetupTextureManagerInitExpectations(
2185 gl_.get(), false, false, false, "", kUseDefaultTextures); 2183 gl_.get(), false, false, false, "", kUseDefaultTextures);
2186 texture_manager2_->Initialize(); 2184 texture_manager2_->Initialize();
2187 } 2185 }
2188 2186
2189 void TearDown() override { 2187 void TearDown() override {
2190 texture_manager2_->Destroy(false); 2188 texture_manager2_->Destroy(false);
2191 texture_manager2_.reset(); 2189 texture_manager2_.reset();
2192 texture_manager1_->Destroy(false); 2190 texture_manager1_->Destroy(false);
2193 texture_manager1_.reset(); 2191 texture_manager1_.reset();
2194 GpuServiceTest::TearDown(); 2192 GpuServiceTest::TearDown();
2195 } 2193 }
2196 2194
2197 protected: 2195 protected:
2198 void SetupFeatureInfo(const char* gl_extensions, 2196 void SetupFeatureInfo(const char* gl_extensions,
2199 const char* gl_version, 2197 const char* gl_version,
2200 bool enable_es3) { 2198 ContextType context_type) {
2201 ContextType context_type =
2202 enable_es3 ? CONTEXT_TYPE_OPENGLES3 : CONTEXT_TYPE_OPENGLES2;
2203 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( 2199 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(
2204 gl_.get(), gl_extensions, "", gl_version, context_type); 2200 gl_.get(), gl_extensions, "", gl_version, context_type);
2205 feature_info_->InitializeForTesting(context_type); 2201 feature_info_->InitializeForTesting(context_type);
2206 ASSERT_TRUE(feature_info_->context_type() == context_type); 2202 ASSERT_TRUE(feature_info_->context_type() == context_type);
2207 if (feature_info_->IsWebGL2OrES3Context()) { 2203 if (feature_info_->IsWebGL2OrES3Context()) {
2208 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _)) 2204 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_COLOR_ATTACHMENTS, _))
2209 .WillOnce(SetArgPointee<1>(8)) 2205 .WillOnce(SetArgPointee<1>(8))
2210 .RetiresOnSaturation(); 2206 .RetiresOnSaturation();
2211 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _)) 2207 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_DRAW_BUFFERS, _))
2212 .WillOnce(SetArgPointee<1>(8)) 2208 .WillOnce(SetArgPointee<1>(8))
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
2467 SetGLErrorInvalidEnum(_, _, _, _, _)) 2463 SetGLErrorInvalidEnum(_, _, _, _, _))
2468 .Times(1) 2464 .Times(1)
2469 .RetiresOnSaturation(); 2465 .RetiresOnSaturation();
2470 EXPECT_FALSE(manager_->ValidateTextureParameters( 2466 EXPECT_FALSE(manager_->ValidateTextureParameters(
2471 error_state_.get(), "", tex_image_call, 2467 error_state_.get(), "", tex_image_call,
2472 format, type, internal_format, 0)); 2468 format, type, internal_format, 0));
2473 } 2469 }
2474 }; 2470 };
2475 2471
2476 TEST_F(TextureFormatTypeValidationTest, ES2Basic) { 2472 TEST_F(TextureFormatTypeValidationTest, ES2Basic) {
2477 SetupFeatureInfo("", "OpenGL ES 2.0", false); 2473 SetupFeatureInfo("", "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2);
2478 2474
2479 ExpectValid(true, GL_ALPHA, GL_UNSIGNED_BYTE, GL_ALPHA); 2475 ExpectValid(true, GL_ALPHA, GL_UNSIGNED_BYTE, GL_ALPHA);
2480 ExpectValid(true, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_RGB); 2476 ExpectValid(true, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_RGB);
2481 ExpectValid(true, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, GL_RGBA); 2477 ExpectValid(true, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, GL_RGBA);
2482 ExpectValid(true, GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_LUMINANCE); 2478 ExpectValid(true, GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_LUMINANCE);
2483 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_LUMINANCE_ALPHA); 2479 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_LUMINANCE_ALPHA);
2484 2480
2485 ExpectInvalid(true, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_ALPHA); 2481 ExpectInvalid(true, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_ALPHA);
2486 2482
2487 // float / half_float. 2483 // float / half_float.
(...skipping 12 matching lines...) Expand all
2500 // SRGB 2496 // SRGB
2501 ExpectInvalidEnum(true, GL_SRGB_EXT, GL_UNSIGNED_BYTE, GL_SRGB_EXT); 2497 ExpectInvalidEnum(true, GL_SRGB_EXT, GL_UNSIGNED_BYTE, GL_SRGB_EXT);
2502 ExpectInvalidEnum( 2498 ExpectInvalidEnum(
2503 true, GL_SRGB_ALPHA_EXT, GL_UNSIGNED_BYTE, GL_SRGB_ALPHA_EXT); 2499 true, GL_SRGB_ALPHA_EXT, GL_UNSIGNED_BYTE, GL_SRGB_ALPHA_EXT);
2504 2500
2505 // ES3 2501 // ES3
2506 ExpectInvalid(true, GL_RGB, GL_UNSIGNED_BYTE, GL_RGB8); 2502 ExpectInvalid(true, GL_RGB, GL_UNSIGNED_BYTE, GL_RGB8);
2507 } 2503 }
2508 2504
2509 TEST_F(TextureFormatTypeValidationTest, ES2WithExtTextureFormatBGRA8888) { 2505 TEST_F(TextureFormatTypeValidationTest, ES2WithExtTextureFormatBGRA8888) {
2510 SetupFeatureInfo("GL_EXT_texture_format_BGRA8888", "OpenGL ES 2.0", false); 2506 SetupFeatureInfo("GL_EXT_texture_format_BGRA8888", "OpenGL ES 2.0",
2507 CONTEXT_TYPE_OPENGLES2);
2511 2508
2512 ExpectValid(true, GL_BGRA_EXT, GL_UNSIGNED_BYTE, GL_BGRA_EXT); 2509 ExpectValid(true, GL_BGRA_EXT, GL_UNSIGNED_BYTE, GL_BGRA_EXT);
2513 } 2510 }
2514 2511
2515 TEST_F(TextureFormatTypeValidationTest, ES2WithAppleTextureFormatBGRA8888) { 2512 TEST_F(TextureFormatTypeValidationTest, ES2WithAppleTextureFormatBGRA8888) {
2516 SetupFeatureInfo("GL_APPLE_texture_format_BGRA8888", "OpenGL ES 2.0", false); 2513 SetupFeatureInfo("GL_APPLE_texture_format_BGRA8888", "OpenGL ES 2.0",
2514 CONTEXT_TYPE_OPENGLES2);
2517 2515
2518 ExpectValid(true, GL_BGRA_EXT, GL_UNSIGNED_BYTE, GL_BGRA_EXT); 2516 ExpectValid(true, GL_BGRA_EXT, GL_UNSIGNED_BYTE, GL_BGRA_EXT);
2519 } 2517 }
2520 2518
2521 TEST_F(TextureFormatTypeValidationTest, ES2WithArbDepth) { 2519 TEST_F(TextureFormatTypeValidationTest, ES2WithArbDepth) {
2522 SetupFeatureInfo("GL_ARB_depth_texture", "OpenGL ES 2.0", false); 2520 SetupFeatureInfo("GL_ARB_depth_texture", "OpenGL ES 2.0",
2521 CONTEXT_TYPE_OPENGLES2);
2523 2522
2524 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT); 2523 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT);
2525 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT); 2524 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT);
2526 ExpectInvalidEnum( 2525 ExpectInvalidEnum(
2527 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL); 2526 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL);
2528 } 2527 }
2529 2528
2530 TEST_F(TextureFormatTypeValidationTest, ES2WithOesDepth) { 2529 TEST_F(TextureFormatTypeValidationTest, ES2WithOesDepth) {
2531 SetupFeatureInfo("GL_OES_depth_texture", "OpenGL ES 2.0", false); 2530 SetupFeatureInfo("GL_OES_depth_texture", "OpenGL ES 2.0",
2531 CONTEXT_TYPE_OPENGLES2);
2532 2532
2533 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT); 2533 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT);
2534 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT); 2534 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT);
2535 ExpectInvalidEnum( 2535 ExpectInvalidEnum(
2536 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL); 2536 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL);
2537 } 2537 }
2538 2538
2539 TEST_F(TextureFormatTypeValidationTest, ES2WithAngleDepth) { 2539 TEST_F(TextureFormatTypeValidationTest, ES2WithAngleDepth) {
2540 SetupFeatureInfo("GL_ANGLE_depth_texture", "OpenGL ES 2.0", false); 2540 SetupFeatureInfo("GL_ANGLE_depth_texture", "OpenGL ES 2.0",
2541 CONTEXT_TYPE_OPENGLES2);
2541 2542
2542 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT); 2543 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT);
2543 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT); 2544 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT);
2544 ExpectInvalidEnum( 2545 ExpectInvalidEnum(
2545 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL); 2546 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL);
2546 } 2547 }
2547 2548
2548 TEST_F(TextureFormatTypeValidationTest, ES2WithExtPackedDepthStencil) { 2549 TEST_F(TextureFormatTypeValidationTest, ES2WithExtPackedDepthStencil) {
2549 SetupFeatureInfo( 2550 SetupFeatureInfo("GL_EXT_packed_depth_stencil GL_ARB_depth_texture",
2550 "GL_EXT_packed_depth_stencil GL_ARB_depth_texture", 2551 "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2);
2551 "OpenGL ES 2.0",
2552 false);
2553 2552
2554 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT); 2553 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT);
2555 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT); 2554 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT);
2556 ExpectValid(true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL); 2555 ExpectValid(true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH_STENCIL);
2557 } 2556 }
2558 2557
2559 TEST_F(TextureFormatTypeValidationTest, ES2WithRGWithFloat) { 2558 TEST_F(TextureFormatTypeValidationTest, ES2WithRGWithFloat) {
2560 SetupFeatureInfo( 2559 SetupFeatureInfo(
2561 "GL_EXT_texture_rg GL_OES_texture_float GL_OES_texture_half_float", 2560 "GL_EXT_texture_rg GL_OES_texture_float GL_OES_texture_half_float",
2562 "OpenGL ES 2.0", 2561 "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2);
2563 false);
2564 2562
2565 ExpectValid(true, GL_RED_EXT, GL_HALF_FLOAT_OES, GL_RED_EXT); 2563 ExpectValid(true, GL_RED_EXT, GL_HALF_FLOAT_OES, GL_RED_EXT);
2566 ExpectValid(true, GL_RG_EXT, GL_HALF_FLOAT_OES, GL_RG_EXT); 2564 ExpectValid(true, GL_RG_EXT, GL_HALF_FLOAT_OES, GL_RG_EXT);
2567 ExpectValid(true, GL_RED_EXT, GL_UNSIGNED_BYTE, GL_RED_EXT); 2565 ExpectValid(true, GL_RED_EXT, GL_UNSIGNED_BYTE, GL_RED_EXT);
2568 ExpectValid(true, GL_RG_EXT, GL_UNSIGNED_BYTE, GL_RG_EXT); 2566 ExpectValid(true, GL_RG_EXT, GL_UNSIGNED_BYTE, GL_RG_EXT);
2569 2567
2570 ExpectInvalidEnum(true, GL_RED_EXT, GL_BYTE, GL_RED_EXT); 2568 ExpectInvalidEnum(true, GL_RED_EXT, GL_BYTE, GL_RED_EXT);
2571 ExpectInvalidEnum(true, GL_RG_EXT, GL_BYTE, GL_RG_EXT); 2569 ExpectInvalidEnum(true, GL_RG_EXT, GL_BYTE, GL_RG_EXT);
2572 ExpectInvalidEnum(true, GL_RED_EXT, GL_SHORT, GL_RED_EXT); 2570 ExpectInvalidEnum(true, GL_RED_EXT, GL_SHORT, GL_RED_EXT);
2573 ExpectInvalidEnum(true, GL_RG_EXT, GL_SHORT, GL_RG_EXT); 2571 ExpectInvalidEnum(true, GL_RG_EXT, GL_SHORT, GL_RG_EXT);
2574 } 2572 }
2575 2573
2576 TEST_F(TextureFormatTypeValidationTest, ES2WithRGNoFloat) { 2574 TEST_F(TextureFormatTypeValidationTest, ES2WithRGNoFloat) {
2577 SetupFeatureInfo("GL_ARB_texture_rg", "OpenGL ES 2.0", false); 2575 SetupFeatureInfo("GL_ARB_texture_rg", "OpenGL ES 2.0",
2576 CONTEXT_TYPE_OPENGLES2);
2578 2577
2579 ExpectValid(true, GL_RED_EXT, GL_UNSIGNED_BYTE, GL_RED_EXT); 2578 ExpectValid(true, GL_RED_EXT, GL_UNSIGNED_BYTE, GL_RED_EXT);
2580 ExpectValid(true, GL_RG_EXT, GL_UNSIGNED_BYTE, GL_RG_EXT); 2579 ExpectValid(true, GL_RG_EXT, GL_UNSIGNED_BYTE, GL_RG_EXT);
2581 2580
2582 ExpectInvalidEnum(true, GL_RED_EXT, GL_HALF_FLOAT_OES, GL_RED_EXT); 2581 ExpectInvalidEnum(true, GL_RED_EXT, GL_HALF_FLOAT_OES, GL_RED_EXT);
2583 ExpectInvalidEnum(true, GL_RG_EXT, GL_HALF_FLOAT_OES, GL_RG_EXT); 2582 ExpectInvalidEnum(true, GL_RG_EXT, GL_HALF_FLOAT_OES, GL_RG_EXT);
2584 } 2583 }
2585 2584
2586 TEST_F(TextureFormatTypeValidationTest, ES2OnTopOfES3) { 2585 TEST_F(TextureFormatTypeValidationTest, ES2OnTopOfES3) {
2587 SetupFeatureInfo("", "OpenGL ES 3.0", false); 2586 SetupFeatureInfo("", "OpenGL ES 3.0", CONTEXT_TYPE_OPENGLES2);
2588 2587
2589 ExpectInvalidEnum(true, GL_RGB, GL_FLOAT, GL_RGB); 2588 ExpectInvalidEnum(true, GL_RGB, GL_FLOAT, GL_RGB);
2590 ExpectInvalidEnum(true, GL_RGBA, GL_FLOAT, GL_RGBA); 2589 ExpectInvalidEnum(true, GL_RGBA, GL_FLOAT, GL_RGBA);
2591 ExpectInvalidEnum(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE); 2590 ExpectInvalidEnum(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE);
2592 ExpectInvalidEnum(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA); 2591 ExpectInvalidEnum(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA);
2593 ExpectInvalidEnum(true, GL_ALPHA, GL_FLOAT, GL_ALPHA); 2592 ExpectInvalidEnum(true, GL_ALPHA, GL_FLOAT, GL_ALPHA);
2594 2593
2595 ExpectInvalidEnum(true, GL_SRGB_EXT, GL_UNSIGNED_BYTE, GL_SRGB_EXT); 2594 ExpectInvalidEnum(true, GL_SRGB_EXT, GL_UNSIGNED_BYTE, GL_SRGB_EXT);
2596 ExpectInvalidEnum( 2595 ExpectInvalidEnum(
2597 true, GL_SRGB_ALPHA_EXT, GL_UNSIGNED_BYTE, GL_SRGB_ALPHA_EXT); 2596 true, GL_SRGB_ALPHA_EXT, GL_UNSIGNED_BYTE, GL_SRGB_ALPHA_EXT);
2598 } 2597 }
2599 2598
2600 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureFloat) { 2599 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureFloat) {
2601 SetupFeatureInfo("GL_OES_texture_float", "OpenGL ES 2.0", false); 2600 SetupFeatureInfo("GL_OES_texture_float", "OpenGL ES 2.0",
2601 CONTEXT_TYPE_OPENGLES2);
2602 2602
2603 ExpectValid(true, GL_RGB, GL_FLOAT, GL_RGB); 2603 ExpectValid(true, GL_RGB, GL_FLOAT, GL_RGB);
2604 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA); 2604 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA);
2605 ExpectValid(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE); 2605 ExpectValid(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE);
2606 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA); 2606 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA);
2607 ExpectValid(true, GL_ALPHA, GL_FLOAT, GL_ALPHA); 2607 ExpectValid(true, GL_ALPHA, GL_FLOAT, GL_ALPHA);
2608 2608
2609 ExpectInvalidEnum(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB); 2609 ExpectInvalidEnum(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB);
2610 ExpectInvalidEnum(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA); 2610 ExpectInvalidEnum(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA);
2611 ExpectInvalidEnum(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE); 2611 ExpectInvalidEnum(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE);
2612 ExpectInvalidEnum( 2612 ExpectInvalidEnum(
2613 true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA); 2613 true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA);
2614 ExpectInvalidEnum(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA); 2614 ExpectInvalidEnum(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA);
2615 } 2615 }
2616 2616
2617 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureFloatLinear) { 2617 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureFloatLinear) {
2618 SetupFeatureInfo( 2618 SetupFeatureInfo("GL_OES_texture_float GL_OES_texture_float_linear",
2619 "GL_OES_texture_float GL_OES_texture_float_linear", 2619 "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2);
2620 "OpenGL ES 2.0",
2621 false);
2622 2620
2623 ExpectValid(true, GL_RGB, GL_FLOAT, GL_RGB); 2621 ExpectValid(true, GL_RGB, GL_FLOAT, GL_RGB);
2624 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA); 2622 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA);
2625 ExpectValid(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE); 2623 ExpectValid(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE);
2626 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA); 2624 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA);
2627 ExpectValid(true, GL_ALPHA, GL_FLOAT, GL_ALPHA); 2625 ExpectValid(true, GL_ALPHA, GL_FLOAT, GL_ALPHA);
2628 2626
2629 ExpectInvalidEnum(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB); 2627 ExpectInvalidEnum(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB);
2630 ExpectInvalidEnum(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA); 2628 ExpectInvalidEnum(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA);
2631 ExpectInvalidEnum(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE); 2629 ExpectInvalidEnum(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE);
2632 ExpectInvalidEnum( 2630 ExpectInvalidEnum(
2633 true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA); 2631 true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA);
2634 ExpectInvalidEnum(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA); 2632 ExpectInvalidEnum(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA);
2635 } 2633 }
2636 2634
2637 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureHalfFloat) { 2635 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureHalfFloat) {
2638 SetupFeatureInfo("GL_OES_texture_half_float", "OpenGL ES 2.0", false); 2636 SetupFeatureInfo("GL_OES_texture_half_float", "OpenGL ES 2.0",
2637 CONTEXT_TYPE_OPENGLES2);
2639 2638
2640 ExpectValid(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB); 2639 ExpectValid(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB);
2641 ExpectValid(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA); 2640 ExpectValid(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA);
2642 ExpectValid(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE); 2641 ExpectValid(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE);
2643 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA); 2642 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA);
2644 ExpectValid(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA); 2643 ExpectValid(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA);
2645 2644
2646 ExpectInvalidEnum(true, GL_RGB, GL_FLOAT, GL_RGB); 2645 ExpectInvalidEnum(true, GL_RGB, GL_FLOAT, GL_RGB);
2647 ExpectInvalidEnum(true, GL_RGBA, GL_FLOAT, GL_RGBA); 2646 ExpectInvalidEnum(true, GL_RGBA, GL_FLOAT, GL_RGBA);
2648 ExpectInvalidEnum(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE); 2647 ExpectInvalidEnum(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE);
2649 ExpectInvalidEnum(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA); 2648 ExpectInvalidEnum(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA);
2650 ExpectInvalidEnum(true, GL_ALPHA, GL_FLOAT, GL_ALPHA); 2649 ExpectInvalidEnum(true, GL_ALPHA, GL_FLOAT, GL_ALPHA);
2651 } 2650 }
2652 2651
2653 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureHalfFloatLinear) { 2652 TEST_F(TextureFormatTypeValidationTest, ES2WithOesTextureHalfFloatLinear) {
2654 SetupFeatureInfo( 2653 SetupFeatureInfo("GL_OES_texture_half_float GL_OES_texture_half_float_linear",
2655 "GL_OES_texture_half_float GL_OES_texture_half_float_linear", 2654 "OpenGL ES 2.0", CONTEXT_TYPE_OPENGLES2);
2656 "OpenGL ES 2.0",
2657 false);
2658 2655
2659 ExpectValid(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB); 2656 ExpectValid(true, GL_RGB, GL_HALF_FLOAT_OES, GL_RGB);
2660 ExpectValid(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA); 2657 ExpectValid(true, GL_RGBA, GL_HALF_FLOAT_OES, GL_RGBA);
2661 ExpectValid(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE); 2658 ExpectValid(true, GL_LUMINANCE, GL_HALF_FLOAT_OES, GL_LUMINANCE);
2662 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA); 2659 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, GL_LUMINANCE_ALPHA);
2663 ExpectValid(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA); 2660 ExpectValid(true, GL_ALPHA, GL_HALF_FLOAT_OES, GL_ALPHA);
2664 2661
2665 ExpectInvalidEnum(true, GL_RGB, GL_FLOAT, GL_RGB); 2662 ExpectInvalidEnum(true, GL_RGB, GL_FLOAT, GL_RGB);
2666 ExpectInvalidEnum(true, GL_RGBA, GL_FLOAT, GL_RGBA); 2663 ExpectInvalidEnum(true, GL_RGBA, GL_FLOAT, GL_RGBA);
2667 ExpectInvalidEnum(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE); 2664 ExpectInvalidEnum(true, GL_LUMINANCE, GL_FLOAT, GL_LUMINANCE);
2668 ExpectInvalidEnum(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA); 2665 ExpectInvalidEnum(true, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_LUMINANCE_ALPHA);
2669 ExpectInvalidEnum(true, GL_ALPHA, GL_FLOAT, GL_ALPHA); 2666 ExpectInvalidEnum(true, GL_ALPHA, GL_FLOAT, GL_ALPHA);
2670 } 2667 }
2671 2668
2672 TEST_F(TextureFormatTypeValidationTest, ES3Basic) { 2669 TEST_F(TextureFormatTypeValidationTest, ES3Basic) {
2673 SetupFeatureInfo("", "OpenGL ES 3.0", true); 2670 SetupFeatureInfo("", "OpenGL ES 3.0", CONTEXT_TYPE_OPENGLES3);
2674 2671
2675 ExpectValid(true, GL_ALPHA, GL_UNSIGNED_BYTE, GL_ALPHA); 2672 ExpectValid(true, GL_ALPHA, GL_UNSIGNED_BYTE, GL_ALPHA);
2676 ExpectValid(true, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_RGB); 2673 ExpectValid(true, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_RGB);
2677 ExpectValid(true, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, GL_RGBA); 2674 ExpectValid(true, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, GL_RGBA);
2678 ExpectValid(true, GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_LUMINANCE); 2675 ExpectValid(true, GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_LUMINANCE);
2679 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_LUMINANCE_ALPHA); 2676 ExpectValid(true, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_LUMINANCE_ALPHA);
2680 2677
2681 ExpectValid(true, GL_RG, GL_BYTE, GL_RG8_SNORM); 2678 ExpectValid(true, GL_RG, GL_BYTE, GL_RG8_SNORM);
2682 ExpectValid(true, GL_RG_INTEGER, GL_UNSIGNED_INT, GL_RG32UI); 2679 ExpectValid(true, GL_RG_INTEGER, GL_UNSIGNED_INT, GL_RG32UI);
2683 ExpectValid(true, GL_RG_INTEGER, GL_SHORT, GL_RG16I); 2680 ExpectValid(true, GL_RG_INTEGER, GL_SHORT, GL_RG16I);
2684 ExpectValid(true, GL_RGB, GL_UNSIGNED_BYTE, GL_SRGB8); 2681 ExpectValid(true, GL_RGB, GL_UNSIGNED_BYTE, GL_SRGB8);
2685 ExpectValid(true, GL_RGBA, GL_HALF_FLOAT, GL_RGBA16F); 2682 ExpectValid(true, GL_RGBA, GL_HALF_FLOAT, GL_RGBA16F);
2686 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA16F); 2683 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA16F);
2687 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA32F); 2684 ExpectValid(true, GL_RGBA, GL_FLOAT, GL_RGBA32F);
2688 2685
2689 ExpectValid( 2686 ExpectValid(
2690 true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT16); 2687 true, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_DEPTH_COMPONENT16);
2691 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT24); 2688 ExpectValid(true, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_DEPTH_COMPONENT24);
2692 ExpectValid(true, GL_DEPTH_COMPONENT, GL_FLOAT, GL_DEPTH_COMPONENT32F); 2689 ExpectValid(true, GL_DEPTH_COMPONENT, GL_FLOAT, GL_DEPTH_COMPONENT32F);
2693 ExpectValid( 2690 ExpectValid(
2694 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH24_STENCIL8); 2691 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH24_STENCIL8);
2695 ExpectValid(true, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, 2692 ExpectValid(true, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
2696 GL_DEPTH32F_STENCIL8); 2693 GL_DEPTH32F_STENCIL8);
2697 2694
2698 ExpectInvalid(true, GL_RGB_INTEGER, GL_INT, GL_RGBA8); 2695 ExpectInvalid(true, GL_RGB_INTEGER, GL_INT, GL_RGBA8);
2699 } 2696 }
2700 2697
2701 } // namespace gles2 2698 } // namespace gles2
2702 } // namespace gpu 2699 } // namespace gpu
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698