             let bounds = CGRect(x: _minX, y: _minY, width: width, height: height)
             let _image = image.transformed(by: SDTransform.translate(x: Double(block.minX - minX), y: Double(block.minY - minY)))
             
-            texture_renderer.render(_image, to: surface, bounds: bounds, colorSpace: workingColorSpace)
+            renderer.render(_image, to: surface, bounds: bounds, colorSpace: workingColorSpace)
         }
     }
 }

                
                if let colorSpace = colorSpace {
                    
                    let rendered = renderer.createImage(self.image, from: extent, colorSpace: colorSpace, fileBacked: true)
                    return rendered?.cgImage
                    
                } else {
                    
                    let rendered = renderer.createCGImage(self.image, from: CGRect(extent))
                    return rendered?.fileBacked() ?? rendered
                }
            }

    
    func render(to surface: IOSurfaceRef, bounds: Rect) {
        
        guard let renderer = pool.makeContext(colorSpace: colorSpace, outputPremultiplied: true) else { return }
        let workingColorSpace = renderer.workingColorSpace ?? CGColorSpaceCreateDeviceRGB()
        
        if blockSize <= 1 {
            renderer.render(image, to: surface, bounds: CGRect(bounds), colorSpace: workingColorSpace)
            return
        }
        
        guard let texture_renderer = colorSpace == nil ? renderer : pool.makeContext(colorSpace: colorSpace, outputPremultiplied: false) else { return }
        
        guard let minX = Int(exactly: floor(bounds.minX)) else { return }
        guard let minY = Int(exactly: floor(bounds.minY)) else { return }
