mach/gpu/src/texture_view.zig
Stephen Gutekanst bccb53738d gpu: implement TextureView methods
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00

41 lines
1.3 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;
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,
label: ?[*:0]const u8 = null,
format: TextureFormat,
dimension: TextureViewDimension,
base_mip_level: u32,
mip_level_count: u32,
base_array_layer: u32,
array_layer_count: u32,
aspect: TextureAspect,
};