Răsfoiți Sursa

wgpu: copy over gpu contents to cpu side when mapping

Laytan Laats 6 luni în urmă
părinte
comite
b6f34332fe
1 a modificat fișierele cu 6 adăugiri și 0 ștergeri
  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;
 			},