@class MTLPipelineBufferDescriptorArray, NSString, NSArray, MTLPipelineBufferDescriptorArrayInternal, NSDictionary, MTLRenderPipelineColorAttachmentDescriptorArrayInternal, MTLLinkedFunctions, MTLRenderPipelineColorAttachmentDescriptorArray, MTLProfileControl; @protocol MTLFunction, MTLPipelineLibrary; @interface MTLMeshRenderPipelineDescriptor : NSObject <NSCopying> { struct MTLMeshRenderPipelineDescriptorPrivate { MTLRenderPipelineColorAttachmentDescriptorArrayInternal *attachments; unsigned long long depthAttachmentPixelFormat; unsigned long long stencilAttachmentPixelFormat; long long textureWriteRoundingMode; unsigned long long rasterSampleCount; unsigned long long colorSampleCount; unsigned long long sampleMask; union { unsigned int sampleCoverageHash; float sampleCoverage; } ; union { unsigned int miscHash[2]; struct { unsigned char alphaToCoverageEnabled : 1; unsigned char alphaToOneEnabled : 1; unsigned char rasterizationEnabled : 1; unsigned char depthStencilWriteDisabled : 1; unsigned char openGLMode : 1; unsigned char sampleCoverageInvert : 1; unsigned char conservativeRasterizationEnabled : 1; unsigned char vertexAmplificationMode : 1; unsigned char twoSideEnabled : 1; unsigned char pointSizeOutputVS : 1; unsigned char pointCoordLowerLeft : 1; unsigned char pointSmoothEnabled : 1; unsigned char clipDistanceEnableMask : 8; unsigned char alphaTestFunc : 3; unsigned char alphaTestEnabled : 1; unsigned char logicOp : 4; unsigned char logicOpEnabled : 1; unsigned char forceResourceIndex : 1; unsigned char needsCustomBorderColorSamplers : 1; unsigned char supportIndirectCommandBuffers : 1; unsigned char supportAddingObjectBinaryFunctions : 1; unsigned char supportAddingMeshBinaryFunctions : 1; unsigned char supportAddingFragmentBinaryFunctions : 1; unsigned char maxVertexAmplificationCount : 4; unsigned char objectThreadgroupSizeIsMultipleOfThreadExecutionWidth : 1; unsigned char meshThreadgroupSizeIsMultipleOfThreadExecutionWidth : 1; } ; } ; unsigned int fragmentDepthCompareClampMask; unsigned long long resourceIndex; NSString *label; id<MTLFunction> objectFunction; id<MTLFunction> meshFunction; id<MTLFunction> fragmentFunction; unsigned long long maxTotalThreadsPerObjectThreadgroup; unsigned long long maxTotalThreadsPerMeshThreadgroup; unsigned long long maxTotalThreadgroupsPerMeshGrid; unsigned long long pipelineMemoryLength; MTLPipelineBufferDescriptorArrayInternal *objectBuffers; MTLPipelineBufferDescriptorArrayInternal *meshBuffers; MTLPipelineBufferDescriptorArrayInternal *fragmentBuffers; NSDictionary *driverCompilerOptions; NSDictionary *gpuCompilerSPIOptions; NSDictionary *pluginData; NSArray *binaryArchives; id<MTLPipelineLibrary> pipelineLibrary; MTLLinkedFunctions *objectLinkedFunctions; MTLLinkedFunctions *meshLinkedFunctions; MTLLinkedFunctions *fragmentLinkedFunctions; NSArray *objectPreloadedLibraries; NSArray *meshPreloadedLibraries; NSArray *fragmentPreloadedLibraries; unsigned long long maxObjectStackCallDepth; unsigned long long maxMeshStackCallDepth; unsigned long long maxFragmentStackCallDepth; MTLProfileControl *profileControl; unsigned int explicitVisibilityGroupID; unsigned long long maxAccelerationStructureTraversalDepth; } _private; } @property (copy, nonatomic) NSString *label; @property (retain, nonatomic) id<MTLFunction> objectFunction; @property (retain, nonatomic) id<MTLFunction> meshFunction; @property (retain, nonatomic) id<MTLFunction> fragmentFunction; @property (nonatomic) unsigned long long maxTotalThreadsPerObjectThreadgroup; @property (nonatomic) unsigned long long maxTotalThreadsPerMeshThreadgroup; @property (nonatomic) BOOL objectThreadgroupSizeIsMultipleOfThreadExecutionWidth; @property (nonatomic) BOOL meshThreadgroupSizeIsMultipleOfThreadExecutionWidth; @property (nonatomic) unsigned long long payloadMemoryLength; @property (nonatomic) unsigned long long maxTotalThreadgroupsPerMeshGrid; @property (readonly) MTLPipelineBufferDescriptorArray *objectBuffers; @property (readonly) MTLPipelineBufferDescriptorArray *meshBuffers; @property (readonly) MTLPipelineBufferDescriptorArray *fragmentBuffers; @property (nonatomic) unsigned long long rasterSampleCount; @property (nonatomic, getter=isAlphaToCoverageEnabled) BOOL alphaToCoverageEnabled; @property (nonatomic, getter=isAlphaToOneEnabled) BOOL alphaToOneEnabled; @property (nonatomic, getter=isRasterizationEnabled) BOOL rasterizationEnabled; @property (nonatomic) unsigned long long maxVertexAmplificationCount; @property (readonly) MTLRenderPipelineColorAttachmentDescriptorArray *colorAttachments; @property (nonatomic) unsigned long long depthAttachmentPixelFormat; @property (nonatomic) unsigned long long stencilAttachmentPixelFormat; @property (nonatomic) BOOL supportIndirectCommandBuffers; @property (copy, nonatomic) MTLLinkedFunctions *objectLinkedFunctions; @property (copy, nonatomic) MTLLinkedFunctions *meshLinkedFunctions; @property (copy, nonatomic) MTLLinkedFunctions *fragmentLinkedFunctions; - (id)pipelineLibrary; - (BOOL)supportAddingFragmentBinaryFunctions; - (BOOL)openGLModeEnabled; - (id)fragmentPreloadedLibraries; - (void)setPipelineLibrary:(id)a0; - (const struct MTLMeshRenderPipelineDescriptorPrivate { id x0; unsigned long long x1; unsigned long long x2; long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; union { unsigned int x0; float x1; } x7; union { unsigned int x0[2]; struct { unsigned char x0 : 1; unsigned char x1 : 1; unsigned char x2 : 1; unsigned char x3 : 1; unsigned char x4 : 1; unsigned char x5 : 1; unsigned char x6 : 1; unsigned char x7 : 1; unsigned char x8 : 1; unsigned char x9 : 1; unsigned char x10 : 1; unsigned char x11 : 1; unsigned char x12 : 8; unsigned char x13 : 3; unsigned char x14 : 1; unsigned char x15 : 4; unsigned char x16 : 1; unsigned char x17 : 1; unsigned char x18 : 1; unsigned char x19 : 1; unsigned char x20 : 1; unsigned char x21 : 1; unsigned char x22 : 1; unsigned char x23 : 4; unsigned char x24 : 1; unsigned char x25 : 1; } x1; } x8; unsigned int x9; unsigned long long x10; id x11; id x12; id x13; id x14; unsigned long long x15; unsigned long long x16; unsigned long long x17; unsigned long long x18; id x19; id x20; id x21; id x22; id x23; id x24; id x25; id x26; id x27; id x28; id x29; id x30; id x31; id x32; unsigned long long x33; unsigned long long x34; unsigned long long x35; id x36; unsigned int x37; unsigned long long x38; } *)_descriptorPrivate; - (id)binaryArchives; - (unsigned long long)maxFragmentCallStackDepth; - (void)setBinaryArchives:(id)a0; - (void)setPluginData:(id)a0; - (void)setNeedsCustomBorderColorSamplers:(BOOL)a0; - (void)setSupportAddingFragmentBinaryFunctions:(BOOL)a0; - (void)setOpenGLModeEnabled:(BOOL)a0; - (void)setResourceIndex:(unsigned long long)a0; - (void)setMaxFragmentCallStackDepth:(unsigned long long)a0; - (id)pluginData; - (unsigned long long)logicOperation; - (void)setForceResourceIndex:(BOOL)a0; - (id)formattedDescription:(unsigned long long)a0; - (void)setAlphaTestEnabled:(BOOL)a0; - (unsigned long long)resourceIndex; - (id)init; - (unsigned long long)hash; - (unsigned long long)maxAccelerationStructureTraversalDepth; - (void)reset; - (void)dealloc; - (void)setClipDistanceEnableMask:(unsigned char)a0; - (void)setTwoSideEnabled:(BOOL)a0; - (void)setAlphaTestFunction:(unsigned long long)a0; - (void)setSupportAddingObjectBinaryFunctions:(BOOL)a0; - (void)setLogicOperationEnabled:(BOOL)a0; - (void)setMeshPreloadedLibraries:(id)a0; - (void)setTextureWriteRoundingMode:(long long)a0; - (void)setInsertMeshLibraries:(id)a0; - (BOOL)needsCustomBorderColorSamplers; - (BOOL)sampleCoverageInvert; - (id)newPipelineScript; - (BOOL)isPointCoordLowerLeft; - (void)setPointCoordLowerLeft:(BOOL)a0; - (void)setObjectPreloadedLibraries:(id)a0; - (BOOL)supportAddingObjectBinaryFunctions; - (unsigned long long)colorSampleCount; - (void)setSampleCoverageInvert:(BOOL)a0; - (void)setDriverCompilerOptions:(id)a0; - (void)setExplicitVisibilityGroupID:(unsigned int)a0; - (BOOL)isAlphaTestEnabled; - (id)insertFragmentLibraries; - (unsigned long long)maxMeshCallStackDepth; - (void)setFragmentDepthCompareClampMask:(unsigned int)a0; - (void)setMaxAccelerationStructureTraversalDepth:(unsigned long long)a0; - (void)setMaxMeshCallStackDepth:(unsigned long long)a0; - (id)description; - (float)sampleCoverage; - (id)newSerializedMeshDataWithFlags:(unsigned long long)a0 options:(unsigned long long)a1 error:(id *)a2; - (unsigned char)clipDistanceEnableMask; - (id)driverCompilerOptions; - (BOOL)forceResourceIndex; - (void)setSampleCoverage:(float)a0; - (void)setPointSizeOutputVS:(BOOL)a0; - (unsigned long long)maxObjectCallStackDepth; - (unsigned long long)vertexAmplificationMode; - (void)setPointSmoothEnabled:(BOOL)a0; - (void)setGpuCompilerSPIOptions:(id)a0; - (unsigned long long)sampleMask; - (long long)textureWriteRoundingMode; - (id)insertMeshLibraries; - (BOOL)validateWithDevice:(id)a0 error:(id *)a1; - (unsigned long long)alphaTestFunction; - (id)gpuCompilerSPIOptions; - (void)setSampleMask:(unsigned long long)a0; - (void)setFragmentPreloadedLibraries:(id)a0; - (void)setColorSampleCount:(unsigned long long)a0; - (BOOL)isEqual:(id)a0; - (void)setVertexAmplificationMode:(unsigned long long)a0; - (BOOL)isPointSmoothEnabled; - (void)setInsertFragmentLibraries:(id)a0; - (id)objectPreloadedLibraries; - (unsigned int)explicitVisibilityGroupID; - (id)meshPreloadedLibraries; - (void)setInsertObjectLibraries:(id)a0; - (id)profileControl; - (void)setDepthStencilWriteDisabled:(BOOL)a0; - (BOOL)isLogicOperationEnabled; - (BOOL)isTwoSideEnabled; - (id)newSerializedObjectDataWithFlags:(unsigned long long)a0 options:(unsigned long long)a1 error:(id *)a2; - (void)setLogicOperation:(unsigned long long)a0; - (void)setProfileControl:(id)a0; - (BOOL)isPointSizeOutputVS; - (id)insertObjectLibraries; - (void)setMaxObjectCallStackDepth:(unsigned long long)a0; - (BOOL)isDepthStencilWriteDisabled; - (void)setSupportAddingMeshBinaryFunctions:(BOOL)a0; - (unsigned int)fragmentDepthCompareClampMask; - (BOOL)supportAddingMeshBinaryFunctions; - (id)copyWithZone:(struct _NSZone { } *)a0; - (void)_releaseMembers; - (void)_initMembers; - (struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })maxThreadgroupsPerMeshGrid; - (id)newRenderPipelineDescriptor; - (id)newRenderPipelineDescriptorWithDevice:(id)a0 error:(id *)a1; - (id)newSerializedFragmentDataWithFlags:(unsigned long long)a0 options:(unsigned long long)a1 error:(id *)a2; - (void)setMaxThreadgroupsPerMeshGrid:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a0; @end