From da4edf6e1d7c1c35cecd3ce5bbbe016b29568a70 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Fri, 11 Mar 2022 16:09:43 -0700 Subject: [PATCH] gpu: add StorageTextureBindingLayout Signed-off-by: Stephen Gutekanst --- gpu/src/TODO | 7 ------- gpu/src/main.zig | 1 + gpu/src/structs.zig | 9 +++++++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gpu/src/TODO b/gpu/src/TODO index f512eba1..161ffd47 100644 --- a/gpu/src/TODO +++ b/gpu/src/TODO @@ -204,13 +204,6 @@ typedef struct WGPUCopyTextureForBrowserOptions { WGPUAlphaMode dstAlphaMode; } WGPUCopyTextureForBrowserOptions; -typedef struct WGPUStorageTextureBindingLayout { - WGPUChainedStruct const * nextInChain; - WGPUStorageTextureAccess access; - WGPUTextureFormat format; - WGPUTextureViewDimension viewDimension; -} WGPUStorageTextureBindingLayout; - typedef struct WGPUTextureBindingLayout { WGPUChainedStruct const * nextInChain; WGPUTextureSampleType sampleType; diff --git a/gpu/src/main.zig b/gpu/src/main.zig index bf87a7cb..de447529 100644 --- a/gpu/src/main.zig +++ b/gpu/src/main.zig @@ -91,6 +91,7 @@ pub const VertexBufferLayout = @import("data.zig").VertexBufferLayout; pub const CompilationMessage = @import("structs.zig").CompilationMessage; pub const MultisampleState = @import("structs.zig").MultisampleState; pub const PrimitiveState = @import("structs.zig").PrimitiveState; +pub const StorageTextureBindingLayout = @import("structs.zig").StorageTextureBindingLayout; // Enumerations pub const Feature = @import("enums.zig").Feature; diff --git a/gpu/src/structs.zig b/gpu/src/structs.zig index b3460c7b..ab3e16ed 100644 --- a/gpu/src/structs.zig +++ b/gpu/src/structs.zig @@ -1,12 +1,14 @@ //! Structures which are not ABI compatible with webgpu.h const Buffer = @import("Buffer.zig"); const Sampler = @import("Sampler.zig"); +const Texture = @import("Texture.zig"); const TextureView = @import("TextureView.zig"); const CompilationMessageType = @import("enums.zig").CompilationMessageType; const PrimitiveTopology = @import("enums.zig").PrimitiveTopology; const IndexFormat = @import("enums.zig").IndexFormat; const FrontFace = @import("enums.zig").FrontFace; const CullMode = @import("enums.zig").CullMode; +const StorageTextureAccess = @import("enums.zig").StorageTextureAccess; pub const CompilationMessage = struct { message: [:0]const u8, @@ -30,8 +32,15 @@ pub const PrimitiveState = struct { cull_mode: CullMode, }; +pub const StorageTextureBindingLayout = struct { + access: StorageTextureAccess, + format: Texture.Format, + view_dimension: Texture.ViewDimension, +}; + test "syntax" { _ = CompilationMessage; _ = MultisampleState; _ = PrimitiveState; + _ = StorageTextureBindingLayout; }