all: remove support for stage1

With almost all tests/examples working on all platforms now with the new compiler,
https://github.com/hexops/mach/issues/180, it's time to remove stage1 support.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-09-10 00:04:36 -07:00
parent 4c3a19fc26
commit 8113ca370d
22 changed files with 86 additions and 1907 deletions

View file

@ -4,10 +4,7 @@ const MapModeFlags = @import("types.zig").MapModeFlags;
const Impl = @import("interface.zig").Impl;
pub const Buffer = opaque {
pub const MapCallback = if (@import("builtin").zig_backend == .stage1)
fn (status: MapAsyncStatus, userdata: ?*anyopaque) callconv(.C) void
else
*const fn (status: MapAsyncStatus, userdata: ?*anyopaque) callconv(.C) void;
pub const MapCallback = *const fn (status: MapAsyncStatus, userdata: ?*anyopaque) callconv(.C) void;
pub const BindingType = enum(u32) {
undef = 0x00000000,

View file

@ -10,101 +10,48 @@ const Adapter = @import("adapter.zig").Adapter;
const ComputePipeline = @import("compute_pipeline.zig").ComputePipeline;
const RenderPipeline = @import("render_pipeline.zig").RenderPipeline;
pub const CompilationInfoCallback = if (@import("builtin").zig_backend == .stage1)
fn (
status: CompilationInfoRequestStatus,
compilation_info: *const CompilationInfo,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
status: CompilationInfoRequestStatus,
compilation_info: *const CompilationInfo,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const CompilationInfoCallback = *const fn (
status: CompilationInfoRequestStatus,
compilation_info: *const CompilationInfo,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const ErrorCallback = if (@import("builtin").zig_backend == .stage1)
fn (
typ: ErrorType,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
typ: ErrorType,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const ErrorCallback = *const fn (
typ: ErrorType,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const LoggingCallback = if (@import("builtin").zig_backend == .stage1)
fn (
typ: LoggingType,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
typ: LoggingType,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const LoggingCallback = *const fn (
typ: LoggingType,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const RequestDeviceCallback = if (@import("builtin").zig_backend == .stage1)
fn (
status: RequestDeviceStatus,
device: *Device,
message: ?[*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
status: RequestDeviceStatus,
device: *Device,
message: ?[*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const RequestDeviceCallback = *const fn (
status: RequestDeviceStatus,
device: *Device,
message: ?[*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const RequestAdapterCallback = if (@import("builtin").zig_backend == .stage1)
fn (
status: RequestAdapterStatus,
adapter: *Adapter,
message: ?[*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
status: RequestAdapterStatus,
adapter: *Adapter,
message: ?[*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const RequestAdapterCallback = *const fn (
status: RequestAdapterStatus,
adapter: *Adapter,
message: ?[*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const CreateComputePipelineAsyncCallback = if (@import("builtin").zig_backend == .stage1)
fn (
status: CreatePipelineAsyncStatus,
compute_pipeline: *ComputePipeline,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
status: CreatePipelineAsyncStatus,
compute_pipeline: *ComputePipeline,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const CreateComputePipelineAsyncCallback = *const fn (
status: CreatePipelineAsyncStatus,
compute_pipeline: *ComputePipeline,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const CreateRenderPipelineAsyncCallback = if (@import("builtin").zig_backend == .stage1)
fn (
status: CreatePipelineAsyncStatus,
pipeline: *RenderPipeline,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
status: CreatePipelineAsyncStatus,
pipeline: *RenderPipeline,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const CreateRenderPipelineAsyncCallback = *const fn (
status: CreatePipelineAsyncStatus,
pipeline: *RenderPipeline,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;

View file

@ -1,18 +1,9 @@
const gpu = @import("main.zig");
const c = if (@import("builtin").zig_backend == .stage1 or !@import("builtin").target.isDarwin())
@cImport({
@cInclude("dawn/webgpu.h");
@cInclude("mach_dawn.h");
})
else
// TODO(self-hosted): HACK: workaround https://github.com/ziglang/zig/issues/12483
//
// cd gpu/src/
// echo '#include <dawn/webgpu.h>' > tmp.c
// echo '#include "mach_dawn.h"' >> tmp.c
// zig translate-c tmp.c -I ../zig-cache/mach/gpu-dawn/release-777728f/include/ > dawn_webgpu_h.zig
@import("dawn_webgpu_h.zig");
const c = @cImport({
@cInclude("dawn/webgpu.h");
@cInclude("mach_dawn.h");
});
var procs: c.DawnProcTable = undefined;

View file

@ -31,18 +31,11 @@ const Impl = @import("interface.zig").Impl;
const dawn = @import("dawn.zig");
pub const Device = opaque {
pub const LostCallback = if (@import("builtin").zig_backend == .stage1)
fn (
reason: LostReason,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
reason: LostReason,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const LostCallback = *const fn (
reason: LostReason,
message: [*:0]const u8,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const LostReason = enum(u32) {
undef = 0x00000000,

View file

@ -9,16 +9,10 @@ const CopyTextureForBrowserOptions = @import("types.zig").CopyTextureForBrowserO
const Impl = @import("interface.zig").Impl;
pub const Queue = opaque {
pub const WorkDoneCallback = if (@import("builtin").zig_backend == .stage1)
fn (
status: WorkDoneStatus,
userdata: ?*anyopaque,
) callconv(.C) void
else
*const fn (
status: WorkDoneStatus,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const WorkDoneCallback = *const fn (
status: WorkDoneStatus,
userdata: ?*anyopaque,
) callconv(.C) void;
pub const WorkDoneStatus = enum(u32) {
success = 0x00000000,

View file

@ -17,10 +17,7 @@ pub const whole_size = 0xffffffffffffffff;
/// Generic function pointer type, used for returning API function pointers. Must be
/// cast to the right `fn (...) callconv(.C) T` type before use.
pub const Proc = if (@import("builtin").zig_backend == .stage1)
fn () callconv(.C) void
else
*const fn () callconv(.C) void;
pub const Proc = *const fn () callconv(.C) void;
pub const ComputePassTimestampWrite = extern struct {
query_set: *QuerySet,