Changeset 83674 in webkit
- Timestamp:
- Apr 12, 2011 5:50:36 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r83673 r83674 1 2011-04-12 Adrienne Walker <enne@google.com> 2 3 Reviewed by James Robinson. 4 5 [chromium] TilingData mishandles very small texture sizes 6 https://bugs.webkit.org/show_bug.cgi?id=58364 7 8 Use zero tiles when the texture size is too small for tiling. 9 10 * platform/graphics/gpu/TilingData.cpp: 11 (WebCore::TilingData::TilingData): 12 (WebCore::TilingData::setMaxTextureSize): 13 1 14 2011-04-12 Csaba Osztrogonác <ossy@webkit.org> 2 15 -
trunk/Source/WebCore/platform/graphics/gpu/TilingData.cpp
r80824 r83674 45 45 static int computeNumTiles(int maxTextureSize, int totalSize, int borderTexels) 46 46 { 47 if (maxTextureSize - 2 * borderTexels <= 0) 48 return 0; 49 47 50 int numTiles = max(1, 1 + (totalSize - 1 - 2 * borderTexels) / (maxTextureSize - 2 * borderTexels)); 48 51 return totalSize > 0 ? numTiles : 0; -
trunk/Source/WebKit/chromium/ChangeLog
r83666 r83674 1 2011-04-12 Adrienne Walker <enne@google.com> 2 3 Reviewed by James Robinson. 4 5 [chromium] TilingData mishandles very small texture sizes 6 https://bugs.webkit.org/show_bug.cgi?id=58364 7 8 Update test to properly handle texture sizes of 0-3. 9 10 * tests/TilingDataTest.cpp: 11 (WebCore::TEST): 12 1 13 2011-04-12 Jian Li <jianli@chromium.org> 2 14 -
trunk/Source/WebKit/chromium/tests/TilingDataTest.cpp
r80894 r83674 50 50 TEST(TilingDataTest, numTiles_TilingNoBorders) 51 51 { 52 EXPECT_EQ(0, TilingData(0, 0, 0, false).numTiles()); 53 EXPECT_EQ(0, TilingData(0, 4, 0, false).numTiles()); 54 EXPECT_EQ(0, TilingData(0, 0, 4, false).numTiles()); 55 EXPECT_EQ(0, TilingData(4, 4, 0, false).numTiles()); 56 EXPECT_EQ(0, TilingData(4, 0, 4, false).numTiles()); 57 EXPECT_EQ(0, TilingData(-8, 1, 1, false).numTiles()); 58 EXPECT_EQ(0, TilingData(-1, 1, 1, false).numTiles()); 59 EXPECT_EQ(0, TilingData(0, 1, 1, false).numTiles()); 60 61 EXPECT_EQ(1, TilingData(1, 1, 1, false).numTiles()); 62 EXPECT_EQ(2, TilingData(1, 1, 2, false).numTiles()); 63 EXPECT_EQ(1, TilingData(2, 2, 2, false).numTiles()); 64 EXPECT_EQ(1, TilingData(3, 3, 3, false).numTiles()); 65 52 66 EXPECT_EQ(1, TilingData(4, 1, 4, false).numTiles()); 53 67 EXPECT_EQ(1, TilingData(4, 2, 4, false).numTiles()); … … 83 97 TEST(TilingDataTest, numTiles_TilingWithBorders) 84 98 { 99 EXPECT_EQ(0, TilingData(0, 0, 0, true).numTiles()); 100 EXPECT_EQ(0, TilingData(0, 4, 0, true).numTiles()); 101 EXPECT_EQ(0, TilingData(0, 0, 4, true).numTiles()); 102 EXPECT_EQ(0, TilingData(4, 4, 0, true).numTiles()); 103 EXPECT_EQ(0, TilingData(4, 0, 4, true).numTiles()); 104 EXPECT_EQ(0, TilingData(-8, 1, 1, true).numTiles()); 105 EXPECT_EQ(0, TilingData(-1, 1, 1, true).numTiles()); 106 EXPECT_EQ(0, TilingData(0, 1, 1, true).numTiles()); 107 108 EXPECT_EQ(0, TilingData(1, 1, 1, true).numTiles()); 109 EXPECT_EQ(0, TilingData(1, 1, 2, true).numTiles()); 110 EXPECT_EQ(0, TilingData(2, 2, 2, true).numTiles()); 111 85 112 EXPECT_EQ(1, TilingData(3, 1, 3, true).numTiles()); 86 113 EXPECT_EQ(1, TilingData(3, 2, 3, true).numTiles()); … … 362 389 } 363 390 364 TEST(TilingDataTest, setMaxTextureSize )391 TEST(TilingDataTest, setMaxTextureSizeNoBorders) 365 392 { 366 393 TilingData data(8, 16, 32, false); … … 384 411 } 385 412 413 TEST(TilingDataTest, setMaxTextureSizeBorders) 414 { 415 TilingData data(8, 16, 32, true); 416 EXPECT_EQ(3, data.numTilesX()); 417 EXPECT_EQ(5, data.numTilesY()); 418 419 data.setMaxTextureSize(32); 420 EXPECT_EQ(32, data.maxTextureSize()); 421 EXPECT_EQ(1, data.numTilesX()); 422 EXPECT_EQ(1, data.numTilesY()); 423 424 data.setMaxTextureSize(2); 425 EXPECT_EQ(2, data.maxTextureSize()); 426 EXPECT_EQ(0, data.numTilesX()); 427 EXPECT_EQ(0, data.numTilesY()); 428 429 data.setMaxTextureSize(5); 430 EXPECT_EQ(5, data.maxTextureSize()); 431 EXPECT_EQ(5, data.numTilesX()); 432 EXPECT_EQ(10, data.numTilesY()); 433 } 434 386 435 } // namespace
Note: See TracChangeset
for help on using the changeset viewer.