mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Fixed setting the right DSP service on deserialization
This commit is contained in:
		
							parent
							
								
									2217b3558d
								
							
						
					
					
						commit
						b2370ea353
					
				
					 3 changed files with 15 additions and 3 deletions
				
			
		|  | @ -448,7 +448,10 @@ void System::serialize(Archive& ar, const unsigned int file_version) { | ||||||
|     ar&* kernel.get(); |     ar&* kernel.get(); | ||||||
| 
 | 
 | ||||||
|     // This needs to be set from somewhere - might as well be here!
 |     // This needs to be set from somewhere - might as well be here!
 | ||||||
|     Service::GSP::SetGlobalModule(*this); |     if (Archive::is_loading::value) { | ||||||
|  |         Service::GSP::SetGlobalModule(*this); | ||||||
|  |         DSP().SetServiceToInterrupt(ServiceManager().GetService<Service::DSP::DSP_DSP>("dsp::DSP")); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void System::Save(std::ostream& stream) const { | void System::Save(std::ostream& stream) const { | ||||||
|  |  | ||||||
|  | @ -130,8 +130,9 @@ void Timing::Advance() { | ||||||
|         std::pop_heap(event_queue.begin(), event_queue.end(), std::greater<>()); |         std::pop_heap(event_queue.begin(), event_queue.end(), std::greater<>()); | ||||||
|         event_queue.pop_back(); |         event_queue.pop_back(); | ||||||
|         if (event_types.find(*evt.type->name) == event_types.end()) { |         if (event_types.find(*evt.type->name) == event_types.end()) { | ||||||
|             LOG_ERROR(Core, "Unknown queued event"); |             LOG_ERROR(Core, "Unknown queued event {}", *evt.type->name); | ||||||
|             continue; |         } else if (evt.type->callback == nullptr) { | ||||||
|  |             LOG_ERROR(Core, "Event '{}' has no callback", *evt.type->name); | ||||||
|         } |         } | ||||||
|         if (evt.type->callback != nullptr) { |         if (evt.type->callback != nullptr) { | ||||||
|             evt.type->callback(evt.userdata, global_timer - evt.time); |             evt.type->callback(evt.userdata, global_timer - evt.time); | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <memory> | #include <memory> | ||||||
|  | #include <boost/serialization/export.hpp> | ||||||
| #include "video_core/shader/shader.h" | #include "video_core/shader/shader.h" | ||||||
| 
 | 
 | ||||||
| namespace Pica { | namespace Pica { | ||||||
|  | @ -12,6 +13,9 @@ namespace Pica { | ||||||
| struct State; | struct State; | ||||||
| 
 | 
 | ||||||
| class GeometryPipelineBackend; | class GeometryPipelineBackend; | ||||||
|  | class GeometryPipeline_Point; | ||||||
|  | class GeometryPipeline_VariablePrimitive; | ||||||
|  | class GeometryPipeline_FixedPrimitive; | ||||||
| 
 | 
 | ||||||
| /// A pipeline receiving from vertex shader and sending to geometry shader and primitive assembler
 | /// A pipeline receiving from vertex shader and sending to geometry shader and primitive assembler
 | ||||||
| class GeometryPipeline { | class GeometryPipeline { | ||||||
|  | @ -52,3 +56,7 @@ private: | ||||||
|     friend class boost::serialization::access; |     friend class boost::serialization::access; | ||||||
| }; | }; | ||||||
| } // namespace Pica
 | } // namespace Pica
 | ||||||
|  | 
 | ||||||
|  | BOOST_CLASS_EXPORT_KEY(Pica::GeometryPipeline_Point) | ||||||
|  | BOOST_CLASS_EXPORT_KEY(Pica::GeometryPipeline_VariablePrimitive) | ||||||
|  | BOOST_CLASS_EXPORT_KEY(Pica::GeometryPipeline_FixedPrimitive) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue