diff --git a/wgpu/adapter.go b/wgpu/adapter.go index 716e351..f1fd33b 100644 --- a/wgpu/adapter.go +++ b/wgpu/adapter.go @@ -129,7 +129,8 @@ func (g *Adapter) RequestDevice(descriptor *DeviceDescriptor) (*Device, error) { var desc *C.WGPUDeviceDescriptor = nil if descriptor != nil { - desc = &C.WGPUDeviceDescriptor{} + desc = (*C.WGPUDeviceDescriptor)(C.calloc(1, C.size_t(unsafe.Sizeof(C.WGPUDeviceDescriptor{})))) + defer C.free(unsafe.Pointer(desc)) if descriptor.Label != "" { label := C.CString(descriptor.Label)