mach/gpu/src/texture_view.zig
Stephen Gutekanst 41fe42e366 gpu: make all next_in_chain fields optional, default to null
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00

43 lines
1.5 KiB
Zig

const ChainedStruct = @import("types.zig").ChainedStruct;
const Texture = @import("texture.zig").Texture;
const TextureFormat = @import("texture.zig").TextureFormat;
const TextureAspect = @import("texture.zig").TextureAspect;
const Impl = @import("interface.zig").Impl;
const mip_level_count_undefined = @import("main.zig").mip_level_count_undefined;
const array_layer_count_undefined = @import("main.zig").array_layer_count_undefined;
pub const TextureView = *opaque {
pub inline fn setLabel(texture_view: TextureView, label: [*:0]const u8) void {
Impl.textureViewSetLabel(texture_view, label);
}
pub inline fn reference(texture_view: TextureView) void {
Impl.textureViewReference(texture_view);
}
pub inline fn release(texture_view: TextureView) void {
Impl.textureViewRelease(texture_view);
}
};
pub const TextureViewDimension = enum(u32) {
dimension_undef = 0x00000000,
dimension_1d = 0x00000001,
dimension_2d = 0x00000002,
dimension_2d_array = 0x00000003,
dimension_cube = 0x00000004,
dimension_cube_array = 0x00000005,
dimension_3d = 0x00000006,
};
pub const TextureViewDescriptor = extern struct {
next_in_chain: ?*const ChainedStruct = null,
label: ?[*:0]const u8 = null,
format: TextureFormat = .undef,
dimension: TextureViewDimension = .dimension_undef,
base_mip_level: u32 = 0,
mip_level_count: u32 = mip_level_count_undefined,
base_array_layer: u32 = 0,
array_layer_count: u32 = array_layer_count_undefined,
aspect: TextureAspect = .all,
};