17 Commits

Author SHA1 Message Date
adrien
5f8da0940d GpuBuffer read no longer allocate an staging buffer itself. Instead need to manually do it and use new copy function to move data from a buffer to a mapable one 2026-05-22 00:41:28 +02:00
adrien
4901dc654d GpuBuffer now hold its def and not values directly 2026-05-22 00:30:29 +02:00
AdrienBouvais
d503ce7dea Added optional label in definitions and added logs when alloc, free and device info 2026-05-21 10:26:20 +02:00
adrien
545c4b98e9 Create a GpuTextureView 2026-05-20 10:56:35 +02:00
adrien
32f5d2b828 Added GpuTexture tied to arena like buffer 2026-05-20 09:14:54 +02:00
AdrienBouvais
7e1bc387ca Synthax 2026-05-19 09:15:32 +02:00
adrien
c7afe28cc6 GpuBuffer align with size 4 as required by WebGPU
Otherwise a GpuBuffer of a single f16 is too small (only 2) and a eneven
f16 wouldn't work either
2026-05-18 16:24:43 +02:00
adrien
d2b0735540 Moved all f32 out of GpuXxxx to all be in Vec 2026-05-18 15:35:38 +02:00
adrien
d5e7f60926 Moved read stuff to GpuBuffer directly 2026-05-18 14:27:11 +02:00
adrien
2673aef0fd Moved c.gpuQueuWriteBuffer to GpuBuffer 2026-05-18 14:16:01 +02:00
adrien
f5daf66784 Changed GpuAllocator to be like std.mem.Allocator
Now it is 2 ptr and I created a GpuArena. Point is to be like Zig, a
const allocator and a var arena that track everything.
2026-05-18 14:07:28 +02:00
adrien
c3166e552b GpuBuffer init now take a EnumSet of BufferUsage and not a c.WGPUBufferUsage 2026-05-18 10:49:11 +02:00
adrien
0fc5f5dbb8 GpuBuffer can be for any float and init now 2026-05-18 09:31:58 +02:00
adrien
0fcb9ee351 Synthax improv + GpuDeviceConfig 2026-05-18 00:10:09 +02:00
adrien
6a2cbe2734 Removed const x = @This() to just use @This() 2026-05-17 23:54:58 +02:00
adrien
1c8e12b1e6 Added a VRAM limit to GpuAllocator 2026-05-17 23:51:51 +02:00
adrien
0da02f60c4 Created a GpuBuffer + an arry in GpuAlloc to deinit all when deinit the alloc 2026-05-15 16:03:40 +02:00