From 3def7588cd15068e3c185870e71449209b550ef8 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Sat, 30 Jul 2022 19:25:40 -0700 Subject: [PATCH] gpu: correct computePassEncoderWriteTimestamp signature Signed-off-by: Stephen Gutekanst --- gpu/src/compute_pass_encoder.zig | 5 +++-- gpu/src/dawn_impl.zig | 12 ++++++------ gpu/src/interface.zig | 11 ++++++----- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/gpu/src/compute_pass_encoder.zig b/gpu/src/compute_pass_encoder.zig index 00d123ad..6617f60e 100644 --- a/gpu/src/compute_pass_encoder.zig +++ b/gpu/src/compute_pass_encoder.zig @@ -1,6 +1,7 @@ const Buffer = @import("buffer.zig").Buffer; const BindGroup = @import("bind_group.zig").BindGroup; const ComputePipeline = @import("compute_pipeline.zig").ComputePipeline; +const QuerySet = @import("query_set.zig").QuerySet; const Impl = @import("interface.zig").Impl; pub const ComputePassEncoder = opaque { @@ -44,8 +45,8 @@ pub const ComputePassEncoder = opaque { Impl.computePassEncoderSetPipeline(compute_pass_encoder, pipeline); } - pub inline fn writeTimestamp(compute_pass_encoder: *ComputePassEncoder, pipeline: *ComputePipeline) void { - Impl.computePassEncoderWriteTimestamp(compute_pass_encoder, pipeline); + pub inline fn writeTimestamp(compute_pass_encoder: *ComputePassEncoder, query_set: *QuerySet, query_index: u32) void { + Impl.computePassEncoderWriteTimestamp(compute_pass_encoder, query_set, query_index); } pub inline fn reference(compute_pass_encoder: *ComputePassEncoder) void { diff --git a/gpu/src/dawn_impl.zig b/gpu/src/dawn_impl.zig index 6b599adf..806a8dfd 100644 --- a/gpu/src/dawn_impl.zig +++ b/gpu/src/dawn_impl.zig @@ -375,12 +375,12 @@ pub const Interface = gpu.Interface(struct { ); } - // TODO: signature is wrong! - // WGPU_EXPORT void wgpuComputePassEncoderWriteTimestamp(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex); - pub inline fn computePassEncoderWriteTimestamp(compute_pass_encoder: *gpu.ComputePassEncoder, pipeline: *gpu.ComputePipeline) void { - _ = compute_pass_encoder; - _ = pipeline; - unreachable; + pub inline fn computePassEncoderWriteTimestamp(compute_pass_encoder: *gpu.ComputePassEncoder, query_set: *gpu.QuerySet, query_index: u32) void { + procs.computePassEncoderWriteTimestamp.?( + @ptrCast(c.WGPUComputePassEncoder, compute_pass_encoder), + @ptrCast(c.WGPUQuerySet, query_set), + query_index, + ); } pub inline fn computePassEncoderReference(compute_pass_encoder: *gpu.ComputePassEncoder) void { diff --git a/gpu/src/interface.zig b/gpu/src/interface.zig index aa7ccf86..4509d3f6 100644 --- a/gpu/src/interface.zig +++ b/gpu/src/interface.zig @@ -72,7 +72,7 @@ pub fn Interface(comptime T: type) type { assertDecl(T, "computePassEncoderSetBindGroup", fn (compute_pass_encoder: *gpu.ComputePassEncoder, group_index: u32, group: *gpu.BindGroup, dynamic_offset_count: u32, dynamic_offsets: ?[*]const u32) callconv(.Inline) void); assertDecl(T, "computePassEncoderSetLabel", fn (compute_pass_encoder: *gpu.ComputePassEncoder, label: [*:0]const u8) callconv(.Inline) void); assertDecl(T, "computePassEncoderSetPipeline", fn (compute_pass_encoder: *gpu.ComputePassEncoder, pipeline: *gpu.ComputePipeline) callconv(.Inline) void); - assertDecl(T, "computePassEncoderWriteTimestamp", fn (compute_pass_encoder: *gpu.ComputePassEncoder, pipeline: *gpu.ComputePipeline) callconv(.Inline) void); + assertDecl(T, "computePassEncoderWriteTimestamp", fn (compute_pass_encoder: *gpu.ComputePassEncoder, query_set: *gpu.QuerySet, query_index: u32) callconv(.Inline) void); assertDecl(T, "computePassEncoderReference", fn (compute_pass_encoder: *gpu.ComputePassEncoder) callconv(.Inline) void); assertDecl(T, "computePassEncoderRelease", fn (compute_pass_encoder: *gpu.ComputePassEncoder) callconv(.Inline) void); assertDecl(T, "computePipelineGetBindGroupLayout", fn (compute_pipeline: *gpu.ComputePipeline, group_index: u32) callconv(.Inline) *gpu.BindGroupLayout); @@ -514,8 +514,8 @@ pub fn Export(comptime T: type) type { } // WGPU_EXPORT void wgpuComputePassEncoderWriteTimestamp(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex); - export fn wgpuComputePassEncoderWriteTimestamp(compute_pass_encoder: *gpu.ComputePassEncoder, pipeline: *gpu.ComputePipeline) void { - T.computePassEncoderWriteTimestamp(compute_pass_encoder, pipeline); + export fn wgpuComputePassEncoderWriteTimestamp(compute_pass_encoder: *gpu.ComputePassEncoder, query_set: *gpu.QuerySet, query_index: u32) void { + T.computePassEncoderWriteTimestamp(compute_pass_encoder, query_set, query_index); } // WGPU_EXPORT void wgpuComputePassEncoderReference(WGPUComputePassEncoder computePassEncoder); @@ -1579,9 +1579,10 @@ pub const StubInterface = Interface(struct { unreachable; } - pub inline fn computePassEncoderWriteTimestamp(compute_pass_encoder: *gpu.ComputePassEncoder, pipeline: *gpu.ComputePipeline) void { + pub inline fn computePassEncoderWriteTimestamp(compute_pass_encoder: *gpu.ComputePassEncoder, query_set: *gpu.QuerySet, query_index: u32) void { _ = compute_pass_encoder; - _ = pipeline; + _ = query_set; + _ = query_index; unreachable; }