Commit Graph
74 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 0.2.2 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
adrien e03cb3f285 Added back VRAM budget check for GpuBuffer, must be forgotten when refactoring it 0.2.1 2026-05-22 00:17:54 +02:00
adrien 14def5d555 Updated example in README 2026-05-21 23:38:22 +02:00
adrien e61c5f775d Prevent building example when use as module 2026-05-21 23:33:54 +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 69f9cad2c1 Updated README ref 2026-05-20 15:45:02 +02:00
adrien c5d7fd927d Updated README and build.zon version 2026-05-20 14:04:25 +02:00
adrien 17977cc718 Merge branch 'render' 2026-05-20 13:47:43 +02:00
adrien 5104d61ef6 Synthax for compute example 2026-05-20 13:41:04 +02:00
adrien 7d5331aed7 Circle example use device allocator directly 2026-05-20 13:39:20 +02:00
adrien 7d425e4061 Changed how Allocator work to be more Zig like
Now GpuArena doesn't do everything.

- Created GpuDeviceAllocator that allocate to the device
- GpuArena become GpuArenaAllocator and use a child_allocator like
std.heap.ArenaAllocator
2026-05-20 13:32:37 +02:00
adrien a06b040a29 Render and COmpute Pipelines now use a gloc and is tracked by Arena 2026-05-20 12:29:41 +02:00
adrien af210e2fb2 Working self contained rendering (simple circle) 2026-05-20 11:46:06 +02:00
adrien 545c4b98e9 Create a GpuTextureView 2026-05-20 10:56:35 +02:00
adrien 45c0f3180e Created a GpuTextureDef 2026-05-20 09:55:34 +02:00
adrien fc57bee3af Created GpuPrimitiveTolopogy to replace c.WGPUPrimitiveTopology 2026-05-20 09:37:46 +02:00
adrien bcb1b1e98b GpuRender now take a GpuTextureFormat and not a c.WGPUTextureFormat 2026-05-20 09:24:37 +02:00
adrien 32f5d2b828 Added GpuTexture tied to arena like buffer 2026-05-20 09:14:54 +02:00
adrien ad3fcf2592 Basic working circle render pipeline 2026-05-19 21:58:14 +02:00
adrien 83ef8bcd12 Renamed ProcessDef to COmputeDef 2026-05-19 21:35:52 +02:00
adrien e467539f6e Renamed GpuProcess to GpuCompute 2026-05-19 21:15:31 +02:00
AdrienBouvais fb2f454c1c Removed unused import 2026-05-19 09:18:26 +02:00
AdrienBouvais 7e1bc387ca Synthax 2026-05-19 09:15:32 +02:00
AdrienBouvais 09e62cf667 Update README and comment for new GpuProcess 2026-05-19 08:00:42 +02:00
AdrienBouvais 62b5224e6e Changed GpuProcess to use a definition
Now GpuProcess isnt limited to 2 in, 1 out but to anything.
2026-05-19 07:54:16 +02:00
AdrienBouvais 44d26feba5 . 2026-05-19 07:41:50 +02:00
AdrienBouvais bfac170936 Added better dependencies info in README 2026-05-19 07:35:08 +02:00
adrien 523a9b69ac .Synthax 2026-05-18 23:21:26 +02:00
adrien 571a9db71f Started to add a mnist Deep Learning example
No reason why, that for the love of the game
2026-05-18 23:11:58 +02:00
adrien 6ec53bb909 Moved add and bench into an examples directory so src is just the library 0.1.0 2026-05-18 22:57:13 +02:00
adrien 6b933465b0 Better example 2026-05-18 17:00:44 +02:00
adrien 3d9cb4df04 Removed TensorInfo from example shader 2026-05-18 16:45:55 +02:00
adrien c62bead6e9 Better example (no Vec) 2026-05-18 16:38:30 +02:00
adrien 9dbd668de9 . 2026-05-18 16:33:26 +02:00
adrien 50bf436fa5 Update README 2026-05-18 16:33:07 +02:00
adrien df4eb36bc8 Added README 2026-05-18 16:30:27 +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 d9cb4c4672 Better example comments 2026-05-18 16:18:58 +02:00
adrien 3a09e11f54 Deleted Vec.zig 2026-05-18 16:05:50 +02:00
adrien e608681ce1 Added preference power in DeviceCOnf 2026-05-18 16:05:42 +02:00
adrien d2b0735540 Moved all f32 out of GpuXxxx to all be in Vec 2026-05-18 15:35:38 +02:00
adrien 8e137c8f33 Vec no longer need import c 2026-05-18 15:28:28 +02:00
adrien 97d5f9001f Removed GpuPipeline for a GpuProcess 2026-05-18 15:28:02 +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 7ce6b9cd1d Better example 2026-05-18 14:11:17 +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 d42c521a96 Added f16 capability 2026-05-18 10:12:36 +02:00