Merge pull request #4022 from zhaowenlan1779/port-yuzu-837
Port yuzu-emu/yuzu#837 from yuzu
This commit is contained in:
commit
6a9e18a49a
3 changed files with 23 additions and 10 deletions
|
@ -301,11 +301,11 @@ std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeTimer::GetChildren() const {
|
|||
const auto& timer = static_cast<const Kernel::Timer&>(object);
|
||||
|
||||
list.push_back(std::make_unique<WaitTreeText>(
|
||||
tr("reset type = %1").arg(GetResetTypeQString(timer.reset_type))));
|
||||
tr("reset type = %1").arg(GetResetTypeQString(timer.GetResetType()))));
|
||||
list.push_back(
|
||||
std::make_unique<WaitTreeText>(tr("initial delay = %1").arg(timer.initial_delay)));
|
||||
std::make_unique<WaitTreeText>(tr("initial delay = %1").arg(timer.GetInitialDelay())));
|
||||
list.push_back(
|
||||
std::make_unique<WaitTreeText>(tr("interval delay = %1").arg(timer.interval_delay)));
|
||||
std::make_unique<WaitTreeText>(tr("interval delay = %1").arg(timer.GetIntervalDelay())));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
|
|
@ -981,8 +981,9 @@ static ResultCode ClearEvent(Handle handle) {
|
|||
|
||||
/// Creates a timer
|
||||
static ResultCode CreateTimer(Handle* out_handle, u32 reset_type) {
|
||||
SharedPtr<Timer> timer = Timer::Create(static_cast<ResetType>(reset_type));
|
||||
timer->name = Common::StringFromFormat("timer-%08x", Core::CPU().GetReg(14));
|
||||
SharedPtr<Timer> timer =
|
||||
Timer::Create(static_cast<ResetType>(reset_type),
|
||||
Common::StringFromFormat("timer-%08x", Core::CPU().GetReg(14)));
|
||||
CASCADE_RESULT(*out_handle, g_handle_table.Create(std::move(timer)));
|
||||
|
||||
LOG_TRACE(Kernel_SVC, "called reset_type=0x{:08X} : created handle=0x{:08X}", reset_type,
|
||||
|
|
|
@ -32,13 +32,17 @@ public:
|
|||
return HANDLE_TYPE;
|
||||
}
|
||||
|
||||
ResetType reset_type; ///< The ResetType of this timer
|
||||
ResetType GetResetType() const {
|
||||
return reset_type;
|
||||
}
|
||||
|
||||
bool signaled; ///< Whether the timer has been signaled or not
|
||||
std::string name; ///< Name of timer (optional)
|
||||
u64 GetInitialDelay() const {
|
||||
return initial_delay;
|
||||
}
|
||||
|
||||
u64 initial_delay; ///< The delay until the timer fires for the first time
|
||||
u64 interval_delay; ///< The delay until the timer fires after the first time
|
||||
u64 GetIntervalDelay() const {
|
||||
return interval_delay;
|
||||
}
|
||||
|
||||
bool ShouldWait(Thread* thread) const override;
|
||||
void Acquire(Thread* thread) override;
|
||||
|
@ -67,6 +71,14 @@ private:
|
|||
Timer();
|
||||
~Timer() override;
|
||||
|
||||
ResetType reset_type; ///< The ResetType of this timer
|
||||
|
||||
u64 initial_delay; ///< The delay until the timer fires for the first time
|
||||
u64 interval_delay; ///< The delay until the timer fires after the first time
|
||||
|
||||
bool signaled; ///< Whether the timer has been signaled or not
|
||||
std::string name; ///< Name of timer (optional)
|
||||
|
||||
/// Handle used as userdata to reference this object when inserting into the CoreTiming queue.
|
||||
Handle callback_handle;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue