Fixed setting the right DSP service on deserialization
This commit is contained in:
parent
2217b3558d
commit
b2370ea353
|
@ -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!
|
||||||
|
if (Archive::is_loading::value) {
|
||||||
Service::GSP::SetGlobalModule(*this);
|
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)
|
||||||
|
|
Reference in New Issue