-
Fix copying between images and buffers with padding · d7a1fcedTomek Ponitka authored
Changed the algorithm to compute the copySize value. Earlier, in the isEntireRow && isSingleSlice case we were putting copySize = imageExtent.height * imageRowPitchBytes which is wrong in the case when imageRowPitchBytes is the same as bufferRowPitchBytes, but also contains some extra padding. For example, for copying to the whole 127 x 64 texture with RGBA8 format with bufferRowPitchBytes = 4 * 128 and buffer size = 4 * (63 * 128 + 127) will produce an assertion error. Bug: swiftshader:152 Change-Id: If7524534ff268a70b77cfeda8611abc99f148888 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46908Tested-by:
Tomek Ponitka <tommek@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
d7a1fced
×