From 4bf198b35e4002ccc50be453bf62a55e1a772dc1 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Sun, 24 Jul 2022 23:25:48 -0700 Subject: [PATCH] gpu: add CreateComputePipelineAsyncCallback Signed-off-by: Stephen Gutekanst --- gpu/TODO-webgpu.h | 1 - gpu/src/main.zig | 8 ++++++++ gpu/src/types.zig | 8 ++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gpu/TODO-webgpu.h b/gpu/TODO-webgpu.h index 8d1442dc..c87afe63 100644 --- a/gpu/TODO-webgpu.h +++ b/gpu/TODO-webgpu.h @@ -1,4 +1,3 @@ -typedef void (*WGPUCreateComputePipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPUComputePipeline pipeline, char const * message, void * userdata); typedef void (*WGPUCreateRenderPipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, char const * message, void * userdata); typedef void (*WGPUDeviceLostCallback)(WGPUDeviceLostReason reason, char const * message, void * userdata); typedef void (*WGPUErrorCallback)(WGPUErrorType type, char const * message, void * userdata); diff --git a/gpu/src/main.zig b/gpu/src/main.zig index a4cea8f2..18872b9a 100644 --- a/gpu/src/main.zig +++ b/gpu/src/main.zig @@ -43,11 +43,19 @@ const types = @import("types.zig"); const query_set = @import("query_set.zig"); const texture_view = @import("texture_view.zig"); const surface = @import("surface.zig"); +const compute_pipeline = @import("compute_pipeline.zig"); /// Generic function pointer type, used for returning API function pointers. Must be /// cast to a `fn (...) callconv(.C) T` before use. 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 ComputePassTimestampWrite = extern struct { query_set: query_set.QuerySet, query_index: u32, diff --git a/gpu/src/types.zig b/gpu/src/types.zig index f2923625..17a09788 100644 --- a/gpu/src/types.zig +++ b/gpu/src/types.zig @@ -9,6 +9,12 @@ const TextureViewDimension = @import("texture_view.zig").TextureViewDimension; const Buffer = @import("buffer.zig").Buffer; const ShaderModule = @import("shader_module.zig").ShaderModule; +pub const CompilationInfoCallback = fn ( + status: CompilationInfoRequestStatus, + compilation_info: *const CompilationInfo, + userdata: *anyopaque, +) callconv(.C) void; + pub const AlphaMode = enum(u32) { premultiplied = 0x00000000, unpremultiplied = 0x00000001, @@ -74,8 +80,6 @@ pub const CompareFunction = enum(u32) { always = 0x00000008, }; -pub const CompilationInfoCallback = fn (status: CompilationInfoRequestStatus, compilation_info: *const CompilationInfo, userdata: *anyopaque) callconv(.C) void; - pub const CompilationInfoRequestStatus = enum(u32) { success = 0x00000000, err = 0x00000001,