98 lines
4.7 KiB
Zig
98 lines
4.7 KiB
Zig
//! WebGPU interface for Zig
|
||
//!
|
||
//! # Coordinate Systems
|
||
//!
|
||
//! * Y-axis is up in normalized device coordinate (NDC): point(-1.0, -1.0) in NDC is located at
|
||
//! the bottom-left corner of NDC. In addition, x and y in NDC should be between -1.0 and 1.0
|
||
//! inclusive, while z in NDC should be between 0.0 and 1.0 inclusive. Vertices out of this range
|
||
//! in NDC will not introduce any errors, but they will be clipped.
|
||
//! * Y-axis is down in framebuffer coordinate, viewport coordinate and fragment/pixel coordinate:
|
||
//! origin(0, 0) is located at the top-left corner in these coordinate systems.
|
||
//! * Window/present coordinate matches framebuffer coordinate.
|
||
//! * UV of origin(0, 0) in texture coordinate represents the first texel (the lowest byte) in
|
||
//! texture memory.
|
||
//!
|
||
//! Note: WebGPU’s coordinate systems match DirectX’s coordinate systems in a graphics pipeline.
|
||
//!
|
||
//! # Reference counting
|
||
//!
|
||
//! TODO: docs
|
||
//!
|
||
const std = @import("std");
|
||
pub const Interface = @import("Interface.zig");
|
||
pub const RequestAdapterOptions = Interface.RequestAdapterOptions;
|
||
pub const RequestAdapterErrorCode = Interface.RequestAdapterErrorCode;
|
||
pub const RequestAdapterError = Interface.RequestAdapterError;
|
||
pub const RequestAdapterResponse = Interface.RequestAdapterResponse;
|
||
|
||
pub const NativeInstance = @import("NativeInstance.zig");
|
||
|
||
pub const Adapter = @import("Adapter.zig");
|
||
pub const Device = @import("Device.zig");
|
||
pub const Surface = @import("Surface.zig");
|
||
pub const Limits = @import("Limits.zig");
|
||
pub const Queue = @import("Queue.zig");
|
||
pub const CommandBuffer = @import("CommandBuffer.zig");
|
||
pub const ShaderModule = @import("ShaderModule.zig");
|
||
pub const SwapChain = @import("SwapChain.zig");
|
||
|
||
pub const Feature = @import("enums.zig").Feature;
|
||
pub const TextureUsage = @import("enums.zig").TextureUsage;
|
||
pub const TextureFormat = @import("enums.zig").TextureFormat;
|
||
pub const PresentMode = @import("enums.zig").PresentMode;
|
||
pub const AddressMode = @import("enums.zig").AddressMode;
|
||
pub const AlphaMode = @import("enums.zig").AlphaMode;
|
||
pub const BlendFactor = @import("enums.zig").BlendFactor;
|
||
pub const BlendOperation = @import("enums.zig").BlendOperation;
|
||
pub const BufferBindingType = @import("enums.zig").BufferBindingType;
|
||
pub const BufferMapAsyncStatus = @import("enums.zig").BufferMapAsyncStatus;
|
||
pub const CompareFunction = @import("enums.zig").CompareFunction;
|
||
pub const CompilationInfoRequestStatus = @import("enums.zig").CompilationInfoRequestStatus;
|
||
pub const CompilationMessageType = @import("enums.zig").CompilationMessageType;
|
||
pub const ComputePassTimestampLocation = @import("enums.zig").ComputePassTimestampLocation;
|
||
pub const CreatePipelineAsyncStatus = @import("enums.zig").CreatePipelineAsyncStatus;
|
||
pub const CullMode = @import("enums.zig").CullMode;
|
||
pub const DeviceLostReason = @import("enums.zig").DeviceLostReason;
|
||
pub const ErrorFilter = @import("enums.zig").ErrorFilter;
|
||
pub const ErrorType = @import("enums.zig").ErrorType;
|
||
pub const FilterMode = @import("enums.zig").FilterMode;
|
||
pub const FrontFace = @import("enums.zig").FrontFace;
|
||
pub const IndexFormat = @import("enums.zig").IndexFormat;
|
||
pub const LoadOp = @import("enums.zig").LoadOp;
|
||
pub const LoggingType = @import("enums.zig").LoggingType;
|
||
pub const PipelineStatistic = @import("enums.zig").PipelineStatistic;
|
||
pub const PowerPreference = @import("enums.zig").PowerPreference;
|
||
pub const PredefinedColorSpace = @import("enums.zig").PredefinedColorSpace;
|
||
pub const PrimitiveTopology = @import("enums.zig").PrimitiveTopology;
|
||
pub const QueryType = @import("enums.zig").QueryType;
|
||
pub const RenderPassTimestampLocation = @import("enums.zig").RenderPassTimestampLocation;
|
||
pub const SamplerBindingType = @import("enums.zig").SamplerBindingType;
|
||
pub const StencilOperation = @import("enums.zig").StencilOperation;
|
||
pub const StorageTextureAccess = @import("enums.zig").StorageTextureAccess;
|
||
pub const StoreOp = @import("enums.zig").StoreOp;
|
||
pub const TextureAspect = @import("enums.zig").TextureAspect;
|
||
pub const TextureComponentType = @import("enums.zig").TextureComponentType;
|
||
pub const TextureDimension = @import("enums.zig").TextureDimension;
|
||
pub const TextureSampleType = @import("enums.zig").TextureSampleType;
|
||
pub const TextureViewDimension = @import("enums.zig").TextureViewDimension;
|
||
pub const VertexFormat = @import("enums.zig").VertexFormat;
|
||
pub const VertexStepMode = @import("enums.zig").VertexStepMode;
|
||
pub const BufferUsage = @import("enums.zig").BufferUsage;
|
||
pub const ColorWriteMask = @import("enums.zig").ColorWriteMask;
|
||
pub const MapMode = @import("enums.zig").MapMode;
|
||
|
||
test "syntax" {
|
||
_ = Interface;
|
||
_ = NativeInstance;
|
||
|
||
_ = Adapter;
|
||
_ = Device;
|
||
_ = Surface;
|
||
_ = Limits;
|
||
_ = Queue;
|
||
_ = CommandBuffer;
|
||
_ = ShaderModule;
|
||
_ = SwapChain;
|
||
|
||
_ = Feature;
|
||
}
|