Skip to content

Commit 8ef02e1

Browse files
committed
wgpu/adapter: Fix request device callback
1 parent 0e95408 commit 8ef02e1

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

wgpu/adapter.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,13 @@ func (p *Adapter) HasFeature(feature FeatureName) bool {
108108
type requestDeviceCb func(status RequestDeviceStatus, device *Device, message string)
109109

110110
//export gowebgpu_request_device_callback_go
111-
func gowebgpu_request_device_callback_go(status C.WGPURequestDeviceStatus, device C.WGPUDevice, message *C.char, userdata unsafe.Pointer) {
111+
func gowebgpu_request_device_callback_go(status C.WGPURequestDeviceStatus, device C.WGPUDevice, message C.WGPUStringView, userdata unsafe.Pointer) {
112112
handle := *(*cgo.Handle)(userdata)
113113
defer handle.Delete()
114114

115115
cb, ok := handle.Value().(requestDeviceCb)
116116
if ok {
117-
cb(RequestDeviceStatus(status), &Device{ref: device}, C.GoString(message))
117+
cb(RequestDeviceStatus(status), &Device{ref: device}, C.GoStringN(message.data, C.int(message.length)))
118118
}
119119
}
120120

wgpu/wgpu_c_cb.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ void gowebgpu_request_adapter_callback_c(WGPURequestAdapterStatus status, WGPUAd
1616
gowebgpu_request_adapter_callback_go(status, adapter, message, userdata1);
1717
}
1818
19-
void gowebgpu_request_device_callback_c(WGPURequestDeviceStatus status, WGPUDevice device, char const *message, void *userdata) {
20-
extern void gowebgpu_request_device_callback_go(WGPURequestDeviceStatus status, WGPUDevice device, char const *message, void *userdata);
21-
gowebgpu_request_device_callback_go(status, device, message, userdata);
19+
void gowebgpu_request_device_callback_c(WGPURequestDeviceStatus status, WGPUDevice device, WGPUStringView message, void *userdata1, void *userdata2) {
20+
extern void gowebgpu_request_device_callback_go(WGPURequestDeviceStatus status, WGPUDevice device, WGPUStringView message, void *userdata);
21+
gowebgpu_request_device_callback_go(status, device, message, userdata1);
2222
}
2323
2424
void gowebgpu_device_lost_callback_c(WGPUDeviceLostReason reason, char const * message, void * userdata) {

0 commit comments

Comments
 (0)