Regeneration on ever 'n' now, but it gets scheduled on every frame in that semaphore group
This commit is contained in:
		
							parent
							
								
									11b9cba8ac
								
							
						
					
					
						commit
						1a5ed92c14
					
				
					 1 changed files with 7 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -170,10 +170,13 @@ class Renderer: NSObject, MTKViewDelegate {
 | 
			
		|||
        _ = inFlightSemaphore.wait(timeout: DispatchTime.distantFuture)
 | 
			
		||||
        
 | 
			
		||||
        if let commandBuffer = commandQueue.makeCommandBuffer() {
 | 
			
		||||
            let semaphore = inFlightSemaphore
 | 
			
		||||
            var didScheduleAlgorithmIteration = false
 | 
			
		||||
            let inFlightSem = self.inFlightSemaphore
 | 
			
		||||
            commandBuffer.addCompletedHandler { (_ commandBuffer)-> Swift.Void in
 | 
			
		||||
                self.iterateTerrainAlgorithm = false
 | 
			
		||||
                semaphore.signal()
 | 
			
		||||
                if didScheduleAlgorithmIteration && self.iterateTerrainAlgorithm {
 | 
			
		||||
                    self.iterateTerrainAlgorithm = false
 | 
			
		||||
                }
 | 
			
		||||
                inFlightSem.signal()
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            self.updateDynamicBufferState()
 | 
			
		||||
| 
						 | 
				
			
			@ -187,6 +190,7 @@ class Renderer: NSObject, MTKViewDelegate {
 | 
			
		|||
                terrain.algorithm.encode(in: computeEncoder)
 | 
			
		||||
                computeEncoder.popDebugGroup()
 | 
			
		||||
                computeEncoder.endEncoding()
 | 
			
		||||
                didScheduleAlgorithmIteration = true
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            /// Delay getting the currentRenderPassDescriptor until we absolutely need it to avoid
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue