| 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/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> |
| 11 #include <utility> | 11 #include <utility> |
| 12 | 12 |
| 13 #include "base/command_line.h" | 13 #include "base/command_line.h" |
| 14 #include "base/macros.h" | 14 #include "base/macros.h" |
| 15 #include "gpu/command_buffer/service/error_state_mock.h" | 15 #include "gpu/command_buffer/service/error_state_mock.h" |
| 16 #include "gpu/command_buffer/service/feature_info.h" | 16 #include "gpu/command_buffer/service/feature_info.h" |
| 17 #include "gpu/command_buffer/service/framebuffer_manager.h" | 17 #include "gpu/command_buffer/service/framebuffer_manager.h" |
| 18 #include "gpu/command_buffer/service/gl_stream_texture_image.h" | 18 #include "gpu/command_buffer/service/gl_stream_texture_image.h" |
| 19 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | 19 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" |
| 20 #include "gpu/command_buffer/service/gpu_service_test.h" | 20 #include "gpu/command_buffer/service/gpu_service_test.h" |
| 21 #include "gpu/command_buffer/service/mailbox_manager.h" | 21 #include "gpu/command_buffer/service/mailbox_manager.h" |
| 22 #include "gpu/command_buffer/service/memory_tracking.h" | 22 #include "gpu/command_buffer/service/memory_tracking.h" |
| 23 #include "gpu/command_buffer/service/mocks.h" | 23 #include "gpu/command_buffer/service/mocks.h" |
| 24 #include "gpu/command_buffer/service/progress_reporter_stub.h" |
| 24 #include "gpu/command_buffer/service/test_helper.h" | 25 #include "gpu/command_buffer/service/test_helper.h" |
| 25 #include "testing/gtest/include/gtest/gtest.h" | 26 #include "testing/gtest/include/gtest/gtest.h" |
| 26 #include "ui/gl/gl_image_stub.h" | 27 #include "ui/gl/gl_image_stub.h" |
| 27 #include "ui/gl/gl_mock.h" | 28 #include "ui/gl/gl_mock.h" |
| 28 #include "ui/gl/gl_switches.h" | 29 #include "ui/gl/gl_switches.h" |
| 29 | 30 |
| 30 using ::testing::AtLeast; | 31 using ::testing::AtLeast; |
| 31 using ::testing::Pointee; | 32 using ::testing::Pointee; |
| 32 using ::testing::Return; | 33 using ::testing::Return; |
| 33 using ::testing::SetArgPointee; | 34 using ::testing::SetArgPointee; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 kMaxArrayTextureLayers, | 91 kMaxArrayTextureLayers, |
| 91 kUseDefaultTextures)); | 92 kUseDefaultTextures)); |
| 92 SetupFeatureInfo("", "OpenGL ES 2.0", false); | 93 SetupFeatureInfo("", "OpenGL ES 2.0", false); |
| 93 TestHelper::SetupTextureManagerInitExpectations( | 94 TestHelper::SetupTextureManagerInitExpectations( |
| 94 gl_.get(), false, false, false, "", kUseDefaultTextures); | 95 gl_.get(), false, false, false, "", kUseDefaultTextures); |
| 95 manager_->Initialize(); | 96 manager_->Initialize(); |
| 96 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); | 97 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); |
| 97 } | 98 } |
| 98 | 99 |
| 99 void TearDown() override { | 100 void TearDown() override { |
| 100 manager_->Destroy(false); | 101 ProgressReporterStub progress_reporter; |
| 102 manager_->Destroy(false, &progress_reporter); |
| 101 manager_.reset(); | 103 manager_.reset(); |
| 102 GpuServiceTest::TearDown(); | 104 GpuServiceTest::TearDown(); |
| 103 } | 105 } |
| 104 | 106 |
| 105 void SetParameter( | 107 void SetParameter( |
| 106 TextureRef* texture_ref, GLenum pname, GLint value, GLenum error) { | 108 TextureRef* texture_ref, GLenum pname, GLint value, GLenum error) { |
| 107 TestHelper::SetTexParameteriWithExpectations( | 109 TestHelper::SetTexParameteriWithExpectations( |
| 108 gl_.get(), error_state_.get(), manager_.get(), | 110 gl_.get(), error_state_.get(), manager_.get(), |
| 109 texture_ref, pname, value, error); | 111 texture_ref, pname, value, error); |
| 110 } | 112 } |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 kMax3DTextureSize, | 258 kMax3DTextureSize, |
| 257 kMaxArrayTextureLayers, | 259 kMaxArrayTextureLayers, |
| 258 use_default_textures); | 260 use_default_textures); |
| 259 manager.Initialize(); | 261 manager.Initialize(); |
| 260 | 262 |
| 261 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) != NULL); | 263 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) != NULL); |
| 262 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) != NULL); | 264 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) != NULL); |
| 263 | 265 |
| 264 // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB. | 266 // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB. |
| 265 | 267 |
| 266 manager.Destroy(false); | 268 ProgressReporterStub progress_reporter; |
| 269 manager.Destroy(false, &progress_reporter); |
| 267 } | 270 } |
| 268 | 271 |
| 269 TEST_F(TextureManagerTest, UseDefaultTexturesFalse) { | 272 TEST_F(TextureManagerTest, UseDefaultTexturesFalse) { |
| 270 bool use_default_textures = false; | 273 bool use_default_textures = false; |
| 271 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), | 274 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| 272 false, false, false, "GL_ANGLE_texture_usage", use_default_textures); | 275 false, false, false, "GL_ANGLE_texture_usage", use_default_textures); |
| 273 TextureManager manager(NULL, | 276 TextureManager manager(NULL, |
| 274 feature_info_.get(), | 277 feature_info_.get(), |
| 275 kMaxTextureSize, | 278 kMaxTextureSize, |
| 276 kMaxCubeMapTextureSize, | 279 kMaxCubeMapTextureSize, |
| 277 kMaxRectangleTextureSize, | 280 kMaxRectangleTextureSize, |
| 278 kMax3DTextureSize, | 281 kMax3DTextureSize, |
| 279 kMaxArrayTextureLayers, | 282 kMaxArrayTextureLayers, |
| 280 use_default_textures); | 283 use_default_textures); |
| 281 manager.Initialize(); | 284 manager.Initialize(); |
| 282 | 285 |
| 283 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL); | 286 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL); |
| 284 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) == NULL); | 287 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) == NULL); |
| 285 | 288 |
| 286 // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB. | 289 // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB. |
| 287 | 290 |
| 288 manager.Destroy(false); | 291 ProgressReporterStub progress_reporter; |
| 292 manager.Destroy(false, &progress_reporter); |
| 289 } | 293 } |
| 290 | 294 |
| 291 TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) { | 295 TEST_F(TextureManagerTest, UseDefaultTexturesTrueES3) { |
| 292 bool use_default_textures = true; | 296 bool use_default_textures = true; |
| 293 SetupFeatureInfo("", "OpenGL ES 3.0", true); | 297 SetupFeatureInfo("", "OpenGL ES 3.0", true); |
| 294 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), | 298 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| 295 true, true, false, "", use_default_textures); | 299 true, true, false, "", use_default_textures); |
| 296 TextureManager manager(NULL, | 300 TextureManager manager(NULL, |
| 297 feature_info_.get(), | 301 feature_info_.get(), |
| 298 kMaxTextureSize, | 302 kMaxTextureSize, |
| 299 kMaxCubeMapTextureSize, | 303 kMaxCubeMapTextureSize, |
| 300 kMaxRectangleTextureSize, | 304 kMaxRectangleTextureSize, |
| 301 kMax3DTextureSize, | 305 kMax3DTextureSize, |
| 302 kMaxArrayTextureLayers, | 306 kMaxArrayTextureLayers, |
| 303 use_default_textures); | 307 use_default_textures); |
| 304 manager.Initialize(); | 308 manager.Initialize(); |
| 305 | 309 |
| 306 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL); | 310 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) != NULL); |
| 307 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) != NULL); | 311 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) != NULL); |
| 308 | 312 |
| 309 manager.Destroy(false); | 313 ProgressReporterStub progress_reporter; |
| 314 manager.Destroy(false, &progress_reporter); |
| 310 } | 315 } |
| 311 | 316 |
| 312 TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) { | 317 TEST_F(TextureManagerTest, UseDefaultTexturesFalseES3) { |
| 313 bool use_default_textures = false; | 318 bool use_default_textures = false; |
| 314 SetupFeatureInfo("", "OpenGL ES 3.0", true); | 319 SetupFeatureInfo("", "OpenGL ES 3.0", true); |
| 315 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), | 320 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| 316 true, true, false, "", use_default_textures); | 321 true, true, false, "", use_default_textures); |
| 317 TextureManager manager(NULL, | 322 TextureManager manager(NULL, |
| 318 feature_info_.get(), | 323 feature_info_.get(), |
| 319 kMaxTextureSize, | 324 kMaxTextureSize, |
| 320 kMaxCubeMapTextureSize, | 325 kMaxCubeMapTextureSize, |
| 321 kMaxRectangleTextureSize, | 326 kMaxRectangleTextureSize, |
| 322 kMax3DTextureSize, | 327 kMax3DTextureSize, |
| 323 kMaxArrayTextureLayers, | 328 kMaxArrayTextureLayers, |
| 324 use_default_textures); | 329 use_default_textures); |
| 325 manager.Initialize(); | 330 manager.Initialize(); |
| 326 | 331 |
| 327 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL); | 332 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_3D) == NULL); |
| 328 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) == NULL); | 333 EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D_ARRAY) == NULL); |
| 329 | 334 |
| 330 manager.Destroy(false); | 335 ProgressReporterStub progress_reporter; |
| 336 manager.Destroy(false, &progress_reporter); |
| 331 } | 337 } |
| 332 | 338 |
| 333 TEST_F(TextureManagerTest, TextureUsageExt) { | 339 TEST_F(TextureManagerTest, TextureUsageExt) { |
| 334 TestHelper::SetupTextureManagerInitExpectations( | 340 TestHelper::SetupTextureManagerInitExpectations( |
| 335 gl_.get(), false, false, false, "GL_ANGLE_texture_usage", | 341 gl_.get(), false, false, false, "GL_ANGLE_texture_usage", |
| 336 kUseDefaultTextures); | 342 kUseDefaultTextures); |
| 337 TextureManager manager(NULL, | 343 TextureManager manager(NULL, |
| 338 feature_info_.get(), | 344 feature_info_.get(), |
| 339 kMaxTextureSize, | 345 kMaxTextureSize, |
| 340 kMaxCubeMapTextureSize, | 346 kMaxCubeMapTextureSize, |
| 341 kMaxRectangleTextureSize, | 347 kMaxRectangleTextureSize, |
| 342 kMax3DTextureSize, | 348 kMax3DTextureSize, |
| 343 kMaxArrayTextureLayers, | 349 kMaxArrayTextureLayers, |
| 344 kUseDefaultTextures); | 350 kUseDefaultTextures); |
| 345 manager.Initialize(); | 351 manager.Initialize(); |
| 346 const GLuint kClient1Id = 1; | 352 const GLuint kClient1Id = 1; |
| 347 const GLuint kService1Id = 11; | 353 const GLuint kService1Id = 11; |
| 348 // Check we can create texture. | 354 // Check we can create texture. |
| 349 manager.CreateTexture(kClient1Id, kService1Id); | 355 manager.CreateTexture(kClient1Id, kService1Id); |
| 350 // Check texture got created. | 356 // Check texture got created. |
| 351 TextureRef* texture_ref = manager.GetTexture(kClient1Id); | 357 TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
| 352 ASSERT_TRUE(texture_ref != NULL); | 358 ASSERT_TRUE(texture_ref != NULL); |
| 353 TestHelper::SetTexParameteriWithExpectations( | 359 TestHelper::SetTexParameteriWithExpectations( |
| 354 gl_.get(), error_state_.get(), &manager, texture_ref, | 360 gl_.get(), error_state_.get(), &manager, texture_ref, |
| 355 GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE, GL_NO_ERROR); | 361 GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE, GL_NO_ERROR); |
| 356 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_ATTACHMENT_ANGLE), | 362 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_ATTACHMENT_ANGLE), |
| 357 texture_ref->texture()->usage()); | 363 texture_ref->texture()->usage()); |
| 358 manager.Destroy(false); | 364 ProgressReporterStub progress_reporter; |
| 365 manager.Destroy(false, &progress_reporter); |
| 359 } | 366 } |
| 360 | 367 |
| 361 TEST_F(TextureManagerTest, Destroy) { | 368 TEST_F(TextureManagerTest, Destroy) { |
| 362 const GLuint kClient1Id = 1; | 369 const GLuint kClient1Id = 1; |
| 363 const GLuint kService1Id = 11; | 370 const GLuint kService1Id = 11; |
| 364 TestHelper::SetupTextureManagerInitExpectations( | 371 TestHelper::SetupTextureManagerInitExpectations( |
| 365 gl_.get(), false, false, false, "", kUseDefaultTextures); | 372 gl_.get(), false, false, false, "", kUseDefaultTextures); |
| 366 TextureManager manager(NULL, | 373 TextureManager manager(NULL, |
| 367 feature_info_.get(), | 374 feature_info_.get(), |
| 368 kMaxTextureSize, | 375 kMaxTextureSize, |
| 369 kMaxCubeMapTextureSize, | 376 kMaxCubeMapTextureSize, |
| 370 kMaxRectangleTextureSize, | 377 kMaxRectangleTextureSize, |
| 371 kMax3DTextureSize, | 378 kMax3DTextureSize, |
| 372 kMaxArrayTextureLayers, | 379 kMaxArrayTextureLayers, |
| 373 kUseDefaultTextures); | 380 kUseDefaultTextures); |
| 374 manager.Initialize(); | 381 manager.Initialize(); |
| 375 // Check we can create texture. | 382 // Check we can create texture. |
| 376 manager.CreateTexture(kClient1Id, kService1Id); | 383 manager.CreateTexture(kClient1Id, kService1Id); |
| 377 // Check texture got created. | 384 // Check texture got created. |
| 378 TextureRef* texture = manager.GetTexture(kClient1Id); | 385 TextureRef* texture = manager.GetTexture(kClient1Id); |
| 379 ASSERT_TRUE(texture != NULL); | 386 ASSERT_TRUE(texture != NULL); |
| 380 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id))) | 387 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id))) |
| 381 .Times(1) | 388 .Times(1) |
| 382 .RetiresOnSaturation(); | 389 .RetiresOnSaturation(); |
| 383 TestHelper::SetupTextureManagerDestructionExpectations( | 390 TestHelper::SetupTextureManagerDestructionExpectations( |
| 384 gl_.get(), false, false, "", kUseDefaultTextures); | 391 gl_.get(), false, false, "", kUseDefaultTextures); |
| 385 manager.Destroy(true); | 392 ProgressReporterStub progress_reporter; |
| 393 manager.Destroy(true, &progress_reporter); |
| 386 // Check that resources got freed. | 394 // Check that resources got freed. |
| 387 texture = manager.GetTexture(kClient1Id); | 395 texture = manager.GetTexture(kClient1Id); |
| 388 ASSERT_TRUE(texture == NULL); | 396 ASSERT_TRUE(texture == NULL); |
| 389 } | 397 } |
| 390 | 398 |
| 391 TEST_F(TextureManagerTest, MaxValues) { | 399 TEST_F(TextureManagerTest, MaxValues) { |
| 392 // Check we get the right values for the max sizes. | 400 // Check we get the right values for the max sizes. |
| 393 EXPECT_EQ(kMax2dLevels, manager_->MaxLevelsForTarget(GL_TEXTURE_2D)); | 401 EXPECT_EQ(kMax2dLevels, manager_->MaxLevelsForTarget(GL_TEXTURE_2D)); |
| 394 EXPECT_EQ(kMaxCubeMapLevels, | 402 EXPECT_EQ(kMaxCubeMapLevels, |
| 395 manager_->MaxLevelsForTarget(GL_TEXTURE_CUBE_MAP)); | 403 manager_->MaxLevelsForTarget(GL_TEXTURE_CUBE_MAP)); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 kMaxArrayTextureLayers, | 539 kMaxArrayTextureLayers, |
| 532 kUseDefaultTextures); | 540 kUseDefaultTextures); |
| 533 // Check NPOT width on level 0 | 541 // Check NPOT width on level 0 |
| 534 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 5, 2, 1)); | 542 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 5, 2, 1)); |
| 535 // Check NPOT height on level 0 | 543 // Check NPOT height on level 0 |
| 536 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 2, 5, 1)); | 544 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 2, 5, 1)); |
| 537 // Check NPOT width on level 1 | 545 // Check NPOT width on level 1 |
| 538 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 5, 2, 1)); | 546 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 5, 2, 1)); |
| 539 // Check NPOT height on level 1 | 547 // Check NPOT height on level 1 |
| 540 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 2, 5, 1)); | 548 EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 1, 2, 5, 1)); |
| 541 manager.Destroy(false); | 549 ProgressReporterStub progress_reporter; |
| 550 manager.Destroy(false, &progress_reporter); |
| 542 } | 551 } |
| 543 | 552 |
| 544 TEST_F(TextureManagerTest, AlphaLuminanceCompatibilityProfile) { | 553 TEST_F(TextureManagerTest, AlphaLuminanceCompatibilityProfile) { |
| 545 const GLuint kClientId = 1; | 554 const GLuint kClientId = 1; |
| 546 const GLuint kServiceId = 11; | 555 const GLuint kServiceId = 11; |
| 547 | 556 |
| 548 SetupFeatureInfo("", "2.1", false); | 557 SetupFeatureInfo("", "2.1", false); |
| 549 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), false, false, | 558 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), false, false, |
| 550 false, "", kUseDefaultTextures); | 559 false, "", kUseDefaultTextures); |
| 551 TextureManager manager(NULL, | 560 TextureManager manager(NULL, |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 733 // delete the texture. | 742 // delete the texture. |
| 734 if (!texture_ref_->client_id()) { | 743 if (!texture_ref_->client_id()) { |
| 735 // Check that it gets deleted when the last reference is released. | 744 // Check that it gets deleted when the last reference is released. |
| 736 EXPECT_CALL(*gl_, | 745 EXPECT_CALL(*gl_, |
| 737 DeleteTextures(1, ::testing::Pointee(texture_ref_->service_id()))) | 746 DeleteTextures(1, ::testing::Pointee(texture_ref_->service_id()))) |
| 738 .Times(1) | 747 .Times(1) |
| 739 .RetiresOnSaturation(); | 748 .RetiresOnSaturation(); |
| 740 } | 749 } |
| 741 texture_ref_ = NULL; | 750 texture_ref_ = NULL; |
| 742 } | 751 } |
| 743 manager_->Destroy(false); | 752 ProgressReporterStub progress_reporter; |
| 753 manager_->Destroy(false, &progress_reporter); |
| 744 manager_.reset(); | 754 manager_.reset(); |
| 745 GpuServiceTest::TearDown(); | 755 GpuServiceTest::TearDown(); |
| 746 } | 756 } |
| 747 | 757 |
| 748 void SetParameter( | 758 void SetParameter( |
| 749 TextureRef* texture_ref, GLenum pname, GLint value, GLenum error) { | 759 TextureRef* texture_ref, GLenum pname, GLint value, GLenum error) { |
| 750 TestHelper::SetTexParameteriWithExpectations( | 760 TestHelper::SetTexParameteriWithExpectations( |
| 751 gl_.get(), error_state_.get(), manager_.get(), | 761 gl_.get(), error_state_.get(), manager_.get(), |
| 752 texture_ref, pname, value, error); | 762 texture_ref, pname, value, error); |
| 753 } | 763 } |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 // Check Setting level 0 to NPOT | 1046 // Check Setting level 0 to NPOT |
| 1037 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, | 1047 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, |
| 1038 GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); | 1048 GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect(4, 5)); |
| 1039 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); | 1049 EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); |
| 1040 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); | 1050 EXPECT_FALSE(TextureTestHelper::IsTextureComplete(texture)); |
| 1041 EXPECT_TRUE(manager.CanGenerateMipmaps(texture_ref)); | 1051 EXPECT_TRUE(manager.CanGenerateMipmaps(texture_ref)); |
| 1042 EXPECT_FALSE(manager.CanRender(texture_ref)); | 1052 EXPECT_FALSE(manager.CanRender(texture_ref)); |
| 1043 manager.MarkMipmapsGenerated(texture_ref); | 1053 manager.MarkMipmapsGenerated(texture_ref); |
| 1044 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); | 1054 EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
| 1045 EXPECT_TRUE(manager.CanRender(texture_ref)); | 1055 EXPECT_TRUE(manager.CanRender(texture_ref)); |
| 1046 manager.Destroy(false); | 1056 ProgressReporterStub progress_reporter; |
| 1057 manager.Destroy(false, &progress_reporter); |
| 1047 } | 1058 } |
| 1048 | 1059 |
| 1049 TEST_F(TextureTest, POTCubeMap) { | 1060 TEST_F(TextureTest, POTCubeMap) { |
| 1050 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_CUBE_MAP); | 1061 manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_CUBE_MAP); |
| 1051 Texture* texture = texture_ref_->texture(); | 1062 Texture* texture = texture_ref_->texture(); |
| 1052 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture->target()); | 1063 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), texture->target()); |
| 1053 // Check Setting level 0 each face to POT | 1064 // Check Setting level 0 each face to POT |
| 1054 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, | 1065 manager_->SetLevelInfo(texture_ref_.get(), GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, |
| 1055 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, | 1066 GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, |
| 1056 gfx::Rect(4, 4)); | 1067 gfx::Rect(4, 4)); |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1338 GL_RGBA, GL_FLOAT, gfx::Rect(1, 1)); | 1349 GL_RGBA, GL_FLOAT, gfx::Rect(1, 1)); |
| 1339 EXPECT_FALSE(manager.CanRender(texture_ref)); | 1350 EXPECT_FALSE(manager.CanRender(texture_ref)); |
| 1340 TestHelper::SetTexParameteriWithExpectations( | 1351 TestHelper::SetTexParameteriWithExpectations( |
| 1341 gl_.get(), error_state_.get(), &manager, | 1352 gl_.get(), error_state_.get(), &manager, |
| 1342 texture_ref, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); | 1353 texture_ref, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); |
| 1343 EXPECT_FALSE(manager.CanRender(texture_ref)); | 1354 EXPECT_FALSE(manager.CanRender(texture_ref)); |
| 1344 TestHelper::SetTexParameteriWithExpectations( | 1355 TestHelper::SetTexParameteriWithExpectations( |
| 1345 gl_.get(), error_state_.get(), &manager, texture_ref, | 1356 gl_.get(), error_state_.get(), &manager, texture_ref, |
| 1346 GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); | 1357 GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); |
| 1347 EXPECT_TRUE(manager.CanRender(texture_ref)); | 1358 EXPECT_TRUE(manager.CanRender(texture_ref)); |
| 1348 manager.Destroy(false); | 1359 ProgressReporterStub progress_reporter; |
| 1360 manager.Destroy(false, &progress_reporter); |
| 1349 } | 1361 } |
| 1350 | 1362 |
| 1351 TEST_F(TextureTest, FloatLinear) { | 1363 TEST_F(TextureTest, FloatLinear) { |
| 1352 TestHelper::SetupFeatureInfoInitExpectations( | 1364 TestHelper::SetupFeatureInfoInitExpectations( |
| 1353 gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear"); | 1365 gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear"); |
| 1354 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 1366 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 1355 feature_info->InitializeForTesting(); | 1367 feature_info->InitializeForTesting(); |
| 1356 TextureManager manager(NULL, | 1368 TextureManager manager(NULL, |
| 1357 feature_info.get(), | 1369 feature_info.get(), |
| 1358 kMaxTextureSize, | 1370 kMaxTextureSize, |
| 1359 kMaxCubeMapTextureSize, | 1371 kMaxCubeMapTextureSize, |
| 1360 kMaxRectangleTextureSize, | 1372 kMaxRectangleTextureSize, |
| 1361 kMax3DTextureSize, | 1373 kMax3DTextureSize, |
| 1362 kMaxArrayTextureLayers, | 1374 kMaxArrayTextureLayers, |
| 1363 kUseDefaultTextures); | 1375 kUseDefaultTextures); |
| 1364 manager.CreateTexture(kClient1Id, kService1Id); | 1376 manager.CreateTexture(kClient1Id, kService1Id); |
| 1365 TextureRef* texture_ref = manager.GetTexture(kClient1Id); | 1377 TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
| 1366 ASSERT_TRUE(texture_ref != NULL); | 1378 ASSERT_TRUE(texture_ref != NULL); |
| 1367 manager.SetTarget(texture_ref, GL_TEXTURE_2D); | 1379 manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
| 1368 Texture* texture = texture_ref->texture(); | 1380 Texture* texture = texture_ref->texture(); |
| 1369 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); | 1381 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
| 1370 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, | 1382 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, |
| 1371 GL_RGBA, GL_FLOAT, gfx::Rect(1, 1)); | 1383 GL_RGBA, GL_FLOAT, gfx::Rect(1, 1)); |
| 1372 EXPECT_TRUE(manager.CanRender(texture_ref)); | 1384 EXPECT_TRUE(manager.CanRender(texture_ref)); |
| 1373 manager.Destroy(false); | 1385 ProgressReporterStub progress_reporter; |
| 1386 manager.Destroy(false, &progress_reporter); |
| 1374 } | 1387 } |
| 1375 | 1388 |
| 1376 TEST_F(TextureTest, HalfFloatNotLinear) { | 1389 TEST_F(TextureTest, HalfFloatNotLinear) { |
| 1377 TestHelper::SetupFeatureInfoInitExpectations( | 1390 TestHelper::SetupFeatureInfoInitExpectations( |
| 1378 gl_.get(), "GL_OES_texture_half_float"); | 1391 gl_.get(), "GL_OES_texture_half_float"); |
| 1379 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 1392 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 1380 feature_info->InitializeForTesting(); | 1393 feature_info->InitializeForTesting(); |
| 1381 TextureManager manager(NULL, | 1394 TextureManager manager(NULL, |
| 1382 feature_info.get(), | 1395 feature_info.get(), |
| 1383 kMaxTextureSize, | 1396 kMaxTextureSize, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1396 GL_RGBA, GL_HALF_FLOAT_OES, gfx::Rect(1, 1)); | 1409 GL_RGBA, GL_HALF_FLOAT_OES, gfx::Rect(1, 1)); |
| 1397 EXPECT_FALSE(manager.CanRender(texture_ref)); | 1410 EXPECT_FALSE(manager.CanRender(texture_ref)); |
| 1398 TestHelper::SetTexParameteriWithExpectations( | 1411 TestHelper::SetTexParameteriWithExpectations( |
| 1399 gl_.get(), error_state_.get(), &manager, | 1412 gl_.get(), error_state_.get(), &manager, |
| 1400 texture_ref, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); | 1413 texture_ref, GL_TEXTURE_MAG_FILTER, GL_NEAREST, GL_NO_ERROR); |
| 1401 EXPECT_FALSE(manager.CanRender(texture_ref)); | 1414 EXPECT_FALSE(manager.CanRender(texture_ref)); |
| 1402 TestHelper::SetTexParameteriWithExpectations( | 1415 TestHelper::SetTexParameteriWithExpectations( |
| 1403 gl_.get(), error_state_.get(), &manager, texture_ref, | 1416 gl_.get(), error_state_.get(), &manager, texture_ref, |
| 1404 GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); | 1417 GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST, GL_NO_ERROR); |
| 1405 EXPECT_TRUE(manager.CanRender(texture_ref)); | 1418 EXPECT_TRUE(manager.CanRender(texture_ref)); |
| 1406 manager.Destroy(false); | 1419 ProgressReporterStub progress_reporter; |
| 1420 manager.Destroy(false, &progress_reporter); |
| 1407 } | 1421 } |
| 1408 | 1422 |
| 1409 TEST_F(TextureTest, HalfFloatLinear) { | 1423 TEST_F(TextureTest, HalfFloatLinear) { |
| 1410 TestHelper::SetupFeatureInfoInitExpectations( | 1424 TestHelper::SetupFeatureInfoInitExpectations( |
| 1411 gl_.get(), "GL_OES_texture_half_float GL_OES_texture_half_float_linear"); | 1425 gl_.get(), "GL_OES_texture_half_float GL_OES_texture_half_float_linear"); |
| 1412 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 1426 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 1413 feature_info->InitializeForTesting(); | 1427 feature_info->InitializeForTesting(); |
| 1414 TextureManager manager(NULL, | 1428 TextureManager manager(NULL, |
| 1415 feature_info.get(), | 1429 feature_info.get(), |
| 1416 kMaxTextureSize, | 1430 kMaxTextureSize, |
| 1417 kMaxCubeMapTextureSize, | 1431 kMaxCubeMapTextureSize, |
| 1418 kMaxRectangleTextureSize, | 1432 kMaxRectangleTextureSize, |
| 1419 kMax3DTextureSize, | 1433 kMax3DTextureSize, |
| 1420 kMaxArrayTextureLayers, | 1434 kMaxArrayTextureLayers, |
| 1421 kUseDefaultTextures); | 1435 kUseDefaultTextures); |
| 1422 manager.CreateTexture(kClient1Id, kService1Id); | 1436 manager.CreateTexture(kClient1Id, kService1Id); |
| 1423 TextureRef* texture_ref = manager.GetTexture(kClient1Id); | 1437 TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
| 1424 ASSERT_TRUE(texture_ref != NULL); | 1438 ASSERT_TRUE(texture_ref != NULL); |
| 1425 manager.SetTarget(texture_ref, GL_TEXTURE_2D); | 1439 manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
| 1426 Texture* texture = texture_ref->texture(); | 1440 Texture* texture = texture_ref->texture(); |
| 1427 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); | 1441 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), texture->target()); |
| 1428 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, | 1442 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, |
| 1429 GL_RGBA, GL_HALF_FLOAT_OES, gfx::Rect(1, 1)); | 1443 GL_RGBA, GL_HALF_FLOAT_OES, gfx::Rect(1, 1)); |
| 1430 EXPECT_TRUE(manager.CanRender(texture_ref)); | 1444 EXPECT_TRUE(manager.CanRender(texture_ref)); |
| 1431 manager.Destroy(false); | 1445 ProgressReporterStub progress_reporter; |
| 1446 manager.Destroy(false, &progress_reporter); |
| 1432 } | 1447 } |
| 1433 | 1448 |
| 1434 TEST_F(TextureTest, EGLImageExternal) { | 1449 TEST_F(TextureTest, EGLImageExternal) { |
| 1435 TestHelper::SetupFeatureInfoInitExpectations( | 1450 TestHelper::SetupFeatureInfoInitExpectations( |
| 1436 gl_.get(), "GL_OES_EGL_image_external"); | 1451 gl_.get(), "GL_OES_EGL_image_external"); |
| 1437 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 1452 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 1438 feature_info->InitializeForTesting(); | 1453 feature_info->InitializeForTesting(); |
| 1439 TextureManager manager(NULL, | 1454 TextureManager manager(NULL, |
| 1440 feature_info.get(), | 1455 feature_info.get(), |
| 1441 kMaxTextureSize, | 1456 kMaxTextureSize, |
| 1442 kMaxCubeMapTextureSize, | 1457 kMaxCubeMapTextureSize, |
| 1443 kMaxRectangleTextureSize, | 1458 kMaxRectangleTextureSize, |
| 1444 kMax3DTextureSize, | 1459 kMax3DTextureSize, |
| 1445 kMaxArrayTextureLayers, | 1460 kMaxArrayTextureLayers, |
| 1446 kUseDefaultTextures); | 1461 kUseDefaultTextures); |
| 1447 manager.CreateTexture(kClient1Id, kService1Id); | 1462 manager.CreateTexture(kClient1Id, kService1Id); |
| 1448 TextureRef* texture_ref = manager.GetTexture(kClient1Id); | 1463 TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
| 1449 ASSERT_TRUE(texture_ref != NULL); | 1464 ASSERT_TRUE(texture_ref != NULL); |
| 1450 manager.SetTarget(texture_ref, GL_TEXTURE_EXTERNAL_OES); | 1465 manager.SetTarget(texture_ref, GL_TEXTURE_EXTERNAL_OES); |
| 1451 Texture* texture = texture_ref->texture(); | 1466 Texture* texture = texture_ref->texture(); |
| 1452 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture->target()); | 1467 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture->target()); |
| 1453 EXPECT_FALSE(manager.CanGenerateMipmaps(texture_ref)); | 1468 EXPECT_FALSE(manager.CanGenerateMipmaps(texture_ref)); |
| 1454 manager.Destroy(false); | 1469 ProgressReporterStub progress_reporter; |
| 1470 manager.Destroy(false, &progress_reporter); |
| 1455 } | 1471 } |
| 1456 | 1472 |
| 1457 TEST_F(TextureTest, DepthTexture) { | 1473 TEST_F(TextureTest, DepthTexture) { |
| 1458 TestHelper::SetupFeatureInfoInitExpectations( | 1474 TestHelper::SetupFeatureInfoInitExpectations( |
| 1459 gl_.get(), "GL_ANGLE_depth_texture"); | 1475 gl_.get(), "GL_ANGLE_depth_texture"); |
| 1460 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); | 1476 scoped_refptr<FeatureInfo> feature_info(new FeatureInfo()); |
| 1461 feature_info->InitializeForTesting(); | 1477 feature_info->InitializeForTesting(); |
| 1462 TextureManager manager(NULL, | 1478 TextureManager manager(NULL, |
| 1463 feature_info.get(), | 1479 feature_info.get(), |
| 1464 kMaxTextureSize, | 1480 kMaxTextureSize, |
| 1465 kMaxCubeMapTextureSize, | 1481 kMaxCubeMapTextureSize, |
| 1466 kMaxRectangleTextureSize, | 1482 kMaxRectangleTextureSize, |
| 1467 kMax3DTextureSize, | 1483 kMax3DTextureSize, |
| 1468 kMaxArrayTextureLayers, | 1484 kMaxArrayTextureLayers, |
| 1469 kUseDefaultTextures); | 1485 kUseDefaultTextures); |
| 1470 manager.CreateTexture(kClient1Id, kService1Id); | 1486 manager.CreateTexture(kClient1Id, kService1Id); |
| 1471 TextureRef* texture_ref = manager.GetTexture(kClient1Id); | 1487 TextureRef* texture_ref = manager.GetTexture(kClient1Id); |
| 1472 ASSERT_TRUE(texture_ref != NULL); | 1488 ASSERT_TRUE(texture_ref != NULL); |
| 1473 manager.SetTarget(texture_ref, GL_TEXTURE_2D); | 1489 manager.SetTarget(texture_ref, GL_TEXTURE_2D); |
| 1474 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 4, 4, | 1490 manager.SetLevelInfo(texture_ref, GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 4, 4, |
| 1475 1, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, gfx::Rect()); | 1491 1, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, gfx::Rect()); |
| 1476 EXPECT_FALSE(manager.CanGenerateMipmaps(texture_ref)); | 1492 EXPECT_FALSE(manager.CanGenerateMipmaps(texture_ref)); |
| 1477 manager.Destroy(false); | 1493 ProgressReporterStub progress_reporter; |
| 1494 manager.Destroy(false, &progress_reporter); |
| 1478 } | 1495 } |
| 1479 | 1496 |
| 1480 TEST_F(TextureTest, SafeUnsafe) { | 1497 TEST_F(TextureTest, SafeUnsafe) { |
| 1481 static const GLuint kClient2Id = 2; | 1498 static const GLuint kClient2Id = 2; |
| 1482 static const GLuint kService2Id = 12; | 1499 static const GLuint kService2Id = 12; |
| 1483 static const GLuint kClient3Id = 3; | 1500 static const GLuint kClient3Id = 3; |
| 1484 static const GLuint kService3Id = 13; | 1501 static const GLuint kService3Id = 13; |
| 1485 EXPECT_FALSE(manager_->HaveUnclearedMips()); | 1502 EXPECT_FALSE(manager_->HaveUnclearedMips()); |
| 1486 Texture* texture = texture_ref_->texture(); | 1503 Texture* texture = texture_ref_->texture(); |
| 1487 EXPECT_EQ(0, texture->num_uncleared_mips()); | 1504 EXPECT_EQ(0, texture->num_uncleared_mips()); |
| (...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2257 SetupFeatureInfo("", "OpenGL ES 2.0", false); | 2274 SetupFeatureInfo("", "OpenGL ES 2.0", false); |
| 2258 TestHelper::SetupTextureManagerInitExpectations( | 2275 TestHelper::SetupTextureManagerInitExpectations( |
| 2259 gl_.get(), false, false, false, "", kUseDefaultTextures); | 2276 gl_.get(), false, false, false, "", kUseDefaultTextures); |
| 2260 texture_manager1_->Initialize(); | 2277 texture_manager1_->Initialize(); |
| 2261 TestHelper::SetupTextureManagerInitExpectations( | 2278 TestHelper::SetupTextureManagerInitExpectations( |
| 2262 gl_.get(), false, false, false, "", kUseDefaultTextures); | 2279 gl_.get(), false, false, false, "", kUseDefaultTextures); |
| 2263 texture_manager2_->Initialize(); | 2280 texture_manager2_->Initialize(); |
| 2264 } | 2281 } |
| 2265 | 2282 |
| 2266 void TearDown() override { | 2283 void TearDown() override { |
| 2267 texture_manager2_->Destroy(false); | 2284 ProgressReporterStub progress_reporter; |
| 2285 texture_manager2_->Destroy(false, &progress_reporter); |
| 2268 texture_manager2_.reset(); | 2286 texture_manager2_.reset(); |
| 2269 texture_manager1_->Destroy(false); | 2287 texture_manager1_->Destroy(false, &progress_reporter); |
| 2270 texture_manager1_.reset(); | 2288 texture_manager1_.reset(); |
| 2271 GpuServiceTest::TearDown(); | 2289 GpuServiceTest::TearDown(); |
| 2272 } | 2290 } |
| 2273 | 2291 |
| 2274 protected: | 2292 protected: |
| 2275 void SetupFeatureInfo(const char* gl_extensions, | 2293 void SetupFeatureInfo(const char* gl_extensions, |
| 2276 const char* gl_version, | 2294 const char* gl_version, |
| 2277 bool enable_es3) { | 2295 bool enable_es3) { |
| 2278 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( | 2296 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion( |
| 2279 gl_.get(), gl_extensions, "", gl_version, | 2297 gl_.get(), gl_extensions, "", gl_version, |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2770 ExpectValid( | 2788 ExpectValid( |
| 2771 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH24_STENCIL8); | 2789 true, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_DEPTH24_STENCIL8); |
| 2772 ExpectValid(true, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, | 2790 ExpectValid(true, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, |
| 2773 GL_DEPTH32F_STENCIL8); | 2791 GL_DEPTH32F_STENCIL8); |
| 2774 | 2792 |
| 2775 ExpectInvalid(true, GL_RGB_INTEGER, GL_INT, GL_RGBA8); | 2793 ExpectInvalid(true, GL_RGB_INTEGER, GL_INT, GL_RGBA8); |
| 2776 } | 2794 } |
| 2777 | 2795 |
| 2778 } // namespace gles2 | 2796 } // namespace gles2 |
| 2779 } // namespace gpu | 2797 } // namespace gpu |
| OLD | NEW |