gpu: correct alignment in pointer casts; handle void Context in all callbacks (#233)
* Fixed ErrorCallback.init() alignment * Fixed callbacks alignments * Fixed more of the callback alignment problems * Added checks for void Context in callback
This commit is contained in:
parent
d664c8e55d
commit
169b1e2a42
10 changed files with 29 additions and 24 deletions
|
|
@ -1,3 +1,4 @@
|
|||
const std = @import("std");
|
||||
const BufferUsage = @import("enums.zig").BufferUsage;
|
||||
|
||||
const Buffer = @This();
|
||||
|
|
@ -73,7 +74,7 @@ pub const MapCallback = struct {
|
|||
) MapCallback {
|
||||
const erased = (struct {
|
||||
pub inline fn erased(type_erased_ctx: *anyopaque, status: MapAsyncStatus) void {
|
||||
callback(if (Context == void) {} else @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), status);
|
||||
callback(if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), status);
|
||||
}
|
||||
}).erased;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue