mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Dma_pusher: ASSERT on empty command_list
This is a measure to avoid crashes on command list reading as an empty command_list is considered a NOP.
This commit is contained in:
		
							parent
							
								
									fb85d5670d
								
							
						
					
					
						commit
						9e98100c94
					
				| @ -40,6 +40,13 @@ bool DmaPusher::Step() { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     const CommandList& command_list{dma_pushbuffer.front()}; |     const CommandList& command_list{dma_pushbuffer.front()}; | ||||||
|  |     ASSERT_OR_EXECUTE(!command_list.empty(), { | ||||||
|  |         // Somehow the command_list is empty, in order to avoid a crash
 | ||||||
|  |         // We ignore it and assume its size is 0.
 | ||||||
|  |         dma_pushbuffer.pop(); | ||||||
|  |         dma_pushbuffer_subindex = 0; | ||||||
|  |         return true; | ||||||
|  |     }); | ||||||
|     const CommandListHeader command_list_header{command_list[dma_pushbuffer_subindex++]}; |     const CommandListHeader command_list_header{command_list[dma_pushbuffer_subindex++]}; | ||||||
|     GPUVAddr dma_get = command_list_header.addr; |     GPUVAddr dma_get = command_list_header.addr; | ||||||
|     GPUVAddr dma_put = dma_get + command_list_header.size * sizeof(u32); |     GPUVAddr dma_put = dma_get + command_list_header.size * sizeof(u32); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Fernando Sahmkow
						Fernando Sahmkow