Gl_Rasterizer: Protect CPU Memory mapping from multiple threads.
This commit is contained in:
		
				
					committed by
					
						 FernandoS27
						FernandoS27
					
				
			
			
				
	
			
			
			
						parent
						
							3f104464de
						
					
				
				
					commit
					9f2719d1a4
				
			| @@ -348,6 +348,7 @@ static constexpr auto RangeFromInterval(Map& map, const Interval& interval) { | ||||
| } | ||||
|  | ||||
| void RasterizerOpenGL::UpdatePagesCachedCount(VAddr addr, u64 size, int delta) { | ||||
|     std::lock_guard lock{pages_mutex}; | ||||
|     const u64 page_start{addr >> Memory::PAGE_BITS}; | ||||
|     const u64 page_end{(addr + size + Memory::PAGE_SIZE - 1) >> Memory::PAGE_BITS}; | ||||
|  | ||||
|   | ||||
| @@ -9,6 +9,7 @@ | ||||
| #include <cstddef> | ||||
| #include <map> | ||||
| #include <memory> | ||||
| #include <mutex> | ||||
| #include <optional> | ||||
| #include <tuple> | ||||
| #include <utility> | ||||
| @@ -230,6 +231,8 @@ private: | ||||
|  | ||||
|     using CachedPageMap = boost::icl::interval_map<u64, int>; | ||||
|     CachedPageMap cached_pages; | ||||
|  | ||||
|     std::mutex pages_mutex; | ||||
| }; | ||||
|  | ||||
| } // namespace OpenGL | ||||
|   | ||||
		Reference in New Issue
	
	Block a user