diff --git a/vulkan.d b/vulkan.d index 4e9d27d..a93f1f7 100644 --- a/vulkan.d +++ b/vulkan.d @@ -1398,9 +1398,10 @@ Transfer(bool image, T)(Descriptor* desc, T data) if(isArray!(T) || isPointer!(T } u64 copied = 0; - while(copied != data.length) + while(copied != data_length) { - u64 copy_length = transfer_length > (data_length - copied) ? data_length : transfer_length; + u64 remaining = data_length-copied; + u64 copy_length = transfer_length > remaining ? remaining : transfer_length; g_vk.transfer_buf.data[0 .. copy_length] = data[copied .. copy_length];