Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ b.getInstallStep().dependOn(&install_dll.step);
message: StringView,
userdata1: ?*anyopaque,
userdata2: ?*anyopaque
) callconv(.C) void {
) callconv(.c) void {
switch(status) {
.success => {
const ud_adapter: **Adapter = @ptrCast(@alignCast(userdata1));
Expand Down
2 changes: 1 addition & 1 deletion build.zig.zon
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// This field is optional.
// This is currently advisory only; Zig does not yet do anything
// with this value.
.minimum_zig_version = "0.14.0",
.minimum_zig_version = "0.15.2",

// This field is optional.
// Each dependency must either provide a `url` and `hash`, or a `path`.
Expand Down
26 changes: 15 additions & 11 deletions examples/bmp.zig
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
const std = @import("std");

pub fn write24BitBMP(file_name: []const u8, comptime width: u32, comptime height: u32, bgra_data: *[width * height * 4]u8) !void {
const file = try std.fs.cwd().createFile(file_name, .{});
defer file.close();

var writer = file.writer();

// ID
_ = try writer.write(&[2]u8{'B', 'M'});

const colors_per_line = width * 3;
const bytes_per_line = switch(colors_per_line & 0x00000003) {
0 => colors_per_line,
else => (colors_per_line | 0x00000003) + 1,
};
const file_size = 54 + (bytes_per_line * height);

const file = try std.fs.cwd().createFile(file_name, .{});
defer file.close();

var buffer: [256]u8 = undefined;

var writer_backing = file.writer(&buffer);
const writer = &writer_backing.interface;

// ID
try writer.writeAll(&[2]u8{ 'B', 'M' });
try writer.writeInt(u32, file_size, .little);

// reserved
Expand All @@ -33,9 +36,9 @@ pub fn write24BitBMP(file_name: []const u8, comptime width: u32, comptime height
try writer.writeInt(u16, 24, .little);
// Six 32-bit words, all set to zero:
// compression type, compressed image size, x pixels/meter, y pixels/meter, colors used, important colors
try writer.writeByteNTimes(0, 4 * 6);
try writer.splatByteAll(0, 4 * 6);

var line_buffer = [_]u8{0} ** bytes_per_line;
var line_buffer: [bytes_per_line]u8 = undefined;
const bgra_pixels_per_line = width * 4;
for (0..height) |i_y| {
const y = height - i_y - 1;
Expand All @@ -45,8 +48,9 @@ pub fn write24BitBMP(file_name: []const u8, comptime width: u32, comptime height
const bgra_pixel_offset = line_offset + (x * 4);
line_buffer[bgr_pixel_offset] = bgra_data[bgra_pixel_offset];
line_buffer[bgr_pixel_offset + 1] = bgra_data[bgra_pixel_offset + 1];
line_buffer[bgr_pixel_offset + 2] = bgra_data[bgra_pixel_offset + 2];
line_buffer[bgr_pixel_offset + 2] = bgra_data[bgra_pixel_offset + 2];
}
_ = try writer.write(&line_buffer);
}
try writer.flush();
}
4 changes: 2 additions & 2 deletions examples/triangle/triangle.zig
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const output_extent = wgpu.Extent3D {
const output_bytes_per_row = 4 * output_extent.width;
const output_size = output_bytes_per_row * output_extent.height;

fn handleBufferMap(status: wgpu.MapAsyncStatus, _: wgpu.StringView, userdata1: ?*anyopaque, _: ?*anyopaque) callconv(.C) void {
fn handleBufferMap(status: wgpu.MapAsyncStatus, _: wgpu.StringView, userdata1: ?*anyopaque, _: ?*anyopaque) callconv(.c) void {
std.log.info("buffer_map status={x:.8}\n", .{@intFromEnum(status)});
const complete: *bool = @ptrCast(@alignCast(userdata1));
complete.* = true;
Expand Down Expand Up @@ -147,7 +147,7 @@ pub fn main() !void {

encoder.copyTextureToBuffer(&img_copy_src, &img_copy_dst, &output_extent);

const command_buffer = encoder.finish(&wgpu.CommandBufferDescriptor {
const command_buffer = encoder.finish(&wgpu.CommandBufferDescriptor {
.label = wgpu.StringView.fromSlice("Command Buffer"),
}).?;
defer command_buffer.release();
Expand Down
20 changes: 10 additions & 10 deletions src/adapter.zig
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ pub const RequestAdapterCallback = *const fn(
message: StringView,
userdata1: ?*anyopaque,
userdata2: ?*anyopaque,
) callconv(.C) void;
) callconv(.c) void;

pub const RequestAdapterResponse = struct {
status: RequestAdapterStatus,
Expand All @@ -119,7 +119,7 @@ pub const RequestAdapterResponse = struct {
};

pub const AdapterInfoProcs = struct {
pub const FreeMembers = *const fn(AdapterInfo) callconv(.C) void;
pub const FreeMembers = *const fn(AdapterInfo) callconv(.c) void;
};

extern fn wgpuAdapterInfoFreeMembers(adapter_info: AdapterInfo) void;
Expand All @@ -141,13 +141,13 @@ pub const AdapterInfo = extern struct {
};

pub const AdapterProcs = struct {
pub const GetFeatures = *const fn(*Adapter, *SupportedFeatures) callconv(.C) void;
pub const GetLimits = *const fn(*Adapter, *Limits) callconv(.C) Status;
pub const GetInfo = *const fn(*Adapter, *AdapterInfo) callconv(.C) Status;
pub const HasFeature = *const fn(*Adapter, FeatureName) callconv(.C) WGPUBool;
pub const RequestDevice = *const fn(*Adapter, ?*const DeviceDescriptor, RequestDeviceCallbackInfo) callconv(.C) Future;
pub const AddRef = *const fn(*Adapter) callconv(.C) void;
pub const Release = *const fn(*Adapter) callconv(.C) void;
pub const GetFeatures = *const fn(*Adapter, *SupportedFeatures) callconv(.c) void;
pub const GetLimits = *const fn(*Adapter, *Limits) callconv(.c) Status;
pub const GetInfo = *const fn(*Adapter, *AdapterInfo) callconv(.c) Status;
pub const HasFeature = *const fn(*Adapter, FeatureName) callconv(.c) WGPUBool;
pub const RequestDevice = *const fn(*Adapter, ?*const DeviceDescriptor, RequestDeviceCallbackInfo) callconv(.c) Future;
pub const AddRef = *const fn(*Adapter) callconv(.c) void;
pub const Release = *const fn(*Adapter) callconv(.c) void;
};

extern fn wgpuAdapterGetFeatures(adapter: *Adapter, features: *SupportedFeatures) void;
Expand All @@ -172,7 +172,7 @@ pub const Adapter = opaque{
return wgpuAdapterHasFeature(self, feature) != 0;
}

fn defaultDeviceCallback(status: RequestDeviceStatus, device: ?*Device, message: StringView, userdata1: ?*anyopaque, userdata2: ?*anyopaque) callconv(.C) void {
fn defaultDeviceCallback(status: RequestDeviceStatus, device: ?*Device, message: StringView, userdata1: ?*anyopaque, userdata2: ?*anyopaque) callconv(.c) void {
const ud_response: *RequestDeviceResponse = @ptrCast(@alignCast(userdata1));
ud_response.* = RequestDeviceResponse {
.status = status,
Expand Down
12 changes: 6 additions & 6 deletions src/bind_group.zig
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ pub const BindGroupLayoutDescriptor = extern struct {
};

pub const BindGroupLayoutProcs = struct {
pub const SetLabel = *const fn(*BindGroupLayout, StringView) callconv(.C) void;
pub const AddRef = *const fn(*BindGroupLayout) callconv(.C) void;
pub const Release = *const fn(*BindGroupLayout) callconv(.C) void;
pub const SetLabel = *const fn(*BindGroupLayout, StringView) callconv(.c) void;
pub const AddRef = *const fn(*BindGroupLayout) callconv(.c) void;
pub const Release = *const fn(*BindGroupLayout) callconv(.c) void;
};

extern fn wgpuBindGroupLayoutSetLabel(bind_group_layout: *BindGroupLayout, label: StringView) void;
Expand Down Expand Up @@ -129,9 +129,9 @@ pub const BindGroupDescriptor = extern struct {
};

pub const BindGroupProcs = struct {
pub const SetLabel = *const fn(*BindGroup, StringView) callconv(.C) void;
pub const AddRef = *const fn(*BindGroup) callconv(.C) void;
pub const Release = *const fn(*BindGroup) callconv(.C) void;
pub const SetLabel = *const fn(*BindGroup, StringView) callconv(.c) void;
pub const AddRef = *const fn(*BindGroup) callconv(.c) void;
pub const Release = *const fn(*BindGroup) callconv(.c) void;
};

extern fn wgpuBindGroupSetLabel(bind_group: *BindGroup, label: StringView) void;
Expand Down
24 changes: 12 additions & 12 deletions src/buffer.zig
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ pub const BufferMapCallbackInfo = extern struct {
userdata2: ?*anyopaque = null,
};

pub const BufferMapCallback = *const fn(status: MapAsyncStatus, message: StringView, userdata1: ?*anyopaque, userdata2: ?*anyopaque) callconv(.C) void;
pub const BufferMapCallback = *const fn(status: MapAsyncStatus, message: StringView, userdata1: ?*anyopaque, userdata2: ?*anyopaque) callconv(.c) void;

pub const BufferDescriptor = extern struct {
next_in_chain: ?*const ChainedStruct = null,
Expand All @@ -86,17 +86,17 @@ pub const BufferDescriptor = extern struct {
};

pub const BufferProcs = struct {
pub const Destroy = *const fn(*Buffer) callconv(.C) void;
pub const GetConstMappedRange = *const fn(*Buffer, usize, usize) callconv(.C) ?*const anyopaque;
pub const GetMapState = *const fn(*Buffer) callconv(.C) BufferMapState;
pub const GetMappedRange = *const fn(*Buffer, usize, usize) callconv(.C) ?*anyopaque;
pub const GetSize = *const fn(*Buffer) callconv(.C) u64;
pub const GetUsage = *const fn(*Buffer) callconv(.C) BufferUsage;
pub const MapAsync = *const fn(*Buffer, MapMode, usize, usize, BufferMapCallbackInfo) callconv(.C) Future;
pub const SetLabel = *const fn(*Buffer, StringView) callconv(.C) void;
pub const Unmap = *const fn(*Buffer) callconv(.C) void;
pub const AddRef = *const fn(*Buffer) callconv(.C) void;
pub const Release = *const fn(*Buffer) callconv(.C) void;
pub const Destroy = *const fn(*Buffer) callconv(.c) void;
pub const GetConstMappedRange = *const fn(*Buffer, usize, usize) callconv(.c) ?*const anyopaque;
pub const GetMapState = *const fn(*Buffer) callconv(.c) BufferMapState;
pub const GetMappedRange = *const fn(*Buffer, usize, usize) callconv(.c) ?*anyopaque;
pub const GetSize = *const fn(*Buffer) callconv(.c) u64;
pub const GetUsage = *const fn(*Buffer) callconv(.c) BufferUsage;
pub const MapAsync = *const fn(*Buffer, MapMode, usize, usize, BufferMapCallbackInfo) callconv(.c) Future;
pub const SetLabel = *const fn(*Buffer, StringView) callconv(.c) void;
pub const Unmap = *const fn(*Buffer) callconv(.c) void;
pub const AddRef = *const fn(*Buffer) callconv(.c) void;
pub const Release = *const fn(*Buffer) callconv(.c) void;
};

extern fn wgpuBufferDestroy(buffer: *Buffer) void;
Expand Down
Loading