Add vendor:wgpu

This commit is contained in:
Laytan Laats
2024-06-12 17:22:02 +02:00
parent 68781f8dd3
commit 108b8feb35
23 changed files with 5430 additions and 18 deletions
+26
View File
@@ -0,0 +1,26 @@
package wgpu
import "base:runtime"
g_context: runtime.Context
@(private="file", init)
wgpu_init_allocator :: proc() {
if g_context.allocator.procedure == nil {
g_context = runtime.default_context()
}
}
@(private="file", export)
wgpu_alloc :: proc "contextless" (size: i32) -> [^]byte {
context = g_context
bytes, err := runtime.mem_alloc(int(size), 16)
assert(err == nil, "wgpu_alloc failed")
return raw_data(bytes)
}
@(private="file", export)
wgpu_free :: proc "contextless" (ptr: rawptr) {
context = g_context
assert(free(ptr) == nil, "wgpu_free failed")
}