Changeset 87094 in webkit
- Timestamp:
- May 23, 2011 1:40:23 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r87090 r87094 1 2011-05-23 Adrienne Walker <enne@google.com> 2 3 Reviewed by James Robinson. 4 5 [chromium] Fix division by zero in TilingData for boundary case texture sizes 6 https://bugs.webkit.org/show_bug.cgi?id=61164 7 8 * platform/graphics/gpu/TilingData.cpp: 9 (WebCore::TilingData::tileXIndexFromSrcCoord): 10 (WebCore::TilingData::tileYIndexFromSrcCoord): 11 1 12 2011-05-23 Adam Barth <abarth@webkit.org> 2 13 -
trunk/Source/WebCore/platform/graphics/gpu/TilingData.cpp
r83891 r87094 76 76 int TilingData::tileXIndexFromSrcCoord(int srcPos) const 77 77 { 78 if (numTilesX() <= 1) 79 return 0; 80 81 ASSERT(m_maxTextureSize - 2 * m_borderTexels); 78 82 int x = (srcPos - m_borderTexels) / (m_maxTextureSize - 2 * m_borderTexels); 79 83 return min(max(x, 0), numTilesX() - 1); … … 82 86 int TilingData::tileYIndexFromSrcCoord(int srcPos) const 83 87 { 88 if (numTilesY() <= 1) 89 return 0; 90 91 ASSERT(m_maxTextureSize - 2 * m_borderTexels); 84 92 int y = (srcPos - m_borderTexels) / (m_maxTextureSize - 2 * m_borderTexels); 85 93 return min(max(y, 0), numTilesY() - 1); -
trunk/Source/WebKit/chromium/ChangeLog
r87089 r87094 1 2011-05-23 Adrienne Walker <enne@google.com> 2 3 Reviewed by James Robinson. 4 5 [chromium] Fix division by zero in TilingData for boundary case texture sizes 6 https://bugs.webkit.org/show_bug.cgi?id=61164 7 8 Add additional tests for small max texture sizes. 9 10 * tests/TilingDataTest.cpp: 11 (WebCore::TEST): 12 1 13 2011-05-23 Ruben <chromium@hybridsource.org> 2 14 -
trunk/Source/WebKit/chromium/tests/TilingDataTest.cpp
r83891 r87094 178 178 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(10)); 179 179 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileXIndexFromSrcCoord(11)); 180 181 EXPECT_EQ(0, TilingData(1, 1, 1, false).tileXIndexFromSrcCoord(0)); 182 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileXIndexFromSrcCoord(0)); 183 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileXIndexFromSrcCoord(1)); 184 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileXIndexFromSrcCoord(0)); 185 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileXIndexFromSrcCoord(1)); 186 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileXIndexFromSrcCoord(2)); 187 188 EXPECT_EQ(0, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(0)); 189 EXPECT_EQ(0, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(1)); 190 EXPECT_EQ(0, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(2)); 191 EXPECT_EQ(1, TilingData(3, 4, 3, false).tileXIndexFromSrcCoord(3)); 192 193 EXPECT_EQ(0, TilingData(1, 1, 1, true).tileXIndexFromSrcCoord(0)); 194 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileXIndexFromSrcCoord(0)); 195 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileXIndexFromSrcCoord(1)); 196 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileXIndexFromSrcCoord(0)); 197 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileXIndexFromSrcCoord(1)); 198 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileXIndexFromSrcCoord(2)); 199 200 EXPECT_EQ(0, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(0)); 201 EXPECT_EQ(0, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(1)); 202 EXPECT_EQ(1, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(2)); 203 EXPECT_EQ(1, TilingData(3, 4, 3, true).tileXIndexFromSrcCoord(3)); 180 204 } 181 205 TEST(TilingDataTest, tileYIndexFromSrcCoord) … … 206 230 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(10)); 207 231 EXPECT_EQ(7, TilingData(3, 10, 10, true).tileYIndexFromSrcCoord(11)); 232 233 EXPECT_EQ(0, TilingData(1, 1, 1, false).tileYIndexFromSrcCoord(0)); 234 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileYIndexFromSrcCoord(0)); 235 EXPECT_EQ(0, TilingData(2, 2, 2, false).tileYIndexFromSrcCoord(1)); 236 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileYIndexFromSrcCoord(0)); 237 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileYIndexFromSrcCoord(1)); 238 EXPECT_EQ(0, TilingData(3, 3, 3, false).tileYIndexFromSrcCoord(2)); 239 240 EXPECT_EQ(0, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(0)); 241 EXPECT_EQ(0, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(1)); 242 EXPECT_EQ(0, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(2)); 243 EXPECT_EQ(1, TilingData(3, 3, 4, false).tileYIndexFromSrcCoord(3)); 244 245 EXPECT_EQ(0, TilingData(1, 1, 1, true).tileYIndexFromSrcCoord(0)); 246 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileYIndexFromSrcCoord(0)); 247 EXPECT_EQ(0, TilingData(2, 2, 2, true).tileYIndexFromSrcCoord(1)); 248 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileYIndexFromSrcCoord(0)); 249 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileYIndexFromSrcCoord(1)); 250 EXPECT_EQ(0, TilingData(3, 3, 3, true).tileYIndexFromSrcCoord(2)); 251 252 EXPECT_EQ(0, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(0)); 253 EXPECT_EQ(0, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(1)); 254 EXPECT_EQ(1, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(2)); 255 EXPECT_EQ(1, TilingData(3, 3, 4, true).tileYIndexFromSrcCoord(3)); 208 256 } 209 257
Note: See TracChangeset
for help on using the changeset viewer.