mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-10-31 06:46:40 +08:00 
			
		
		
		
	Use ReadBlockUnsafe for fetyching DMA CommandLists
This commit is contained in:
		
							parent
							
								
									06d1c5a991
								
							
						
					
					
						commit
						13d626fc21
					
				| @ -57,7 +57,7 @@ bool DmaPusher::Step() { | |||||||
| 
 | 
 | ||||||
|     // Push buffer non-empty, read a word
 |     // Push buffer non-empty, read a word
 | ||||||
|     command_headers.resize(command_list_header.size); |     command_headers.resize(command_list_header.size); | ||||||
|     gpu.MemoryManager().ReadBlock(dma_get, command_headers.data(), |     gpu.MemoryManager().ReadBlockUnsafe(dma_get, command_headers.data(), | ||||||
|                                         command_list_header.size * sizeof(u32)); |                                         command_list_header.size * sizeof(u32)); | ||||||
| 
 | 
 | ||||||
|     for (const CommandHeader& command_header : command_headers) { |     for (const CommandHeader& command_header : command_headers) { | ||||||
|  | |||||||
| @ -65,7 +65,6 @@ public: | |||||||
|     u8* GetPointer(GPUVAddr addr); |     u8* GetPointer(GPUVAddr addr); | ||||||
|     const u8* GetPointer(GPUVAddr addr) const; |     const u8* GetPointer(GPUVAddr addr) const; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     /*
 |     /*
 | ||||||
|      * ReadBlock and WriteBlock are full read and write operations over virtual |      * ReadBlock and WriteBlock are full read and write operations over virtual | ||||||
|      * GPU Memory. It's important to use these when GPU memory may not be continous |      * GPU Memory. It's important to use these when GPU memory may not be continous | ||||||
| @ -90,7 +89,6 @@ public: | |||||||
|     void WriteBlockUnsafe(GPUVAddr dest_addr, const void* src_buffer, const std::size_t size); |     void WriteBlockUnsafe(GPUVAddr dest_addr, const void* src_buffer, const std::size_t size); | ||||||
|     void CopyBlockUnsafe(GPUVAddr dest_addr, GPUVAddr src_addr, const std::size_t size); |     void CopyBlockUnsafe(GPUVAddr dest_addr, GPUVAddr src_addr, const std::size_t size); | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| private: | private: | ||||||
|     using VMAMap = std::map<GPUVAddr, VirtualMemoryArea>; |     using VMAMap = std::map<GPUVAddr, VirtualMemoryArea>; | ||||||
|     using VMAHandle = VMAMap::const_iterator; |     using VMAHandle = VMAMap::const_iterator; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user