early-access version 2392
parent
4ca005f8de
commit
ab26468ef1
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 2390.
|
This is the source code for early-access 2392.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -715,15 +715,18 @@ struct KernelCore::Impl {
|
||||||
|
|
||||||
std::weak_ptr<Kernel::ServiceThread> CreateServiceThread(KernelCore& kernel,
|
std::weak_ptr<Kernel::ServiceThread> CreateServiceThread(KernelCore& kernel,
|
||||||
const std::string& name) {
|
const std::string& name) {
|
||||||
std::lock_guard lk(service_threads_lock);
|
|
||||||
auto service_thread = std::make_shared<Kernel::ServiceThread>(kernel, 1, name);
|
auto service_thread = std::make_shared<Kernel::ServiceThread>(kernel, 1, name);
|
||||||
|
{
|
||||||
|
std::lock_guard lk(service_threads_lock);
|
||||||
service_threads.emplace(service_thread);
|
service_threads.emplace(service_thread);
|
||||||
|
}
|
||||||
return service_thread;
|
return service_thread;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReleaseServiceThread(std::weak_ptr<Kernel::ServiceThread> service_thread) {
|
void ReleaseServiceThread(std::weak_ptr<Kernel::ServiceThread> service_thread) {
|
||||||
|
auto strong_ptr = service_thread.lock();
|
||||||
|
{
|
||||||
std::lock_guard lk(service_threads_lock);
|
std::lock_guard lk(service_threads_lock);
|
||||||
if (auto strong_ptr = service_thread.lock()) {
|
|
||||||
service_threads.erase(strong_ptr);
|
service_threads.erase(strong_ptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,8 @@ namespace Service::HID {
|
||||||
// Period time is obtained by measuring the number of samples in a second on HW using a homebrew
|
// Period time is obtained by measuring the number of samples in a second on HW using a homebrew
|
||||||
constexpr auto pad_update_ns = std::chrono::nanoseconds{4 * 1000 * 1000}; // (4ms, 250Hz)
|
constexpr auto pad_update_ns = std::chrono::nanoseconds{4 * 1000 * 1000}; // (4ms, 250Hz)
|
||||||
constexpr auto mouse_keyboard_update_ns = std::chrono::nanoseconds{8 * 1000 * 1000}; // (8ms, 125Hz)
|
constexpr auto mouse_keyboard_update_ns = std::chrono::nanoseconds{8 * 1000 * 1000}; // (8ms, 125Hz)
|
||||||
constexpr auto motion_update_ns = std::chrono::nanoseconds{5 * 1000 * 1000}; // (5ms, 200Hz)
|
// TODO: Correct update rate for motion is 5ms. Check why some games don't behave at that speed
|
||||||
|
constexpr auto motion_update_ns = std::chrono::nanoseconds{10 * 1000 * 1000}; // (10ms, 100Hz)
|
||||||
constexpr std::size_t SHARED_MEMORY_SIZE = 0x40000;
|
constexpr std::size_t SHARED_MEMORY_SIZE = 0x40000;
|
||||||
|
|
||||||
IAppletResource::IAppletResource(Core::System& system_,
|
IAppletResource::IAppletResource(Core::System& system_,
|
||||||
|
|
Loading…
Reference in New Issue