diff --git a/gpu/TODO-webgpu.h b/gpu/TODO-webgpu.h index a0c4ec8a..e3c8f898 100644 --- a/gpu/TODO-webgpu.h +++ b/gpu/TODO-webgpu.h @@ -1,18 +1,3 @@ -pub const WGPUSamplerDescriptor = extern struct { - next_in_chain: *const ChainedStruct, - label: ?[*:0]const u8 = null, - address_mode_u: AddressMode, - address_mode_v: AddressMode, - address_mode_w: AddressMode, - mag_filter: FilterMode, - min_filter: FilterMode, - mipmap_filter: FilterMode, - lod_min_clamp: f32, - lod_max_clamp: f32, - compare: CompareFunction, - max_anisotropy: u16, -}; - pub const WGPUShaderModuleDescriptor = extern struct { next_in_chain: *const ChainedStruct, label: ?[*:0]const u8 = null, diff --git a/gpu/src/sampler.zig b/gpu/src/sampler.zig index 34568fae..c1c25885 100644 --- a/gpu/src/sampler.zig +++ b/gpu/src/sampler.zig @@ -1,4 +1,6 @@ const ChainedStruct = @import("types.zig").ChainedStruct; +const FilterMode = @import("types.zig").FilterMode; +const CompareFunction = @import("types.zig").CompareFunction; pub const Sampler = enum(usize) { _, @@ -22,4 +24,19 @@ pub const Sampler = enum(usize) { next_in_chain: *const ChainedStruct, type: BindingType, }; + + pub const Descriptor = extern struct { + next_in_chain: *const ChainedStruct, + label: ?[*:0]const u8 = null, + address_mode_u: AddressMode, + address_mode_v: AddressMode, + address_mode_w: AddressMode, + mag_filter: FilterMode, + min_filter: FilterMode, + mipmap_filter: FilterMode, + lod_min_clamp: f32, + lod_max_clamp: f32, + compare: CompareFunction, + max_anisotropy: u16, + }; };