early-access version 2892

main
pineappleEA 2022-08-08 03:24:54 +02:00
parent c788e6a23a
commit 0e7a8bf50a
6 changed files with 39 additions and 9 deletions

View File

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 2891. This is the source code for early-access 2892.
## Legal Notice ## Legal Notice

View File

@ -8,6 +8,10 @@
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#ifdef _MSC_VER
#include <intrin.h>
#endif
using Callback = Dynarmic::A32::Coprocessor::Callback; using Callback = Dynarmic::A32::Coprocessor::Callback;
using CallbackOrAccessOneWord = Dynarmic::A32::Coprocessor::CallbackOrAccessOneWord; using CallbackOrAccessOneWord = Dynarmic::A32::Coprocessor::CallbackOrAccessOneWord;
using CallbackOrAccessTwoWords = Dynarmic::A32::Coprocessor::CallbackOrAccessTwoWords; using CallbackOrAccessTwoWords = Dynarmic::A32::Coprocessor::CallbackOrAccessTwoWords;
@ -47,12 +51,31 @@ CallbackOrAccessOneWord DynarmicCP15::CompileSendOneWord(bool two, unsigned opc1
switch (opc2) { switch (opc2) {
case 4: case 4:
// CP15_DATA_SYNC_BARRIER // CP15_DATA_SYNC_BARRIER
// This is a dummy write, we ignore the value written here. return Callback{
return &dummy_value; [](Dynarmic::A32::Jit*, void*, std::uint32_t, std::uint32_t) -> std::uint64_t {
#ifdef _MSC_VER
_mm_mfence();
_mm_lfence();
#else
asm volatile("mfence\n\tlfence\n\t" : : : "memory");
#endif
return 0;
},
std::nullopt,
};
case 5: case 5:
// CP15_DATA_MEMORY_BARRIER // CP15_DATA_MEMORY_BARRIER
// This is a dummy write, we ignore the value written here. return Callback{
return &dummy_value; [](Dynarmic::A32::Jit*, void*, std::uint32_t, std::uint32_t) -> std::uint64_t {
#ifdef _MSC_VER
_mm_mfence();
#else
asm volatile("mfence\n\t" : : : "memory");
#endif
return 0;
},
std::nullopt,
};
} }
} }

View File

@ -35,6 +35,8 @@ public:
ARM_Dynarmic_32& parent; ARM_Dynarmic_32& parent;
u32 uprw = 0; u32 uprw = 0;
u32 uro = 0; u32 uro = 0;
friend class ARM_Dynarmic_32;
}; };
} // namespace Core } // namespace Core

View File

@ -1089,8 +1089,8 @@ QStringList GRenderWindow::GetUnsupportedGLExtensions() const {
} }
if (!unsupported_ext.empty()) { if (!unsupported_ext.empty()) {
LOG_ERROR(Frontend, "GPU does not support all required extensions: {}", const std::string gl_renderer{reinterpret_cast<const char*>(glGetString(GL_RENDERER))};
glGetString(GL_RENDERER)); LOG_ERROR(Frontend, "GPU does not support all required extensions: {}", gl_renderer);
} }
for (const QString& ext : unsupported_ext) { for (const QString& ext : unsupported_ext) {
LOG_ERROR(Frontend, "Unsupported GL extension: {}", ext.toStdString()); LOG_ERROR(Frontend, "Unsupported GL extension: {}", ext.toStdString());

View File

@ -3358,7 +3358,8 @@ void GMainWindow::MigrateConfigFiles() {
} }
const auto origin = config_dir_fs_path / filename; const auto origin = config_dir_fs_path / filename;
const auto destination = config_dir_fs_path / "custom" / filename; const auto destination = config_dir_fs_path / "custom" / filename;
LOG_INFO(Frontend, "Migrating config file from {} to {}", origin, destination); LOG_INFO(Frontend, "Migrating config file from {} to {}", origin.string(),
destination.string());
if (!Common::FS::RenameFile(origin, destination)) { if (!Common::FS::RenameFile(origin, destination)) {
// Delete the old config file if one already exists in the new location. // Delete the old config file if one already exists in the new location.
Common::FS::RemoveFile(origin); Common::FS::RemoveFile(origin);

View File

@ -1,7 +1,7 @@
{ {
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "yuzu", "name": "yuzu",
"builtin-baseline": "cef0b3ec767df6e83806899fe9525f6cf8d7bc91", "builtin-baseline": "9b22b40c6c61bf0da2d46346dd44a11e90972cc9",
"version": "1.0", "version": "1.0",
"dependencies": [ "dependencies": [
"boost-algorithm", "boost-algorithm",
@ -37,6 +37,10 @@
{ {
"name": "catch2", "name": "catch2",
"version": "2.13.9" "version": "2.13.9"
},
{
"name": "fmt",
"version": "9.0.0"
} }
] ]
} }