mirror of
				https://github.com/Ryujinx/Ryujinx.git
				synced 2025-10-31 09:13:05 +00:00 
			
		
		
		
	surfaceflinger: Fix fence callback issue (#1839)
This PR fixes a regression introduced in #1741. The actual implementation do the assumption of fences always exist and then registering the callback. Homebrews may not use fences, so the code crashes when it try to register the callback.
This commit is contained in:
		
							parent
							
								
									3e7383b3fd
								
							
						
					
					
						commit
						4f01c13f50
					
				| @ -345,14 +345,22 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger | ||||
|             TextureCallbackInformation textureCallbackInformation = new TextureCallbackInformation | ||||
|             { | ||||
|                 Layer = layer, | ||||
|                 Item  = item, | ||||
|                 Item  = item | ||||
|             }; | ||||
| 
 | ||||
|             item.Fence.RegisterCallback(_device.Gpu, () =>  | ||||
|             if (item.Fence.FenceCount == 0) | ||||
|             { | ||||
|                 _device.Gpu.Window.SignalFrameReady(); | ||||
|                 _device.Gpu.GPFifo.Interrupt(); | ||||
|             }); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 item.Fence.RegisterCallback(_device.Gpu, () => | ||||
|                 { | ||||
|                     _device.Gpu.Window.SignalFrameReady(); | ||||
|                     _device.Gpu.GPFifo.Interrupt(); | ||||
|                 }); | ||||
|             } | ||||
| 
 | ||||
|             _device.Gpu.Window.EnqueueFrameThreadSafe( | ||||
|                 frameBufferAddress, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ac_K
						Ac_K