28 lines
1.1 KiB
Zig
28 lines
1.1 KiB
Zig
const ChainedStruct = @import("types.zig").ChainedStruct;
|
|
const ShaderStageFlags = @import("types.zig").ShaderStageFlags;
|
|
const Buffer = @import("buffer.zig").Buffer;
|
|
const BufferBindingLayout = @import("buffer.zig").BufferBindingLayout;
|
|
const Sampler = @import("sampler.zig").Sampler;
|
|
const SamplerBindingLayout = @import("sampler.zig").SamplerBindingLayout;
|
|
const Texture = @import("texture.zig").Texture;
|
|
const TextureBindingLayout = @import("texture.zig").TextureBindingLayout;
|
|
const StorageTextureBindingLayout = @import("types.zig").StorageTextureBindingLayout;
|
|
|
|
pub const BindGroupLayout = *opaque {};
|
|
|
|
pub const BindGroupLayoutEntry = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
binding: u32,
|
|
visibility: ShaderStageFlags,
|
|
buffer: BufferBindingLayout,
|
|
sampler: SamplerBindingLayout,
|
|
texture: TextureBindingLayout,
|
|
storage_texture: StorageTextureBindingLayout,
|
|
};
|
|
|
|
pub const BindGroupLayoutDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
entry_count: u32,
|
|
entries: [*]const BindGroupLayoutEntry,
|
|
};
|