dawn/test: Test padding byte preservation

The Dawn E2E tests for memory layout now check that padding bytes are
preserved, instead of skipping them.

Bug: tint:1571
Change-Id: I02edbe140e7025937a3188106da5e43ff03ad078
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/121602
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp b/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp
index b2289a8..734d82c 100644
--- a/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp
+++ b/src/dawn/tests/end2end/ComputeLayoutMemoryBufferTests.cpp
@@ -309,19 +309,18 @@
 
     bool IsStorageBufferOnly() const { return mStorageBufferOnly; }
 
-    // Call the DataMatcherCallback `callback` for continious or strided data bytes, based on the
+    // Call the DataMatcherCallback `callback` for continuous or strided data bytes, based on the
     // strided information of this field. The callback may be called once or multiple times. Note
-    // that padding bytes introduced by @size attribute are not tested.
+    // that padding bytes are tested as well, as they must be preserved by the implementation.
     void CheckData(DataMatcherCallback callback) const {
-        // Calls `callback` with the strided intervals of length mStrideDataBytes, skipping
-        // mStridePaddingBytes. For example, for a field of mSize = 18, mStrideDataBytes = 2,
-        // and mStridePaddingBytes = 4, calls `callback` with the intervals: [0, 2), [6, 8),
-        // [12, 14). If the data is continious, i.e. mStrideDataBytes = 18 and
-        // mStridePaddingBytes = 0, `callback` would be called only once with the whole interval
-        // [0, 18).
+        // Calls `callback` with the strided intervals of length mStrideDataBytes +
+        // mStridePaddingBytes. For example, for a field of mSize = 18, mStrideDataBytes = 2, and
+        // mStridePaddingBytes = 4, calls `callback` with the intervals: [0, 6), [6, 12), [12, 18).
+        // If the data is continuous, i.e. mStrideDataBytes = 18 and mStridePaddingBytes = 0,
+        // `callback` would be called only once with the whole interval [0, 18).
         size_t offset = 0;
         while (offset < mSize) {
-            callback(offset, mStrideDataBytes);
+            callback(offset, mStrideDataBytes + mStridePaddingBytes);
             offset += mStrideDataBytes + mStridePaddingBytes;
         }
     }