VideoLab icon indicating copy to clipboard operation
VideoLab copied to clipboard

Could not create render pipeline state for vertex blendOperationFragment

Open ahmedsafadii opened this issue 2 years ago • 1 comments

VideoLab/MetalRendering.swift:113: Fatal error: Could not create render pipeline state for vertex:blendOperationVertex, fragment:blendOperationFragment, error:Error Domain=CompilerError Code=2 "reading from a rendertarget is not supported" UserInfo={NSLocalizedDescription=reading from a rendertarget is not supported} 2021-08-18 13:05:13.551297+0300 dubme-app[32964:963572] VideoLab/MetalRendering.swift:113: Fatal error: Could not create render pipeline state for vertex:blendOperationVertex, fragment:blendOperationFragment, error:Error Domain=CompilerError Code=2 "reading from a rendertarget is not supported" UserInfo={NSLocalizedDescription=reading from a rendertarget is not supported}

@ruanjx

                let tempFile = TemporaryMediaFile(withData: video.asset)
                if let asset = tempFile.avAsset {
                    let resource = AVAssetSource(asset: asset)
                    resource.selectedTimeRange = CMTimeRange(start: CMTime.zero, duration: asset.duration)
                    var timeRange = resource.selectedTimeRange
                    lastVideo = resource

                    let renderLayer1 = RenderLayer(timeRange: timeRange, source: resource)
                    
                    // 2. Composition
                    let composition = RenderComposition()
                    composition.renderSize = CGSize(width: 1280, height: 720)
                    composition.layers = [renderLayer1]

                    // 3. VideoLab
                    let videoLab = VideoLab(renderComposition: composition)

                    // 4. Make playerItem
                    let playerItem = videoLab.makePlayerItem()
                    
//                    self.renderLayers.append(renderLayer1)
                }
                ```

ahmedsafadii avatar Aug 18 '21 10:08 ahmedsafadii

I encountered this problem too. I found that the framework uses programmable blending which is not supported in the iOS simulator. However, it perfectly works on real devices and when you debug the app natively on Apple Silicon macs. The problem can probably be solved on the VideoLab side by reimplementing common blend modes with their fixed-function counterparts.

devoln avatar Aug 19 '21 14:08 devoln