Browse Source

wgpu: copy over gpu contents to cpu side when mapping

Laytan Laats 6 months ago
parent
commit
b6f34332fe
1 changed files with 6 additions and 0 deletions
  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;
 			},