diff --git a/gpu/src/Adapter.zig b/gpu/src/Adapter.zig index 25f35d4e..fe98c6f7 100644 --- a/gpu/src/Adapter.zig +++ b/gpu/src/Adapter.zig @@ -164,7 +164,7 @@ pub const RequestDeviceCallback = struct { ) RequestDeviceCallback { const erased = (struct { pub inline fn erased(type_erased_ctx: *anyopaque, response: RequestDeviceResponse) void { - callback(if (Context == void) {} else @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), response); + callback(if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), response); } }).erased; diff --git a/gpu/src/Buffer.zig b/gpu/src/Buffer.zig index 691351ce..37a2ced6 100644 --- a/gpu/src/Buffer.zig +++ b/gpu/src/Buffer.zig @@ -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; diff --git a/gpu/src/ComputePipeline.zig b/gpu/src/ComputePipeline.zig index cce73d60..e81d88fb 100644 --- a/gpu/src/ComputePipeline.zig +++ b/gpu/src/ComputePipeline.zig @@ -1,3 +1,4 @@ +const std = @import("std"); const PipelineLayout = @import("PipelineLayout.zig"); const ProgrammableStageDescriptor = @import("structs.zig").ProgrammableStageDescriptor; const BindGroupLayout = @import("BindGroupLayout.zig"); @@ -73,7 +74,7 @@ pub const CreateCallback = struct { message: [:0]const u8, ) void { callback( - @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), + if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), status, pipeline, message, diff --git a/gpu/src/Device.zig b/gpu/src/Device.zig index 0efd205a..6c82fd9f 100644 --- a/gpu/src/Device.zig +++ b/gpu/src/Device.zig @@ -137,7 +137,7 @@ pub const LostCallback = struct { ) LostCallback { const erased = (struct { pub inline fn erased(type_erased_ctx: *anyopaque, reason: LostReason, message: [*:0]const u8) void { - callback(if (Context == void) {} else @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), reason, message); + callback(if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), reason, message); } }).erased; diff --git a/gpu/src/Interface.zig b/gpu/src/Interface.zig index b6a7f28f..e8420392 100644 --- a/gpu/src/Interface.zig +++ b/gpu/src/Interface.zig @@ -79,7 +79,7 @@ pub const RequestAdapterCallback = struct { ) RequestAdapterCallback { const erased = (struct { pub inline fn erased(type_erased_ctx: *anyopaque, response: RequestAdapterResponse) void { - callback(if (Context == void) {} else @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), response); + callback(if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), response); } }).erased; diff --git a/gpu/src/NativeInstance.zig b/gpu/src/NativeInstance.zig index 151fb1ca..a79264b9 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -67,13 +67,13 @@ pub fn wrap(instance: *anyopaque) NativeInstance { const interface_vtable = Interface.VTable{ .reference = (struct { pub fn reference(ptr: *anyopaque) void { - const native = @ptrCast(*NativeInstance, @alignCast(@alignOf(*NativeInstance), ptr)); + const native = @ptrCast(*NativeInstance, @alignCast(std.meta.alignment(*NativeInstance), ptr)); c.wgpuInstanceReference(native.instance); } }).reference, .release = (struct { pub fn release(ptr: *anyopaque) void { - const native = @ptrCast(*NativeInstance, @alignCast(@alignOf(*NativeInstance), ptr)); + const native = @ptrCast(*NativeInstance, @alignCast(std.meta.alignment(*NativeInstance), ptr)); c.wgpuInstanceRelease(native.instance); } }).release, @@ -83,7 +83,7 @@ const interface_vtable = Interface.VTable{ options: *const RequestAdapterOptions, callback: *RequestAdapterCallback, ) void { - const native = @ptrCast(*NativeInstance, @alignCast(@alignOf(*NativeInstance), ptr)); + const native = @ptrCast(*NativeInstance, @alignCast(std.meta.alignment(*NativeInstance), ptr)); const opt = c.WGPURequestAdapterOptions{ .nextInChain = null, @@ -94,7 +94,7 @@ const interface_vtable = Interface.VTable{ const cCallback = (struct { pub fn cCallback(status: c.WGPURequestAdapterStatus, adapter: c.WGPUAdapter, message: [*c]const u8, userdata: ?*anyopaque) callconv(.C) void { - const callback_info = @ptrCast(*RequestAdapterCallback, @alignCast(@alignOf(*RequestAdapterCallback), userdata.?)); + const callback_info = @ptrCast(*RequestAdapterCallback, @alignCast(std.meta.alignment(*RequestAdapterCallback), userdata.?)); // Store the response into a field on the native instance for later reading. const response = if (status == c.WGPURequestAdapterStatus_Success) RequestAdapterResponse{ @@ -284,7 +284,7 @@ const adapter_vtable = Adapter.VTable{ const cCallback = (struct { pub fn cCallback(status: c.WGPURequestDeviceStatus, device: c.WGPUDevice, message: [*c]const u8, userdata: ?*anyopaque) callconv(.C) void { - const callback_info = @ptrCast(*RequestDeviceCallback, @alignCast(@alignOf(*RequestDeviceCallback), userdata.?)); + const callback_info = @ptrCast(*RequestDeviceCallback, @alignCast(std.meta.alignment(*RequestDeviceCallback), userdata.?)); const response = if (status == c.WGPURequestDeviceStatus_Success) RequestDeviceResponse{ .device = wrapDevice(device.?), @@ -359,7 +359,7 @@ const device_vtable = Device.VTable{ message: [*c]const u8, userdata: ?*anyopaque, ) callconv(.C) void { - const callback_info = @ptrCast(*ErrorCallback, @alignCast(@alignOf(*ErrorCallback), userdata)); + const callback_info = @ptrCast(*ErrorCallback, @alignCast(std.meta.alignment(*ErrorCallback), userdata)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @intToEnum(ErrorType, typ), @@ -429,7 +429,7 @@ const device_vtable = Device.VTable{ message: [*c]const u8, userdata: ?*anyopaque, ) callconv(.C) void { - const callback_info = @ptrCast(*Device.LostCallback, @alignCast(@alignOf(*Device.LostCallback), userdata)); + const callback_info = @ptrCast(*Device.LostCallback, @alignCast(std.meta.alignment(*Device.LostCallback), userdata)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @intToEnum(Device.LostReason, reason), @@ -576,7 +576,7 @@ const device_vtable = Device.VTable{ message: [*c]const u8, userdata: ?*anyopaque, ) callconv(.C) void { - const callback_info = @ptrCast(*ComputePipeline.CreateCallback, @alignCast(@alignOf(*ComputePipeline.CreateCallback), userdata)); + const callback_info = @ptrCast(*ComputePipeline.CreateCallback, @alignCast(std.meta.alignment(*ComputePipeline.CreateCallback), userdata)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @intToEnum(ComputePipeline.CreateStatus, status), @@ -692,7 +692,7 @@ const device_vtable = Device.VTable{ message: [*c]const u8, userdata: ?*anyopaque, ) callconv(.C) void { - const callback_info = @ptrCast(*RenderPipeline.CreateCallback, @alignCast(@alignOf(*RenderPipeline.CreateCallback), userdata)); + const callback_info = @ptrCast(*RenderPipeline.CreateCallback, @alignCast(std.meta.alignment(*RenderPipeline.CreateCallback), userdata)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @intToEnum(RenderPipeline.CreateStatus, status), @@ -721,7 +721,7 @@ const device_vtable = Device.VTable{ message: [*c]const u8, userdata: ?*anyopaque, ) callconv(.C) void { - const callback_info = @ptrCast(*ErrorCallback, @alignCast(@alignOf(*ErrorCallback), userdata)); + const callback_info = @ptrCast(*ErrorCallback, @alignCast(std.meta.alignment(*ErrorCallback), userdata)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @intToEnum(ErrorType, typ), @@ -748,7 +748,7 @@ const device_vtable = Device.VTable{ message: [*c]const u8, userdata: ?*anyopaque, ) callconv(.C) void { - const callback_info = @ptrCast(*LoggingCallback, @alignCast(@alignOf(*LoggingCallback), userdata)); + const callback_info = @ptrCast(*LoggingCallback, @alignCast(std.meta.alignment(*LoggingCallback), userdata)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @intToEnum(LoggingType, typ), @@ -880,7 +880,7 @@ const queue_vtable = Queue.VTable{ const cCallback = (struct { pub fn cCallback(status: c.WGPUQueueWorkDoneStatus, userdata: ?*anyopaque) callconv(.C) void { - const callback_info = @ptrCast(*Queue.WorkDoneCallback, @alignCast(@alignOf(*Queue.WorkDoneCallback), userdata)); + const callback_info = @ptrCast(*Queue.WorkDoneCallback, @alignCast(std.meta.alignment(*Queue.WorkDoneCallback), userdata)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @intToEnum(Queue.WorkDoneStatus, status), @@ -979,7 +979,7 @@ const shader_module_vtable = ShaderModule.VTable{ pub fn getCompilationInfo(ptr: *anyopaque, callback: *ShaderModule.CompilationInfoCallback) void { const cCallback = (struct { pub fn cCallback(status: c.WGPUCompilationInfoRequestStatus, info: [*c]const c.WGPUCompilationInfo, userdata: ?*anyopaque) callconv(.C) void { - const callback_info = @ptrCast(*ShaderModule.CompilationInfoCallback, @alignCast(@alignOf(*ShaderModule.CompilationInfoCallback), userdata.?)); + const callback_info = @ptrCast(*ShaderModule.CompilationInfoCallback, @alignCast(std.meta.alignment(*ShaderModule.CompilationInfoCallback), userdata.?)); callback_info.type_erased_callback( callback_info.type_erased_ctx, @@ -1741,7 +1741,7 @@ const buffer_vtable = Buffer.VTable{ ) void { const cCallback = (struct { pub fn cCallback(status: c.WGPUBufferMapAsyncStatus, userdata: ?*anyopaque) callconv(.C) void { - const callback_info = @ptrCast(*Buffer.MapCallback, @alignCast(@alignOf(*Buffer.MapCallback), userdata.?)); + const callback_info = @ptrCast(*Buffer.MapCallback, @alignCast(std.meta.alignment(*Buffer.MapCallback), userdata.?)); callback_info.type_erased_callback(callback_info.type_erased_ctx, @intToEnum(Buffer.MapAsyncStatus, status)); } }).cCallback; diff --git a/gpu/src/Queue.zig b/gpu/src/Queue.zig index d8407c3a..19955c40 100644 --- a/gpu/src/Queue.zig +++ b/gpu/src/Queue.zig @@ -88,7 +88,7 @@ pub const WorkDoneCallback = struct { ) WorkDoneCallback { const erased = (struct { pub inline fn erased(type_erased_ctx: *anyopaque, status: WorkDoneStatus) 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; diff --git a/gpu/src/RenderPipeline.zig b/gpu/src/RenderPipeline.zig index 2bf9d54f..99b74cec 100644 --- a/gpu/src/RenderPipeline.zig +++ b/gpu/src/RenderPipeline.zig @@ -1,3 +1,4 @@ +const std = @import("std"); const PipelineLayout = @import("PipelineLayout.zig"); const VertexState = @import("structs.zig").VertexState; const PrimitiveState = @import("structs.zig").PrimitiveState; @@ -81,7 +82,7 @@ pub const CreateCallback = struct { message: [:0]const u8, ) void { callback( - @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), + if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), status, pipeline, message, diff --git a/gpu/src/ShaderModule.zig b/gpu/src/ShaderModule.zig index 65b883da..3f168ea9 100644 --- a/gpu/src/ShaderModule.zig +++ b/gpu/src/ShaderModule.zig @@ -1,3 +1,4 @@ +const std = @import("std"); const ShaderModule = @This(); /// The type erased pointer to the ShaderModule implementation @@ -39,7 +40,7 @@ pub const CompilationInfoCallback = struct { ) CompilationInfoCallback { const erased = (struct { pub inline fn erased(type_erased_ctx: *anyopaque, status: CompilationInfoRequestStatus) 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; diff --git a/gpu/src/structs.zig b/gpu/src/structs.zig index ffe6f816..bfc60642 100644 --- a/gpu/src/structs.zig +++ b/gpu/src/structs.zig @@ -1,4 +1,5 @@ //! Structures which are not ABI compatible with webgpu.h +const std = @import("std"); const math = @import("std").math; const Buffer = @import("Buffer.zig"); const Sampler = @import("Sampler.zig"); @@ -150,7 +151,7 @@ pub const ErrorCallback = struct { ) ErrorCallback { const erased = (struct { pub inline fn erased(type_erased_ctx: *anyopaque, typ: ErrorType, message: [*:0]const u8) void { - callback(if (Context == void) {} else @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), typ, message); + callback(if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), typ, message); } }).erased; @@ -172,7 +173,7 @@ pub const LoggingCallback = struct { ) LoggingCallback { const erased = (struct { pub inline fn erased(type_erased_ctx: *anyopaque, typ: LoggingType, message: [*:0]const u8) void { - callback(if (Context == void) {} else @ptrCast(Context, @alignCast(@alignOf(Context), type_erased_ctx)), typ, message); + callback(if (Context == void) {} else @ptrCast(Context, @alignCast(std.meta.alignment(Context), type_erased_ctx)), typ, message); } }).erased;