OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "gpu/command_buffer/common/gl_mock.h" | 8 #include "gpu/command_buffer/common/gl_mock.h" |
9 #include "gpu/command_buffer/service/feature_info.h" | 9 #include "gpu/command_buffer/service/feature_info.h" |
10 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | 10 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 &feature_info_, info, GL_TEXTURE_MAG_FILTER, GL_CLAMP_TO_EDGE)); | 117 &feature_info_, info, GL_TEXTURE_MAG_FILTER, GL_CLAMP_TO_EDGE)); |
118 EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), info->min_filter()); | 118 EXPECT_EQ(static_cast<GLenum>(GL_NEAREST), info->min_filter()); |
119 EXPECT_FALSE(manager_.SetParameter( | 119 EXPECT_FALSE(manager_.SetParameter( |
120 &feature_info_, info, GL_TEXTURE_WRAP_S, GL_NEAREST)); | 120 &feature_info_, info, GL_TEXTURE_WRAP_S, GL_NEAREST)); |
121 EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_s()); | 121 EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_s()); |
122 EXPECT_FALSE(manager_.SetParameter( | 122 EXPECT_FALSE(manager_.SetParameter( |
123 &feature_info_, info, GL_TEXTURE_WRAP_T, GL_NEAREST)); | 123 &feature_info_, info, GL_TEXTURE_WRAP_T, GL_NEAREST)); |
124 EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_t()); | 124 EXPECT_EQ(static_cast<GLenum>(GL_CLAMP_TO_EDGE), info->wrap_t()); |
125 } | 125 } |
126 | 126 |
| 127 TEST_F(TextureManagerTest, TextureUsageExt) { |
| 128 TestHelper::SetupTextureManagerInitExpectations(gl_.get(), |
| 129 "GL_ANGLE_texture_usage"); |
| 130 manager_.Initialize(&feature_info_); |
| 131 const GLuint kClient1Id = 1; |
| 132 const GLuint kService1Id = 11; |
| 133 // Check we can create texture. |
| 134 manager_.CreateTextureInfo(&feature_info_, kClient1Id, kService1Id); |
| 135 // Check texture got created. |
| 136 TextureManager::TextureInfo* info = manager_.GetTextureInfo(kClient1Id); |
| 137 ASSERT_TRUE(info != NULL); |
| 138 EXPECT_TRUE(manager_.SetParameter( |
| 139 &feature_info_, info, GL_TEXTURE_USAGE_ANGLE, |
| 140 GL_FRAMEBUFFER_ATTACHMENT_ANGLE)); |
| 141 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_ATTACHMENT_ANGLE), |
| 142 info->usage()); |
| 143 } |
| 144 |
127 TEST_F(TextureManagerTest, Destroy) { | 145 TEST_F(TextureManagerTest, Destroy) { |
128 const GLuint kClient1Id = 1; | 146 const GLuint kClient1Id = 1; |
129 const GLuint kService1Id = 11; | 147 const GLuint kService1Id = 11; |
130 // Check we can create texture. | 148 // Check we can create texture. |
131 manager_.CreateTextureInfo(&feature_info_, kClient1Id, kService1Id); | 149 manager_.CreateTextureInfo(&feature_info_, kClient1Id, kService1Id); |
132 // Check texture got created. | 150 // Check texture got created. |
133 TextureManager::TextureInfo* info1 = manager_.GetTextureInfo(kClient1Id); | 151 TextureManager::TextureInfo* info1 = manager_.GetTextureInfo(kClient1Id); |
134 ASSERT_TRUE(info1 != NULL); | 152 ASSERT_TRUE(info1 != NULL); |
135 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id))) | 153 EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id))) |
136 .Times(1) | 154 .Times(1) |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 | 334 |
317 TEST_F(TextureInfoTest, Basic) { | 335 TEST_F(TextureInfoTest, Basic) { |
318 EXPECT_EQ(0u, info_->target()); | 336 EXPECT_EQ(0u, info_->target()); |
319 EXPECT_FALSE(info_->texture_complete()); | 337 EXPECT_FALSE(info_->texture_complete()); |
320 EXPECT_FALSE(info_->cube_complete()); | 338 EXPECT_FALSE(info_->cube_complete()); |
321 EXPECT_FALSE(info_->CanGenerateMipmaps(&feature_info_)); | 339 EXPECT_FALSE(info_->CanGenerateMipmaps(&feature_info_)); |
322 EXPECT_FALSE(info_->npot()); | 340 EXPECT_FALSE(info_->npot()); |
323 EXPECT_EQ(0, info_->num_uncleared_mips()); | 341 EXPECT_EQ(0, info_->num_uncleared_mips()); |
324 EXPECT_FALSE(info_->CanRender(&feature_info_)); | 342 EXPECT_FALSE(info_->CanRender(&feature_info_)); |
325 EXPECT_TRUE(info_->SafeToRenderFrom()); | 343 EXPECT_TRUE(info_->SafeToRenderFrom()); |
| 344 EXPECT_FALSE(info_->IsImmutable()); |
326 EXPECT_EQ(static_cast<GLenum>(GL_NEAREST_MIPMAP_LINEAR), info_->min_filter()); | 345 EXPECT_EQ(static_cast<GLenum>(GL_NEAREST_MIPMAP_LINEAR), info_->min_filter()); |
327 EXPECT_EQ(static_cast<GLenum>(GL_LINEAR), info_->mag_filter()); | 346 EXPECT_EQ(static_cast<GLenum>(GL_LINEAR), info_->mag_filter()); |
328 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), info_->wrap_s()); | 347 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), info_->wrap_s()); |
329 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), info_->wrap_t()); | 348 EXPECT_EQ(static_cast<GLenum>(GL_REPEAT), info_->wrap_t()); |
330 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); | 349 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
331 EXPECT_FALSE(manager_.HaveUnsafeTextures()); | 350 EXPECT_FALSE(manager_.HaveUnsafeTextures()); |
332 } | 351 } |
333 | 352 |
334 TEST_F(TextureInfoTest, POT2D) { | 353 TEST_F(TextureInfoTest, POT2D) { |
335 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_2D); | 354 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_2D); |
(...skipping 11 matching lines...) Expand all Loading... |
347 &feature_info_, info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | 366 &feature_info_, info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
348 EXPECT_TRUE(info_->CanRender(&feature_info_)); | 367 EXPECT_TRUE(info_->CanRender(&feature_info_)); |
349 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); | 368 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
350 // Set them back. | 369 // Set them back. |
351 manager_.SetParameter( | 370 manager_.SetParameter( |
352 &feature_info_, info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); | 371 &feature_info_, info_, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); |
353 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); | 372 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
354 | 373 |
355 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); | 374 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); |
356 // Make mips. | 375 // Make mips. |
357 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_)); | 376 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true)); |
358 EXPECT_TRUE(info_->texture_complete()); | 377 EXPECT_TRUE(info_->texture_complete()); |
359 EXPECT_TRUE(info_->CanRender(&feature_info_)); | 378 EXPECT_TRUE(info_->CanRender(&feature_info_)); |
360 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); | 379 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
361 // Change a mip. | 380 // Change a mip. |
362 manager_.SetLevelInfo(&feature_info_, info_, | 381 manager_.SetLevelInfo(&feature_info_, info_, |
363 GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 382 GL_TEXTURE_2D, 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
364 EXPECT_FALSE(info_->npot()); | 383 EXPECT_FALSE(info_->npot()); |
365 EXPECT_FALSE(info_->texture_complete()); | 384 EXPECT_FALSE(info_->texture_complete()); |
366 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); | 385 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); |
367 EXPECT_FALSE(info_->CanRender(&feature_info_)); | 386 EXPECT_FALSE(info_->CanRender(&feature_info_)); |
368 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); | 387 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
369 // Set a level past the number of mips that would get generated. | 388 // Set a level past the number of mips that would get generated. |
370 manager_.SetLevelInfo(&feature_info_, info_, | 389 manager_.SetLevelInfo(&feature_info_, info_, |
371 GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 390 GL_TEXTURE_2D, 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
372 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); | 391 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); |
373 // Make mips. | 392 // Make mips. |
374 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_)); | 393 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true)); |
375 EXPECT_TRUE(info_->CanRender(&feature_info_)); | 394 EXPECT_TRUE(info_->CanRender(&feature_info_)); |
376 EXPECT_TRUE(info_->texture_complete()); | 395 EXPECT_TRUE(info_->texture_complete()); |
377 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); | 396 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
378 } | 397 } |
379 | 398 |
380 TEST_F(TextureInfoTest, UnusedMips) { | 399 TEST_F(TextureInfoTest, UnusedMips) { |
381 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_2D); | 400 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_2D); |
382 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); | 401 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info_->target()); |
383 // Set level zero to large size. | 402 // Set level zero to large size. |
384 manager_.SetLevelInfo(&feature_info_, info_, | 403 manager_.SetLevelInfo(&feature_info_, info_, |
385 GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 404 GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
386 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_)); | 405 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true)); |
387 EXPECT_FALSE(info_->npot()); | 406 EXPECT_FALSE(info_->npot()); |
388 EXPECT_TRUE(info_->texture_complete()); | 407 EXPECT_TRUE(info_->texture_complete()); |
389 EXPECT_TRUE(info_->CanRender(&feature_info_)); | 408 EXPECT_TRUE(info_->CanRender(&feature_info_)); |
390 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); | 409 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
391 // Set level zero to large smaller (levels unused mips) | 410 // Set level zero to large smaller (levels unused mips) |
392 manager_.SetLevelInfo(&feature_info_, info_, | 411 manager_.SetLevelInfo(&feature_info_, info_, |
393 GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 412 GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
394 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_)); | 413 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true)); |
395 EXPECT_FALSE(info_->npot()); | 414 EXPECT_FALSE(info_->npot()); |
396 EXPECT_TRUE(info_->texture_complete()); | 415 EXPECT_TRUE(info_->texture_complete()); |
397 EXPECT_TRUE(info_->CanRender(&feature_info_)); | 416 EXPECT_TRUE(info_->CanRender(&feature_info_)); |
398 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); | 417 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
399 // Set an unused level to some size | 418 // Set an unused level to some size |
400 manager_.SetLevelInfo(&feature_info_, info_, | 419 manager_.SetLevelInfo(&feature_info_, info_, |
401 GL_TEXTURE_2D, 4, GL_RGBA, 16, 16, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 420 GL_TEXTURE_2D, 4, GL_RGBA, 16, 16, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
402 EXPECT_FALSE(info_->npot()); | 421 EXPECT_FALSE(info_->npot()); |
403 EXPECT_TRUE(info_->texture_complete()); | 422 EXPECT_TRUE(info_->texture_complete()); |
404 EXPECT_TRUE(info_->CanRender(&feature_info_)); | 423 EXPECT_TRUE(info_->CanRender(&feature_info_)); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 manager.SetInfoTarget(&feature_info_, info, GL_TEXTURE_2D); | 469 manager.SetInfoTarget(&feature_info_, info, GL_TEXTURE_2D); |
451 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info->target()); | 470 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), info->target()); |
452 // Check Setting level 0 to NPOT | 471 // Check Setting level 0 to NPOT |
453 manager.SetLevelInfo(&feature_info, info, | 472 manager.SetLevelInfo(&feature_info, info, |
454 GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 473 GL_TEXTURE_2D, 0, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
455 EXPECT_TRUE(info->npot()); | 474 EXPECT_TRUE(info->npot()); |
456 EXPECT_FALSE(info->texture_complete()); | 475 EXPECT_FALSE(info->texture_complete()); |
457 EXPECT_TRUE(info->CanGenerateMipmaps(&feature_info)); | 476 EXPECT_TRUE(info->CanGenerateMipmaps(&feature_info)); |
458 EXPECT_FALSE(info->CanRender(&feature_info)); | 477 EXPECT_FALSE(info->CanRender(&feature_info)); |
459 EXPECT_TRUE(manager.HaveUnrenderableTextures()); | 478 EXPECT_TRUE(manager.HaveUnrenderableTextures()); |
460 EXPECT_TRUE(manager.MarkMipmapsGenerated(&feature_info, info)); | 479 EXPECT_TRUE(manager.MarkMipmapsGenerated(&feature_info, info, true)); |
461 EXPECT_TRUE(info->texture_complete()); | 480 EXPECT_TRUE(info->texture_complete()); |
462 EXPECT_TRUE(info->CanRender(&feature_info)); | 481 EXPECT_TRUE(info->CanRender(&feature_info)); |
463 EXPECT_FALSE(manager.HaveUnrenderableTextures()); | 482 EXPECT_FALSE(manager.HaveUnrenderableTextures()); |
464 manager.Destroy(false); | 483 manager.Destroy(false); |
465 } | 484 } |
466 | 485 |
467 TEST_F(TextureInfoTest, POTCubeMap) { | 486 TEST_F(TextureInfoTest, POTCubeMap) { |
468 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_CUBE_MAP); | 487 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_CUBE_MAP); |
469 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), info_->target()); | 488 EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_CUBE_MAP), info_->target()); |
470 // Check Setting level 0 each face to POT | 489 // Check Setting level 0 each face to POT |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
517 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, | 536 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
518 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 537 0, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
519 EXPECT_FALSE(info_->npot()); | 538 EXPECT_FALSE(info_->npot()); |
520 EXPECT_FALSE(info_->texture_complete()); | 539 EXPECT_FALSE(info_->texture_complete()); |
521 EXPECT_TRUE(info_->cube_complete()); | 540 EXPECT_TRUE(info_->cube_complete()); |
522 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); | 541 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); |
523 EXPECT_FALSE(info_->CanRender(&feature_info_)); | 542 EXPECT_FALSE(info_->CanRender(&feature_info_)); |
524 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); | 543 EXPECT_TRUE(manager_.HaveUnrenderableTextures()); |
525 | 544 |
526 // Make mips. | 545 // Make mips. |
527 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_)); | 546 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true)); |
528 EXPECT_TRUE(info_->texture_complete()); | 547 EXPECT_TRUE(info_->texture_complete()); |
529 EXPECT_TRUE(info_->cube_complete()); | 548 EXPECT_TRUE(info_->cube_complete()); |
530 EXPECT_TRUE(info_->CanRender(&feature_info_)); | 549 EXPECT_TRUE(info_->CanRender(&feature_info_)); |
531 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); | 550 EXPECT_FALSE(manager_.HaveUnrenderableTextures()); |
532 | 551 |
533 // Change a mip. | 552 // Change a mip. |
534 manager_.SetLevelInfo(&feature_info_, info_, | 553 manager_.SetLevelInfo(&feature_info_, info_, |
535 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, | 554 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
536 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 555 1, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
537 EXPECT_FALSE(info_->npot()); | 556 EXPECT_FALSE(info_->npot()); |
538 EXPECT_FALSE(info_->texture_complete()); | 557 EXPECT_FALSE(info_->texture_complete()); |
539 EXPECT_TRUE(info_->cube_complete()); | 558 EXPECT_TRUE(info_->cube_complete()); |
540 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); | 559 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); |
541 // Set a level past the number of mips that would get generated. | 560 // Set a level past the number of mips that would get generated. |
542 manager_.SetLevelInfo(&feature_info_, info_, | 561 manager_.SetLevelInfo(&feature_info_, info_, |
543 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, | 562 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
544 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 563 3, GL_RGBA, 4, 4, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
545 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); | 564 EXPECT_TRUE(info_->CanGenerateMipmaps(&feature_info_)); |
546 // Make mips. | 565 // Make mips. |
547 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_)); | 566 EXPECT_TRUE(manager_.MarkMipmapsGenerated(&feature_info_, info_, true)); |
548 EXPECT_TRUE(info_->texture_complete()); | 567 EXPECT_TRUE(info_->texture_complete()); |
549 EXPECT_TRUE(info_->cube_complete()); | 568 EXPECT_TRUE(info_->cube_complete()); |
550 } | 569 } |
551 | 570 |
552 TEST_F(TextureInfoTest, GetLevelSize) { | 571 TEST_F(TextureInfoTest, GetLevelSize) { |
553 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_2D); | 572 manager_.SetInfoTarget(&feature_info_, info_, GL_TEXTURE_2D); |
554 manager_.SetLevelInfo(&feature_info_, info_, | 573 manager_.SetLevelInfo(&feature_info_, info_, |
555 GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); | 574 GL_TEXTURE_2D, 1, GL_RGBA, 4, 5, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, true); |
556 GLsizei width = -1; | 575 GLsizei width = -1; |
557 GLsizei height = -1; | 576 GLsizei height = -1; |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
771 EXPECT_TRUE(info_->SafeToRenderFrom()); | 790 EXPECT_TRUE(info_->SafeToRenderFrom()); |
772 EXPECT_FALSE(manager_.HaveUnsafeTextures()); | 791 EXPECT_FALSE(manager_.HaveUnsafeTextures()); |
773 EXPECT_FALSE(manager_.HaveUnclearedMips()); | 792 EXPECT_FALSE(manager_.HaveUnclearedMips()); |
774 EXPECT_EQ(0, info_->num_uncleared_mips()); | 793 EXPECT_EQ(0, info_->num_uncleared_mips()); |
775 manager_.SetLevelInfo(&feature_info_, info_, | 794 manager_.SetLevelInfo(&feature_info_, info_, |
776 GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); | 795 GL_TEXTURE_2D, 1, GL_RGBA, 8, 8, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, false); |
777 EXPECT_FALSE(info_->SafeToRenderFrom()); | 796 EXPECT_FALSE(info_->SafeToRenderFrom()); |
778 EXPECT_TRUE(manager_.HaveUnsafeTextures()); | 797 EXPECT_TRUE(manager_.HaveUnsafeTextures()); |
779 EXPECT_TRUE(manager_.HaveUnclearedMips()); | 798 EXPECT_TRUE(manager_.HaveUnclearedMips()); |
780 EXPECT_EQ(1, info_->num_uncleared_mips()); | 799 EXPECT_EQ(1, info_->num_uncleared_mips()); |
781 manager_.MarkMipmapsGenerated(&feature_info_, info_); | 800 manager_.MarkMipmapsGenerated(&feature_info_, info_, true); |
782 EXPECT_TRUE(info_->SafeToRenderFrom()); | 801 EXPECT_TRUE(info_->SafeToRenderFrom()); |
783 EXPECT_FALSE(manager_.HaveUnsafeTextures()); | 802 EXPECT_FALSE(manager_.HaveUnsafeTextures()); |
784 EXPECT_FALSE(manager_.HaveUnclearedMips()); | 803 EXPECT_FALSE(manager_.HaveUnclearedMips()); |
785 EXPECT_EQ(0, info_->num_uncleared_mips()); | 804 EXPECT_EQ(0, info_->num_uncleared_mips()); |
786 | 805 |
787 manager_.CreateTextureInfo(&feature_info_, kClient2Id, kService2Id); | 806 manager_.CreateTextureInfo(&feature_info_, kClient2Id, kService2Id); |
788 TextureManager::TextureInfo::Ref info2 = manager_.GetTextureInfo(kClient2Id); | 807 TextureManager::TextureInfo::Ref info2 = manager_.GetTextureInfo(kClient2Id); |
789 ASSERT_TRUE(info2.get() != NULL); | 808 ASSERT_TRUE(info2.get() != NULL); |
790 manager_.SetInfoTarget(&feature_info_, info2, GL_TEXTURE_2D); | 809 manager_.SetInfoTarget(&feature_info_, info2, GL_TEXTURE_2D); |
791 EXPECT_FALSE(manager_.HaveUnsafeTextures()); | 810 EXPECT_FALSE(manager_.HaveUnsafeTextures()); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
871 EXPECT_TRUE(info_->SafeToRenderFrom()); | 890 EXPECT_TRUE(info_->SafeToRenderFrom()); |
872 EXPECT_FALSE(manager_.HaveUnsafeTextures()); | 891 EXPECT_FALSE(manager_.HaveUnsafeTextures()); |
873 EXPECT_FALSE(manager_.HaveUnclearedMips()); | 892 EXPECT_FALSE(manager_.HaveUnclearedMips()); |
874 EXPECT_EQ(0, info_->num_uncleared_mips()); | 893 EXPECT_EQ(0, info_->num_uncleared_mips()); |
875 } | 894 } |
876 | 895 |
877 } // namespace gles2 | 896 } // namespace gles2 |
878 } // namespace gpu | 897 } // namespace gpu |
879 | 898 |
880 | 899 |
OLD | NEW |