Changeset 261322 in webkit
- Timestamp:
- May 7, 2020 11:42:21 AM (4 years ago)
- Location:
- trunk/Source/ThirdParty/ANGLE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/ThirdParty/ANGLE/ChangeLog
r261262 r261322 1 2020-05-07 James Darpinian <jdarpinian@chromium.org> 2 3 Fix Google Maps rendering corruption in simulator with ANGLE 4 https://bugs.webkit.org/show_bug.cgi?id=211398 5 6 glReadPixels call needs to respect the row stride of the IOSurface. 7 8 Reviewed by Alex Christensen. 9 10 * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h: 11 * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm: 12 (rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL): 13 (rx::IOSurfaceSurfaceEAGL::releaseTexImage): 14 1 15 2020-05-07 Dean Jackson <dino@apple.com> 2 16 -
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h
r261185 r261322 76 76 int mPlane; 77 77 int mFormatIndex; 78 int mRowStrideInPixels; 78 79 79 80 bool mAlphaInitialized; -
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm
r261185 r261322 84 84 mHeight(0), 85 85 mPlane(0), 86 mRowStrideInPixels(0), 86 87 mFormatIndex(-1), 87 88 mAlphaInitialized(false) … … 95 96 mHeight = static_cast<int>(attribs.get(EGL_HEIGHT)); 96 97 mPlane = static_cast<int>(attribs.get(EGL_IOSURFACE_PLANE_ANGLE)); 98 // Hopefully the number of bytes per row is always an integer number of pixels. 99 // We use glReadPixels to fill the IOSurface in the simulator and it can only 100 // support strides that are an integer number of pixels. 101 ASSERT(IOSurfaceGetBytesPerRowOfPlane(mIOSurface, mPlane) % IOSurfaceGetBytesPerElementOfPlane(mIOSurface, mPlane) == 0); 102 mRowStrideInPixels = static_cast<int>(IOSurfaceGetBytesPerRowOfPlane(mIOSurface, mPlane) / IOSurfaceGetBytesPerElementOfPlane(mIOSurface, mPlane)); 97 103 98 104 EGLAttrib internalFormat = attribs.get(EGL_TEXTURE_INTERNAL_FORMAT_ANGLE); … … 228 234 mBoundTextureID, 0); 229 235 gl::PixelPackState state; 236 state.rowLength = mRowStrideInPixels; 230 237 state.alignment = 1; 231 238 stateManager->setPixelPackState(state);
Note: See TracChangeset
for help on using the changeset viewer.