Merge pull request #4022 from zhaowenlan1779/port-yuzu-837
Port yuzu-emu/yuzu#837 from yuzu
This commit is contained in:
		@@ -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;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user