浏览代码

wgpu: copy over gpu contents to cpu side when mapping

Laytan Laats 6 月之前
父节点
当前提交
b6f34332fe
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      vendor/wgpu/wgpu.js

+ 6 - 0
vendor/wgpu/wgpu.js

@@ -1297,6 +1297,9 @@ class WebGPUInterface {
 
 				const ptr = this.mem.exports.wgpu_alloc(range.byteLength);
 
+				const mapping = new Uint8Array(this.mem.memory.buffer, ptr, size);
+				mapping.set(new Uint8Array(range));
+
 				buffer.mapping = { range: range, ptr: ptr, size: range.byteLength };
 				return ptr;
 			},
@@ -1327,6 +1330,9 @@ class WebGPUInterface {
 
 				const ptr = this.mem.exports.wgpu_alloc(range.byteLength);
 
+				const mapping = new Uint8Array(this.mem.memory.buffer, ptr, size);
+				mapping.set(new Uint8Array(range));
+
 				buffer.mapping = { range: range, ptr: ptr, size: range.byteLength };
 				return ptr;
 			},