gpu: move callbacks to separate file
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
2e445affe2
commit
e6f3d3c2f0
7 changed files with 65 additions and 51 deletions
|
|
@ -5,6 +5,7 @@ const DeviceDescriptor = @import("device.zig").DeviceDescriptor;
|
||||||
const FeatureName = @import("types.zig").FeatureName;
|
const FeatureName = @import("types.zig").FeatureName;
|
||||||
const SupportedLimits = @import("types.zig").SupportedLimits;
|
const SupportedLimits = @import("types.zig").SupportedLimits;
|
||||||
const RequestDeviceStatus = @import("types.zig").RequestDeviceStatus;
|
const RequestDeviceStatus = @import("types.zig").RequestDeviceStatus;
|
||||||
|
const RequestDeviceCallback = @import("callbacks.zig").RequestDeviceCallback;
|
||||||
const Impl = @import("interface.zig").Impl;
|
const Impl = @import("interface.zig").Impl;
|
||||||
|
|
||||||
pub const Adapter = opaque {
|
pub const Adapter = opaque {
|
||||||
|
|
@ -70,13 +71,6 @@ pub const Adapter = opaque {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const RequestDeviceCallback = fn (
|
|
||||||
status: RequestDeviceStatus,
|
|
||||||
device: *Device,
|
|
||||||
message: ?[*:0]const u8,
|
|
||||||
userdata: *anyopaque,
|
|
||||||
) callconv(.C) void;
|
|
||||||
|
|
||||||
test "Adapter.Type name" {
|
test "Adapter.Type name" {
|
||||||
try testing.expectEqualStrings("Discrete GPU", Adapter.Type.discrete_gpu.name());
|
try testing.expectEqualStrings("Discrete GPU", Adapter.Type.discrete_gpu.name());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
57
gpu/src/callbacks.zig
Normal file
57
gpu/src/callbacks.zig
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
const CompilationInfoRequestStatus = @import("types.zig").CompilationInfoRequestStatus;
|
||||||
|
const CompilationInfo = @import("types.zig").CompilationInfo;
|
||||||
|
const ErrorType = @import("types.zig").ErrorType;
|
||||||
|
const LoggingType = @import("types.zig").LoggingType;
|
||||||
|
const RequestDeviceStatus = @import("types.zig").RequestDeviceStatus;
|
||||||
|
const RequestAdapterStatus = @import("types.zig").RequestAdapterStatus;
|
||||||
|
const CreatePipelineAsyncStatus = @import("types.zig").CreatePipelineAsyncStatus;
|
||||||
|
const Device = @import("device.zig").Device;
|
||||||
|
const Adapter = @import("adapter.zig").Adapter;
|
||||||
|
const ComputePipeline = @import("compute_pipeline.zig").ComputePipeline;
|
||||||
|
const RenderPipeline = @import("render_pipeline.zig").RenderPipeline;
|
||||||
|
|
||||||
|
pub const CompilationInfoCallback = fn (
|
||||||
|
status: CompilationInfoRequestStatus,
|
||||||
|
compilation_info: *const CompilationInfo,
|
||||||
|
userdata: *anyopaque,
|
||||||
|
) callconv(.C) void;
|
||||||
|
|
||||||
|
pub const ErrorCallback = fn (
|
||||||
|
typ: ErrorType,
|
||||||
|
message: [*:0]const u8,
|
||||||
|
userdata: *anyopaque,
|
||||||
|
) callconv(.C) void;
|
||||||
|
|
||||||
|
pub const LoggingCallback = fn (
|
||||||
|
typ: LoggingType,
|
||||||
|
message: [*:0]const u8,
|
||||||
|
userdata: *anyopaque,
|
||||||
|
) callconv(.C) void;
|
||||||
|
|
||||||
|
pub const RequestDeviceCallback = fn (
|
||||||
|
status: RequestDeviceStatus,
|
||||||
|
device: *Device,
|
||||||
|
message: ?[*:0]const u8,
|
||||||
|
userdata: *anyopaque,
|
||||||
|
) callconv(.C) void;
|
||||||
|
|
||||||
|
pub const RequestAdapterCallback = fn (
|
||||||
|
status: RequestAdapterStatus,
|
||||||
|
adapter: *Adapter,
|
||||||
|
message: ?[*:0]const u8,
|
||||||
|
userdata: *anyopaque,
|
||||||
|
) callconv(.C) void;
|
||||||
|
|
||||||
|
pub const CreateComputePipelineAsyncCallback = fn (
|
||||||
|
status: CreatePipelineAsyncStatus,
|
||||||
|
compute_pipeline: *ComputePipeline,
|
||||||
|
message: [*:0]const u8,
|
||||||
|
userdata: *anyopaque,
|
||||||
|
) callconv(.C) void;
|
||||||
|
|
||||||
|
pub const CreateRenderPipelineAsyncCallback = fn (
|
||||||
|
status: CreatePipelineAsyncStatus,
|
||||||
|
pipeline: *RenderPipeline,
|
||||||
|
message: [*:0]const u8,
|
||||||
|
userdata: *anyopaque,
|
||||||
|
) callconv(.C) void;
|
||||||
|
|
@ -34,10 +34,10 @@ const RequiredLimits = @import("types.zig").RequiredLimits;
|
||||||
const SupportedLimits = @import("types.zig").SupportedLimits;
|
const SupportedLimits = @import("types.zig").SupportedLimits;
|
||||||
const ErrorType = @import("types.zig").ErrorType;
|
const ErrorType = @import("types.zig").ErrorType;
|
||||||
const ErrorFilter = @import("types.zig").ErrorFilter;
|
const ErrorFilter = @import("types.zig").ErrorFilter;
|
||||||
const ErrorCallback = @import("types.zig").ErrorCallback;
|
const LoggingCallback = @import("callbacks.zig").LoggingCallback;
|
||||||
const LoggingCallback = @import("types.zig").LoggingCallback;
|
const ErrorCallback = @import("callbacks.zig").ErrorCallback;
|
||||||
const CreateComputePipelineAsyncCallback = @import("main.zig").CreateComputePipelineAsyncCallback;
|
const CreateComputePipelineAsyncCallback = @import("callbacks.zig").CreateComputePipelineAsyncCallback;
|
||||||
const CreateRenderPipelineAsyncCallback = @import("main.zig").CreateRenderPipelineAsyncCallback;
|
const CreateRenderPipelineAsyncCallback = @import("callbacks.zig").CreateRenderPipelineAsyncCallback;
|
||||||
const Impl = @import("interface.zig").Impl;
|
const Impl = @import("interface.zig").Impl;
|
||||||
|
|
||||||
pub const Device = opaque {
|
pub const Device = opaque {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ const Surface = @import("surface.zig").Surface;
|
||||||
const SurfaceDescriptor = @import("surface.zig").SurfaceDescriptor;
|
const SurfaceDescriptor = @import("surface.zig").SurfaceDescriptor;
|
||||||
const Adapter = @import("adapter.zig").Adapter;
|
const Adapter = @import("adapter.zig").Adapter;
|
||||||
const RequestAdapterOptions = @import("main.zig").RequestAdapterOptions;
|
const RequestAdapterOptions = @import("main.zig").RequestAdapterOptions;
|
||||||
|
const RequestAdapterCallback = @import("callbacks.zig").RequestAdapterCallback;
|
||||||
const Impl = @import("interface.zig").Impl;
|
const Impl = @import("interface.zig").Impl;
|
||||||
|
|
||||||
pub const Instance = opaque {
|
pub const Instance = opaque {
|
||||||
|
|
@ -27,10 +28,3 @@ pub const Instance = opaque {
|
||||||
Impl.instanceRelease(instance);
|
Impl.instanceRelease(instance);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
pub const RequestAdapterCallback = fn (
|
|
||||||
status: RequestAdapterStatus,
|
|
||||||
adapter: *Adapter,
|
|
||||||
message: ?[*:0]const u8,
|
|
||||||
userdata: *anyopaque,
|
|
||||||
) callconv(.C) void;
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ pub usingnamespace @import("adapter.zig");
|
||||||
pub usingnamespace @import("bind_group.zig");
|
pub usingnamespace @import("bind_group.zig");
|
||||||
pub usingnamespace @import("bind_group_layout.zig");
|
pub usingnamespace @import("bind_group_layout.zig");
|
||||||
pub usingnamespace @import("buffer.zig");
|
pub usingnamespace @import("buffer.zig");
|
||||||
|
pub usingnamespace @import("callbacks.zig");
|
||||||
pub usingnamespace @import("command_buffer.zig");
|
pub usingnamespace @import("command_buffer.zig");
|
||||||
pub usingnamespace @import("command_encoder.zig");
|
pub usingnamespace @import("command_encoder.zig");
|
||||||
pub usingnamespace @import("compute_pass_encoder.zig");
|
pub usingnamespace @import("compute_pass_encoder.zig");
|
||||||
|
|
@ -52,20 +53,6 @@ const interface = @import("interface.zig");
|
||||||
/// cast to a `fn (...) callconv(.C) T` before use.
|
/// cast to a `fn (...) callconv(.C) T` before use.
|
||||||
pub const Proc = *anyopaque;
|
pub const Proc = *anyopaque;
|
||||||
|
|
||||||
pub const CreateComputePipelineAsyncCallback = fn (
|
|
||||||
status: types.CreatePipelineAsyncStatus,
|
|
||||||
compute_pipeline: *compute_pipeline.ComputePipeline,
|
|
||||||
message: [*:0]const u8,
|
|
||||||
userdata: *anyopaque,
|
|
||||||
) callconv(.C) void;
|
|
||||||
|
|
||||||
pub const CreateRenderPipelineAsyncCallback = fn (
|
|
||||||
status: types.CreatePipelineAsyncStatus,
|
|
||||||
pipeline: *render_pipeline.RenderPipeline,
|
|
||||||
message: [*:0]const u8,
|
|
||||||
userdata: *anyopaque,
|
|
||||||
) callconv(.C) void;
|
|
||||||
|
|
||||||
pub const ComputePassTimestampWrite = extern struct {
|
pub const ComputePassTimestampWrite = extern struct {
|
||||||
query_set: *query_set.QuerySet,
|
query_set: *query_set.QuerySet,
|
||||||
query_index: u32,
|
query_index: u32,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
const ChainedStruct = @import("types.zig").ChainedStruct;
|
const ChainedStruct = @import("types.zig").ChainedStruct;
|
||||||
const CompilationInfoCallback = @import("types.zig").CompilationInfoCallback;
|
const CompilationInfoCallback = @import("callbacks.zig").CompilationInfoCallback;
|
||||||
const Impl = @import("interface.zig").Impl;
|
const Impl = @import("interface.zig").Impl;
|
||||||
|
|
||||||
pub const ShaderModule = opaque {
|
pub const ShaderModule = opaque {
|
||||||
|
|
|
||||||
|
|
@ -11,24 +11,6 @@ const ShaderModule = @import("shader_module.zig").ShaderModule;
|
||||||
const limit_u32_undefined = @import("main.zig").limit_u32_undefined;
|
const limit_u32_undefined = @import("main.zig").limit_u32_undefined;
|
||||||
const limit_u64_undefined = @import("main.zig").limit_u64_undefined;
|
const limit_u64_undefined = @import("main.zig").limit_u64_undefined;
|
||||||
|
|
||||||
pub const CompilationInfoCallback = fn (
|
|
||||||
status: CompilationInfoRequestStatus,
|
|
||||||
compilation_info: *const CompilationInfo,
|
|
||||||
userdata: *anyopaque,
|
|
||||||
) callconv(.C) void;
|
|
||||||
|
|
||||||
pub const ErrorCallback = fn (
|
|
||||||
typ: ErrorType,
|
|
||||||
message: [*:0]const u8,
|
|
||||||
userdata: *anyopaque,
|
|
||||||
) callconv(.C) void;
|
|
||||||
|
|
||||||
pub const LoggingCallback = fn (
|
|
||||||
typ: LoggingType,
|
|
||||||
message: [*:0]const u8,
|
|
||||||
userdata: *anyopaque,
|
|
||||||
) callconv(.C) void;
|
|
||||||
|
|
||||||
pub const AlphaMode = enum(u32) {
|
pub const AlphaMode = enum(u32) {
|
||||||
premultiplied = 0x00000000,
|
premultiplied = 0x00000000,
|
||||||
unpremultiplied = 0x00000001,
|
unpremultiplied = 0x00000001,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue