 
 import UIKit
 import MetalKit
+import MetalPerformanceShaders
 
 class VSRenderer: NSObject, MTKViewDelegate {
     // Public properties to be updated by the caller (controller)

            print("VSS:draw texture not updated")
            return
        }
        
        let cmGrayScale:MTLCommandBuffer = {
            let commandBuffer = commandQueue.makeCommandBuffer()
            let encoder = commandBuffer.makeComputeCommandEncoder()
            encoder.setComputePipelineState(psGrayScale!)
            encoder.setTexture(CVMetalTextureGetTexture(textureIn), at: 0)
            encoder.setTexture(textureOut, at: 1)
            encoder.dispatchThreadgroups(threadGroupCount, threadsPerThreadgroup: threadGroupSize)
            encoder.endEncoding()
            return commandBuffer
        }()


        }()
        
        cmGrayScale.commit()
        cmGaussian.commit()
        cmRender.commit()
    }
}
