Skip to content

Commit 2db9be1

Browse files
committed
clean up callback syntax
1 parent 498ba74 commit 2db9be1

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

gpu.hpp

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,7 +1306,7 @@ createContextByGpuIdx(int gpuIdx, const WGPUInstanceDescriptor &desc = {},
13061306
*/
13071307
inline void bufferMapCallback(WGPUMapAsyncStatus status, WGPUStringView message,
13081308
void *userdata1, void * /*userdata2*/) {
1309-
CallbackData *cbData = reinterpret_cast<CallbackData *>(userdata1);
1309+
const CallbackData *cbData = static_cast<CallbackData *>(userdata1);
13101310
// Check that mapping succeeded.
13111311
check(status == WGPUMapAsyncStatus_Success, "Map readbackBuffer", __FILE__,
13121312
__LINE__);
@@ -1349,17 +1349,17 @@ inline void bufferMapCallback(WGPUMapAsyncStatus status, WGPUStringView message,
13491349
*/
13501350
inline void queueWorkDoneCallback(WGPUQueueWorkDoneStatus status,
13511351
void *userdata1, void * /*userdata2*/) {
1352-
CallbackData *cbData = reinterpret_cast<CallbackData *>(userdata1);
1352+
const CallbackData *cbData = static_cast<CallbackData *>(userdata1);
13531353
// Ensure the queue work finished successfully.
13541354
check(status == WGPUQueueWorkDoneStatus_Success, "Queue work done", __FILE__,
13551355
__LINE__);
13561356

13571357
// Set up the buffer mapping callback information.
13581358
WGPUBufferMapCallbackInfo mapCallbackInfo = {
1359-
.mode = WGPUCallbackMode_AllowSpontaneous,
1360-
.callback = bufferMapCallback,
1361-
.userdata1 = cbData, // Pass the callback data.
1362-
.userdata2 = nullptr // No additional user data.
1359+
.mode = WGPUCallbackMode_AllowSpontaneous,
1360+
.callback = bufferMapCallback,
1361+
.userdata1 = const_cast<CallbackData *>(cbData), // Pass the callback data.
1362+
.userdata2 = nullptr // No additional user data.
13631363
};
13641364

13651365
// Begin the asynchronous mapping of the readback buffer.
@@ -1400,11 +1400,11 @@ inline std::future<void> toCPUAsync(Context &ctx, void *data, size_t bufferSize,
14001400
};
14011401

14021402
// Set up the work-done callback to initiate the buffer mapping.
1403-
WGPUQueueWorkDoneCallbackInfo workDoneCallbackInfo;
1404-
workDoneCallbackInfo.mode = WGPUCallbackMode_AllowSpontaneous;
1405-
workDoneCallbackInfo.callback = queueWorkDoneCallback;
1406-
workDoneCallbackInfo.userdata1 = cbData; // Pass the callback data.
1407-
workDoneCallbackInfo.userdata2 = nullptr;
1403+
WGPUQueueWorkDoneCallbackInfo workDoneCallbackInfo = {
1404+
.mode = WGPUCallbackMode_AllowSpontaneous,
1405+
.callback = queueWorkDoneCallback,
1406+
.userdata1 = const_cast<CallbackData *>(cbData),
1407+
.userdata2 = nullptr};
14081408

14091409
// Begin the asynchronous chain by registering the queue work-done callback.
14101410
wgpuQueueOnSubmittedWorkDone(ctx.queue, workDoneCallbackInfo);
@@ -1486,7 +1486,7 @@ inline std::future<void> toCPUAsync(Context &ctx, Tensor &tensor, void *data,
14861486
// Register the callback. The async chain continues inside
14871487
// queueWorkDoneCallback.
14881488
wgpuQueueOnSubmittedWorkDone(ctx.queue, workDoneCallbackInfo);
1489-
1489+
14901490
return promise->get_future();
14911491
}
14921492

@@ -1562,11 +1562,10 @@ inline std::future<void> toCPUAsync(Context &ctx, WGPUBuffer buffer, void *data,
15621562
* @endcode
15631563
*/
15641564
template <size_t N>
1565-
inline std::future<void>
1566-
toCPUAsync(Context &ctx, Tensor &tensor, std::array<float, N> &data,
1567-
size_t sourceOffset = 0) {
1568-
return toCPUAsync(ctx, tensor, data.data(), sizeof(data), sourceOffset
1569-
);
1565+
inline std::future<void> toCPUAsync(Context &ctx, Tensor &tensor,
1566+
std::array<float, N> &data,
1567+
size_t sourceOffset = 0) {
1568+
return toCPUAsync(ctx, tensor, data.data(), sizeof(data), sourceOffset);
15701569
}
15711570

15721571
/**
@@ -1589,8 +1588,7 @@ toCPUAsync(Context &ctx, Tensor &tensor, std::array<float, N> &data,
15891588
*/
15901589
inline void toCPU(Context &ctx, Tensor &tensor, void *data, size_t bufferSize,
15911590
size_t sourceOffset = 0) {
1592-
auto future =
1593-
toCPUAsync(ctx, tensor, data, bufferSize, sourceOffset);
1591+
auto future = toCPUAsync(ctx, tensor, data, bufferSize, sourceOffset);
15941592
wait(ctx, future);
15951593
}
15961594

0 commit comments

Comments
 (0)