Fix copying between images and buffers with padding
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>
Showing
Please
register
or
sign in
to comment