early-access version 3170
This commit is contained in:
parent
bc8c8445f6
commit
16cad67595
19 changed files with 33 additions and 99 deletions
|
@ -67,10 +67,6 @@ elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (YUZU_USE_PRECOMPILED_HEADERS)
|
if (YUZU_USE_PRECOMPILED_HEADERS)
|
||||||
if (MINGW)
|
|
||||||
message(WARNING "MINGW has compilation errors with Precompiled Headers. Disabling PCH")
|
|
||||||
set(YUZU_USE_PRECOMPILED_HEADERS OFF)
|
|
||||||
endif()
|
|
||||||
if (MSVC AND CCACHE)
|
if (MSVC AND CCACHE)
|
||||||
# buildcache does not properly cache PCH files, leading to compilation errors.
|
# buildcache does not properly cache PCH files, leading to compilation errors.
|
||||||
# See https://github.com/mbitsnbites/buildcache/discussions/230
|
# See https://github.com/mbitsnbites/buildcache/discussions/230
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 3169.
|
This is the source code for early-access 3170.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -266,14 +266,16 @@ void SinkStream::ProcessAudioOutAndRender(std::span<s16> output_buffer, std::siz
|
||||||
}
|
}
|
||||||
|
|
||||||
void SinkStream::Stall() {
|
void SinkStream::Stall() {
|
||||||
if (IsStalled()) {
|
std::scoped_lock lk{stall_guard};
|
||||||
|
if (stalled_lock) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
stalled_lock = system.StallProcesses();
|
stalled_lock = system.StallProcesses();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SinkStream::Unstall() {
|
void SinkStream::Unstall() {
|
||||||
if (!IsStalled()) {
|
std::scoped_lock lk{stall_guard};
|
||||||
|
if (!stalled_lock) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
system.UnstallProcesses();
|
system.UnstallProcesses();
|
||||||
|
|
|
@ -210,11 +210,6 @@ public:
|
||||||
*/
|
*/
|
||||||
void Unstall();
|
void Unstall();
|
||||||
|
|
||||||
private:
|
|
||||||
[[nodiscard]] bool IsStalled() const {
|
|
||||||
return stalled_lock.owns_lock();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/// Core system
|
/// Core system
|
||||||
Core::System& system;
|
Core::System& system;
|
||||||
|
@ -246,7 +241,7 @@ private:
|
||||||
f32 system_volume{1.0f};
|
f32 system_volume{1.0f};
|
||||||
/// Set via IAudioDevice service calls
|
/// Set via IAudioDevice service calls
|
||||||
f32 device_volume{1.0f};
|
f32 device_volume{1.0f};
|
||||||
/// True if coretiming has been stalled
|
std::mutex stall_guard;
|
||||||
std::unique_lock<std::mutex> stalled_lock;
|
std::unique_lock<std::mutex> stalled_lock;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@ add_library(common STATIC
|
||||||
cache_management.cpp
|
cache_management.cpp
|
||||||
cache_management.h
|
cache_management.h
|
||||||
common_funcs.h
|
common_funcs.h
|
||||||
|
common_headers.h
|
||||||
common_types.h
|
common_types.h
|
||||||
concepts.h
|
concepts.h
|
||||||
div_ceil.h
|
div_ceil.h
|
||||||
|
@ -187,5 +188,4 @@ endif()
|
||||||
|
|
||||||
if (YUZU_USE_PRECOMPILED_HEADERS)
|
if (YUZU_USE_PRECOMPILED_HEADERS)
|
||||||
target_precompile_headers(common PRIVATE precompiled_headers.h)
|
target_precompile_headers(common PRIVATE precompiled_headers.h)
|
||||||
set(CMAKE_PCH_INSTANTIATE_TEMPLATES ON)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
12
src/common/common_headers.h
Executable file
12
src/common/common_headers.h
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
// SPDX-FileCopyrightText: 2022 yuzu Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
#include <chrono>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
#include <fmt/format.h>
|
||||||
|
|
||||||
|
#include "common/assert.h"
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -141,7 +141,7 @@ static std::wstring CPToUTF16(u32 code_page, const std::string& input) {
|
||||||
MultiByteToWideChar(code_page, 0, input.data(), static_cast<int>(input.size()), nullptr, 0);
|
MultiByteToWideChar(code_page, 0, input.data(), static_cast<int>(input.size()), nullptr, 0);
|
||||||
|
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
return L"";
|
return std::wstring(size, L'\0');
|
||||||
}
|
}
|
||||||
|
|
||||||
std::wstring output(size, L'\0');
|
std::wstring output(size, L'\0');
|
||||||
|
@ -158,7 +158,7 @@ std::string UTF16ToUTF8(const std::wstring& input) {
|
||||||
const auto size = WideCharToMultiByte(CP_UTF8, 0, input.data(), static_cast<int>(input.size()),
|
const auto size = WideCharToMultiByte(CP_UTF8, 0, input.data(), static_cast<int>(input.size()),
|
||||||
nullptr, 0, nullptr, nullptr);
|
nullptr, 0, nullptr, nullptr);
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
return "";
|
return std::string(size, '\0');
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string output(size, '\0');
|
std::string output(size, '\0');
|
||||||
|
|
|
@ -3,12 +3,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <boost/container/flat_map.hpp> // used by service.h which is heavily included
|
#include <boost/container/flat_map.hpp> // used by service.h which is heavily included
|
||||||
#include <boost/intrusive/rbtree.hpp> // used by k_auto_object.h which is heavily included
|
#include <boost/intrusive/rbtree.hpp> // used by k_auto_object.h which is heavily included
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
#include "common/common_headers.h"
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -3,11 +3,5 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
#include "frontend/maxwell/translate/impl/impl.h"
|
#include "frontend/maxwell/translate/impl/impl.h"
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
|
@ -3,10 +3,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <algorithm>
|
#include "common/common_headers.h"
|
||||||
#include <chrono>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include <fmt/format.h>
|
|
||||||
|
|
||||||
#include "common/assert.h"
|
|
||||||
|
|
Loading…
Reference in a new issue