#ifndef MTLPipelineStatesStorage_h_Included #define MTLPipelineStatesStorage_h_Included #import @interface MTLPipelineStatesStorage : NSObject { @private id device; id library; NSMutableDictionary> * shaders; NSMutableDictionary> * states; MTLRenderPipelineDescriptor * templateRenderPipelineDesc; MTLRenderPipelineDescriptor * templateTexturePipelineDesc; } @property (readwrite, assign) id device; @property (readwrite, retain) id library; @property (readwrite, retain) NSMutableDictionary> * shaders; @property (readwrite, retain) NSMutableDictionary> * states; @property (readwrite, retain) MTLRenderPipelineDescriptor * templateRenderPipelineDesc; @property (readwrite, retain) MTLRenderPipelineDescriptor * templateTexturePipelineDesc; - (id) initWithDevice:(id)device shaderLibPath:(NSString *)shadersLib; - (id) getRenderPipelineState:(bool)isGradient; - (id) getTexturePipelineState:(bool)isSourcePremultiplied compositeRule:(int)compositeRule; - (id) getShader:(NSString *)name; @end #endif // MTLPipelineStatesStorage_h_Included