1#![allow(clippy::not_unsafe_ptr_arg_deref)] #![allow(clippy::missing_safety_doc)] #![allow(clippy::module_inception)] #![allow(clippy::self_named_constructors)] #![allow(clippy::forget_non_drop)] #![allow(clippy::too_many_arguments)] pub mod device;
47pub mod enums;
48pub mod error;
49pub mod types;
50
51pub mod allocation;
53pub mod resource;
54
55pub mod buffer;
57pub mod heap;
58pub mod texture;
59
60pub mod command_buffer;
62pub mod command_queue;
63
64pub mod encoder;
66
67pub mod depth_stencil;
69pub mod sampler;
70
71pub mod library;
73pub mod pipeline;
74
75pub mod pass;
77
78pub mod sync;
80
81pub mod acceleration;
83
84pub mod io;
86
87pub mod argument;
89pub mod argument_descriptor;
90
91pub mod command_buffer_encoder_info;
93
94pub mod binary_archive;
96
97pub mod capture;
99
100pub mod counter;
102
103pub mod indirect;
105
106pub mod function_stitching;
108
109pub mod function_table;
111
112pub mod residency_set;
114
115pub mod tensor;
117
118pub mod drawable;
120
121pub mod vertex;
123
124pub mod stage_input_output;
126
127pub mod rasterization_rate;
129
130pub mod log_state;
132
133pub mod function_log;
135
136pub mod texture_view_pool;
138
139pub mod mtl4;
141
142pub use enums::*;
144pub use error::ValidationError;
145pub use types::*;
146
147pub use device::{Architecture, Device};
149
150pub use buffer::Buffer;
152pub use heap::{Heap, HeapDescriptor};
153pub use texture::{SharedTextureHandle, Texture, TextureDescriptor, TextureViewDescriptor};
154
155pub use command_buffer::{CommandBuffer, CommandBufferDescriptor};
157pub use command_queue::{CommandQueue, CommandQueueDescriptor};
158
159pub use depth_stencil::{DepthStencilDescriptor, DepthStencilState, StencilDescriptor};
161pub use sampler::{SamplerDescriptor, SamplerState};
162
163pub use library::{
165 Attribute, CompileOptions, DynamicLibrary, Function, FunctionConstant, FunctionConstantValues,
166 FunctionDescriptor, FunctionReflection, IntersectionFunctionDescriptor, Library,
167 LinkedFunctions, VertexAttribute,
168};
169
170pub use pipeline::{
172 ComputePipelineDescriptor, ComputePipelineState, LogicalToPhysicalColorAttachmentMap,
173 MeshRenderPipelineDescriptor, PipelineBufferDescriptor, PipelineBufferDescriptorArray,
174 RenderPipelineColorAttachmentDescriptor, RenderPipelineColorAttachmentDescriptorArray,
175 RenderPipelineDescriptor, RenderPipelineFunctionsDescriptor, RenderPipelineReflection,
176 RenderPipelineState, TileRenderPipelineColorAttachmentDescriptor,
177 TileRenderPipelineColorAttachmentDescriptorArray, TileRenderPipelineDescriptor,
178};
179
180pub use sync::{Event, Fence, SharedEvent, SharedEventHandle, SharedEventListener};
182
183pub use pass::{
185 BlitPassDescriptor, BlitPassSampleBufferAttachmentDescriptor,
186 BlitPassSampleBufferAttachmentDescriptorArray, ComputePassDescriptor,
187 ComputePassSampleBufferAttachmentDescriptor, ComputePassSampleBufferAttachmentDescriptorArray,
188 RenderPassColorAttachmentDescriptor, RenderPassColorAttachmentDescriptorArray,
189 RenderPassDepthAttachmentDescriptor, RenderPassDescriptor,
190 RenderPassSampleBufferAttachmentDescriptor, RenderPassSampleBufferAttachmentDescriptorArray,
191 RenderPassStencilAttachmentDescriptor, ResourceStatePassDescriptor,
192 ResourceStatePassSampleBufferAttachmentDescriptor,
193 ResourceStatePassSampleBufferAttachmentDescriptorArray,
194};
195
196pub use acceleration::{
198 AccelerationStructure, AccelerationStructureBoundingBoxGeometryDescriptor,
199 AccelerationStructureCommandEncoder, AccelerationStructureCurveGeometryDescriptor,
200 AccelerationStructureDescriptor, AccelerationStructureGeometryDescriptor,
201 AccelerationStructureMotionBoundingBoxGeometryDescriptor,
202 AccelerationStructureMotionCurveGeometryDescriptor,
203 AccelerationStructureMotionTriangleGeometryDescriptor, AccelerationStructurePassDescriptor,
204 AccelerationStructurePassSampleBufferAttachmentDescriptor,
205 AccelerationStructurePassSampleBufferAttachmentDescriptorArray, AccelerationStructureSizes,
206 AccelerationStructureTriangleGeometryDescriptor,
207 IndirectInstanceAccelerationStructureDescriptor, InstanceAccelerationStructureDescriptor,
208 MotionKeyframeData, PrimitiveAccelerationStructureDescriptor,
209};
210
211pub use encoder::{
213 BlitCommandEncoder, ComputeCommandEncoder, DispatchThreadgroupsIndirectArguments,
214 DispatchThreadsIndirectArguments, MapIndirectArguments, ParallelRenderCommandEncoder,
215 RenderCommandEncoder, ResourceStateCommandEncoder, StageInRegionIndirectArguments,
216};
217
218pub use io::{
220 IOCommandBuffer, IOCommandQueue, IOCommandQueueDescriptor, IOCompressionContext, IOFileHandle,
221 IOScratchBuffer, IOScratchBufferAllocator, io_compression_context_append_data,
222 io_compression_context_default_chunk_size, io_create_compression_context,
223 io_flush_and_destroy_compression_context,
224};
225
226pub use argument::{
228 ATTRIBUTE_STRIDE_STATIC, Argument, ArgumentEncoder, ArrayType, Binding, BufferBinding,
229 ObjectPayloadBinding, PointerType, StructMember, StructType, TensorBinding,
230 TensorReferenceType, TextureBinding, TextureReferenceType, ThreadgroupBinding, Type,
231};
232pub use argument_descriptor::ArgumentDescriptor;
233
234pub use command_buffer_encoder_info::CommandBufferEncoderInfo;
236
237pub use binary_archive::{BinaryArchive, BinaryArchiveDescriptor, BinaryArchiveError};
239
240pub use function_stitching::{
242 FunctionStitchingAttribute, FunctionStitchingAttributeAlwaysInline,
243 FunctionStitchingFunctionNode, FunctionStitchingGraph, FunctionStitchingInputNode,
244 FunctionStitchingNode, StitchedLibraryDescriptor, StitchedLibraryOptions,
245};
246
247pub use residency_set::{ResidencySet, ResidencySetDescriptor};
249
250pub use tensor::{Tensor, TensorDescriptor, TensorExtents};
252
253pub use drawable::{Drawable, TimeInterval};
255
256pub use capture::{CaptureDescriptor, CaptureManager, CaptureScope};
258
259pub use counter::{
261 COUNTER_DONT_SAMPLE, COUNTER_ERROR_VALUE, Counter, CounterResultStageUtilization,
262 CounterResultStatistic, CounterResultTimestamp, CounterSampleBuffer,
263 CounterSampleBufferDescriptor, CounterSet,
264};
265
266pub use indirect::{
268 IndirectCommandBuffer, IndirectCommandBufferDescriptor, IndirectCommandBufferExecutionRange,
269 IndirectComputeCommand, IndirectRenderCommand,
270};
271
272pub use vertex::{
274 BUFFER_LAYOUT_STRIDE_DYNAMIC, VertexAttributeDescriptor, VertexAttributeDescriptorArray,
275 VertexBufferLayoutDescriptor, VertexBufferLayoutDescriptorArray, VertexDescriptor,
276};
277
278pub use function_table::{
280 FunctionHandle, IntersectionFunctionBufferArguments, IntersectionFunctionTable,
281 IntersectionFunctionTableDescriptor, VisibleFunctionTable, VisibleFunctionTableDescriptor,
282};
283
284pub use rasterization_rate::{
286 RasterizationRateLayerArray, RasterizationRateLayerDescriptor, RasterizationRateMap,
287 RasterizationRateMapDescriptor, RasterizationRateSampleArray,
288};
289
290pub use log_state::{LogState, LogStateDescriptor};
292
293pub use function_log::{FunctionLog, FunctionLogDebugLocation, LogContainer};
295
296pub use texture_view_pool::{ResourceViewPoolDescriptor, TextureViewPool};
298
299pub use mtl_foundation::{Integer, UInteger};
301
302pub use allocation::Allocation;
304pub use resource::Resource;
305
306pub use stage_input_output::{
308 AttributeDescriptor, AttributeDescriptorArray, BufferLayoutDescriptor,
309 BufferLayoutDescriptorArray, StageInputOutputDescriptor,
310};