@class NSString, _MTLCommandBuffer, NSMutableArray; @protocol MTLFence, MTLDevice, MTLCommandBuffer; @interface _MTLCommandEncoder : _MTLObjectWithLabel { id<MTLDevice> _device; _MTLCommandBuffer<MTLCommandBuffer> *_commandBuffer; unsigned long long _labelTraceID; id<MTLFence> _progressFence; BOOL _needsFrameworkAssistedErrorTracking; BOOL _isProgressTrackingEncoder; NSMutableArray *_debugSignposts; } @property (readonly) id<MTLDevice> device; @property (copy) NSString *label; @property (readonly, nonatomic) unsigned long long globalTraceObjectID; @property (readonly, nonatomic, getter=getType) unsigned long long type; @property (nonatomic) unsigned long long numThisEncoder; @property (readonly) unsigned long long dispatchType; - (id)formattedDescription:(unsigned long long)a0; - (void)setMeshIntersectionFunctionTables:(const id *)a0 withBufferRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)dealloc; - (void)setFragmentAccelerationStructure:(id)a0 atBufferIndex:(unsigned long long)a1; - (void)pushDebugGroup:(id)a0; - (id)commandBuffer; - (void)setAccelerationStructure:(id)a0 atBufferIndex:(unsigned long long)a1; - (id)initWithCommandBuffer:(id)a0; - (void)setTileAccelerationStructure:(id)a0 atBufferIndex:(unsigned long long)a1; - (id)description; - (void)setMeshAccelerationStructure:(id)a0 atBufferIndex:(unsigned long long)a1; - (void)setObjectIntersectionFunctionTable:(id)a0 atBufferIndex:(unsigned long long)a1; - (void)setObjectIntersectionFunctionTables:(const id *)a0 withBufferRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)setObjectAccelerationStructure:(id)a0 atBufferIndex:(unsigned long long)a1; - (void)setVertexAccelerationStructure:(id)a0 atBufferIndex:(unsigned long long)a1; - (void)popDebugGroup; - (void)setMeshIntersectionFunctionTable:(id)a0 atBufferIndex:(unsigned long long)a1; - (unsigned long long)dispatchType; - (void)endEncoding; - (void)insertDebugSignpost:(id)a0; - (void)setBuffer:(id)a0 offset:(unsigned long long)a1 attributeStride:(unsigned long long)a2 atIndex:(unsigned long long)a3; - (void)setBufferOffset:(unsigned long long)a0 attributeStride:(unsigned long long)a1 atIndex:(unsigned long long)a2; - (void)setBuffers:(const id *)a0 offsets:(const unsigned long long *)a1 attributeStrides:(const unsigned long long *)a2 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a3; - (void)setBytes:(const void *)a0 length:(unsigned long long)a1 attributeStride:(unsigned long long)a2 atIndex:(unsigned long long)a3; - (void)setMeshSamplerStates:(const id *)a0 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)setObjectBuffer:(id)a0 offset:(unsigned long long)a1 atIndex:(unsigned long long)a2; - (void)setThreadgroupDistributionMode:(long long)a0; - (void)drawMeshThreadgroups:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a0 threadsPerObjectThreadgroup:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a1 threadsPerMeshThreadgroup:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a2; - (void)drawMeshThreadgroupsWithIndirectBuffer:(id)a0 indirectBufferOffset:(unsigned long long)a1 threadsPerObjectThreadgroup:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a2 threadsPerMeshThreadgroup:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a3; - (void)drawMeshThreads:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a0 threadsPerObjectThreadgroup:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a1 threadsPerMeshThreadgroup:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a2; - (id)endEncodingAndRetrieveProgramAddressTable; - (void)filterCounterRangeWithFirstBatch:(unsigned int)a0 lastBatch:(unsigned int)a1 filterIndex:(unsigned int)a2; - (unsigned long long)getDriverUniqueID; - (void)invalidateCompressedTexture:(id)a0; - (void)invalidateCompressedTexture:(id)a0 slice:(unsigned long long)a1 level:(unsigned long long)a2; - (void)memoryBarrierNotificationWithResources:(const id *)a0 count:(unsigned long long)a1; - (void)memoryBarrierNotificationWithScope:(unsigned long long)a0; - (void)preEndEncoding; - (void)setMeshBuffer:(id)a0 offset:(unsigned long long)a1 atIndex:(unsigned long long)a2; - (void)setMeshBufferOffset:(unsigned long long)a0 atIndex:(unsigned long long)a1; - (void)setMeshBuffers:(const id *)a0 offsets:(const unsigned long long *)a1 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2; - (void)setMeshBytes:(const void *)a0 length:(unsigned long long)a1 atIndex:(unsigned long long)a2; - (void)setMeshSamplerState:(id)a0 atIndex:(unsigned long long)a1; - (void)setMeshSamplerState:(id)a0 lodMinClamp:(float)a1 lodMaxClamp:(float)a2 atIndex:(unsigned long long)a3; - (void)setMeshSamplerStates:(const id *)a0 lodMinClamps:(const float *)a1 lodMaxClamps:(const float *)a2 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a3; - (void)setMeshTexture:(id)a0 atIndex:(unsigned long long)a1; - (void)setMeshTextures:(const id *)a0 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)setMeshVisibleFunctionTable:(id)a0 atBufferIndex:(unsigned long long)a1; - (void)setMeshVisibleFunctionTables:(const id *)a0 withBufferRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)setObjectBufferOffset:(unsigned long long)a0 atIndex:(unsigned long long)a1; - (void)setObjectBuffers:(const id *)a0 offsets:(const unsigned long long *)a1 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2; - (void)setObjectBytes:(const void *)a0 length:(unsigned long long)a1 atIndex:(unsigned long long)a2; - (void)setObjectSamplerState:(id)a0 atIndex:(unsigned long long)a1; - (void)setObjectSamplerState:(id)a0 lodMinClamp:(float)a1 lodMaxClamp:(float)a2 atIndex:(unsigned long long)a3; - (void)setObjectSamplerStates:(const id *)a0 lodMinClamps:(const float *)a1 lodMaxClamps:(const float *)a2 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a3; - (void)setObjectSamplerStates:(const id *)a0 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)setObjectTexture:(id)a0 atIndex:(unsigned long long)a1; - (void)setObjectTextures:(const id *)a0 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)setObjectThreadgroupMemoryLength:(unsigned long long)a0 atIndex:(unsigned long long)a1; - (void)setObjectVisibleFunctionTable:(id)a0 atBufferIndex:(unsigned long long)a1; - (void)setObjectVisibleFunctionTables:(const id *)a0 withBufferRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1; - (void)setThreadgroupDistributionModeWithClusterGroupIndex:(unsigned int)a0; - (void)setThreadgroupPackingDisabled:(BOOL)a0; - (void)setVertexBuffer:(id)a0 offset:(unsigned long long)a1 attributeStride:(unsigned long long)a2 atIndex:(unsigned long long)a3; - (void)setVertexBufferOffset:(unsigned long long)a0 attributeStride:(unsigned long long)a1 atIndex:(unsigned long long)a2; - (void)setVertexBuffers:(const id *)a0 offsets:(const unsigned long long *)a1 attributeStrides:(const unsigned long long *)a2 withRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a3; - (void)setVertexBytes:(const void *)a0 length:(unsigned long long)a1 attributeStride:(unsigned long long)a2 atIndex:(unsigned long long)a3; @end