@@ -47,19 +47,20 @@ pub enum TransferError {
4747 MissingBufferUsage ( #[ from] MissingBufferUsageError ) ,
4848 #[ error( transparent) ]
4949 MissingTextureUsage ( #[ from] MissingTextureUsageError ) ,
50- #[ error(
51- "Copy at offset {start_offset} bytes would end up overrunning the bounds of the {side:?} buffer of size {buffer_size}"
52- ) ]
50+ #[ error( "Start offset ({offset}) is out-of-bounds for buffer of size {buffer_size}" ) ]
5351 BufferStartOffsetOverrun {
54- start_offset : BufferAddress ,
52+ offset : BufferAddress ,
5553 buffer_size : BufferAddress ,
5654 side : CopySide ,
5755 } ,
5856 #[ error(
59- "Copy at offset {start_offset} for {size} bytes would end up overrunning the bounds of the {side:?} buffer of size {buffer_size}"
57+ "End offset (start at {} + size of {}) is out-of-bounds for buffer of size {}" ,
58+ offset,
59+ size,
60+ buffer_size
6061 ) ]
61- BufferOverrun {
62- start_offset : BufferAddress ,
62+ BufferEndOffsetOverrun {
63+ offset : BufferAddress ,
6364 size : BufferAddress ,
6465 buffer_size : BufferAddress ,
6566 side : CopySide ,
@@ -191,7 +192,7 @@ impl WebGpuError for TransferError {
191192 Self :: MissingTextureUsage ( e) => e,
192193 Self :: MemoryInitFailure ( e) => e,
193194
194- Self :: BufferOverrun { .. }
195+ Self :: BufferEndOffsetOverrun { .. }
195196 | Self :: TextureOverrun { .. }
196197 | Self :: BufferStartOffsetOverrun { .. }
197198 | Self :: UnsupportedPartialTransfer { .. }
@@ -360,8 +361,8 @@ pub(crate) fn validate_linear_texture_data(
360361 }
361362 // NOTE: Should never underflow because of our earlier check.
362363 if bytes_in_copy > buffer_size - offset {
363- return Err ( TransferError :: BufferOverrun {
364- start_offset : offset,
364+ return Err ( TransferError :: BufferEndOffsetOverrun {
365+ offset,
365366 size : bytes_in_copy,
366367 buffer_size,
367368 side : buffer_side,
@@ -1001,7 +1002,7 @@ pub(super) fn copy_buffer_to_buffer(
10011002
10021003 if source_offset > src_buffer. size {
10031004 return Err ( TransferError :: BufferStartOffsetOverrun {
1004- start_offset : source_offset,
1005+ offset : source_offset,
10051006 buffer_size : src_buffer. size ,
10061007 side : CopySide :: Source ,
10071008 }
@@ -1044,8 +1045,8 @@ pub(super) fn copy_buffer_to_buffer(
10441045 }
10451046
10461047 if size > src_buffer. size - source_offset {
1047- return Err ( TransferError :: BufferOverrun {
1048- start_offset : source_offset,
1048+ return Err ( TransferError :: BufferEndOffsetOverrun {
1049+ offset : source_offset,
10491050 size,
10501051 buffer_size : src_buffer. size ,
10511052 side : CopySide :: Source ,
@@ -1057,16 +1058,16 @@ pub(super) fn copy_buffer_to_buffer(
10571058
10581059 if destination_offset > dst_buffer. size {
10591060 return Err ( TransferError :: BufferStartOffsetOverrun {
1060- start_offset : destination_offset,
1061+ offset : destination_offset,
10611062 buffer_size : dst_buffer. size ,
10621063 side : CopySide :: Destination ,
10631064 }
10641065 . into ( ) ) ;
10651066 }
10661067 // NOTE: Should never underflow because of our earlier check.
10671068 if size > dst_buffer. size - destination_offset {
1068- return Err ( TransferError :: BufferOverrun {
1069- start_offset : destination_offset,
1069+ return Err ( TransferError :: BufferEndOffsetOverrun {
1070+ offset : destination_offset,
10701071 size,
10711072 buffer_size : dst_buffer. size ,
10721073 side : CopySide :: Destination ,
0 commit comments