early-access version 1317

main
pineappleEA 2021-01-15 01:27:20 +01:00
parent 99d3d1fc85
commit 4b3a0ea310
7 changed files with 36 additions and 74 deletions

View File

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

View File

@ -1,40 +1,17 @@
diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake
--- a/CMakeModules/GenerateSCMRev.cmake <?xml version="1.0" encoding="utf-8"?>
+++ b/CMakeModules/GenerateSCMRev.cmake <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
@@ -11,10 +11,10 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
# generate git/build information <head>
include(GetGitRevisionDescription) <title>503 Backend is unhealthy</title>
-get_git_head_revision(GIT_REF_SPEC GIT_REV) </head>
-git_describe(GIT_DESC --always --long --dirty) <body>
-git_branch_name(GIT_BRANCH) <h1>Error 503 Backend is unhealthy</h1>
-get_timestamp(BUILD_DATE) <p>Backend is unhealthy</p>
+#get_git_head_revision(GIT_REF_SPEC GIT_REV) <h3>Guru Mediation:</h3>
+#git_describe(GIT_DESC --always --long --dirty) <p>Details: cache-fra19153-FRA 1610670438 2624000569</p>
+#git_branch_name(GIT_BRANCH) <hr>
+#get_timestamp(BUILD_DATE) <p>Varnish cache server</p>
</body>
# Generate cpp with Git revision from template </html>
# Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well
@@ -113,4 +113,5 @@
set(COMBINED "${COMBINED}${TMP}")
endforeach()
string(MD5 SHADER_CACHE_VERSION "${COMBINED}")
+set(BUILD_FULLNAME "${BUILD_FULLNAME} ")
configure_file("${SRC_DIR}/src/common/scm_rev.cpp.in" "scm_rev.cpp" @ONLY)
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -28,6 +28,12 @@
-DBUILD_TAG="${BUILD_TAG}"
-DBUILD_ID="${DISPLAY_VERSION}"
-DGIT_EXECUTABLE="${GIT_EXECUTABLE}"
+ -DGIT_REF_SPEC="${GIT_REF_SPEC}"
+ -DGIT_REV="${GIT_REV}"
+ -DGIT_DESC="${GIT_DESC}"
+ -DGIT_BRANCH="${GIT_BRANCH}"
+ -DBUILD_FULLNAME="${BUILD_FULLNAME}"
+ -DBUILD_DATE="${BUILD_DATE}"
-P "${CMAKE_SOURCE_DIR}/CMakeModules/GenerateSCMRev.cmake"
DEPENDS
# WARNING! It was too much work to try and make a common location for this list,

View File

@ -6,6 +6,7 @@ add_executable(tests
common/ring_buffer.cpp common/ring_buffer.cpp
core/core_timing.cpp core/core_timing.cpp
tests.cpp tests.cpp
video_core/buffer_base.cpp
) )
create_target_directory_groups(tests) create_target_directory_groups(tests)

View File

@ -42,8 +42,8 @@ public:
return it == page_table.end() ? 0 : it->second; return it == page_table.end() ? 0 : it->second;
} }
[[nodiscard]] int Count() const noexcept { [[nodiscard]] unsigned Count() const noexcept {
int count = 0; unsigned count = 0;
for (const auto [index, value] : page_table) { for (const auto [index, value] : page_table) {
count += value; count += value;
} }
@ -120,11 +120,11 @@ TEST_CASE("BufferBase: Basic range", "[video_core]") {
buffer.MarkRegionAsCpuModified(c, PAGE); buffer.MarkRegionAsCpuModified(c, PAGE);
int num = 0; int num = 0;
buffer.ForEachUploadRange(c, WORD, [&](u64 offset, u64 size) { buffer.ForEachUploadRange(c, WORD, [&](u64 offset, u64 size) {
REQUIRE(offset == 0); REQUIRE(offset == 0U);
REQUIRE(size == PAGE); REQUIRE(size == PAGE);
++num; ++num;
}); });
REQUIRE(num == 1); REQUIRE(num == 1U);
} }
TEST_CASE("BufferBase: Border upload", "[video_core]") { TEST_CASE("BufferBase: Border upload", "[video_core]") {
@ -183,7 +183,7 @@ TEST_CASE("BufferBase: Partial word uploads", "[video_core]") {
BufferBase buffer(rasterizer, c, 0x9d000); BufferBase buffer(rasterizer, c, 0x9d000);
int num = 0; int num = 0;
buffer.ForEachUploadRange(c, WORD, [&](u64 offset, u64 size) { buffer.ForEachUploadRange(c, WORD, [&](u64 offset, u64 size) {
REQUIRE(offset == 0); REQUIRE(offset == 0U);
REQUIRE(size == WORD); REQUIRE(size == WORD);
++num; ++num;
}); });

View File

@ -1,6 +1,7 @@
add_subdirectory(host_shaders) add_subdirectory(host_shaders)
add_library(video_core STATIC add_library(video_core STATIC
buffer_cache/buffer_base.h
buffer_cache/buffer_block.h buffer_cache/buffer_block.h
buffer_cache/buffer_cache.h buffer_cache/buffer_cache.h
buffer_cache/map_interval.cpp buffer_cache/map_interval.cpp

View File

@ -117,31 +117,13 @@ void ConfigureDialog::UpdateVisibleTabs() {
return; return;
} }
const std::map<QWidget*, QString> widgets = {
{ui->generalTab, tr("General")},
{ui->systemTab, tr("System")},
{ui->profileManagerTab, tr("Profiles")},
{ui->inputTab, tr("Controls")},
{ui->hotkeysTab, tr("Hotkeys")},
{ui->cpuTab, tr("CPU")},
{ui->cpuDebugTab, tr("Debug")},
{ui->graphicsTab, tr("Graphics")},
{ui->graphicsAdvancedTab, tr("Advanced")},
{ui->audioTab, tr("Audio")},
{ui->debugTab, tr("Debug")},
{ui->webTab, tr("Web")},
{ui->uiTab, tr("UI")},
{ui->filesystemTab, tr("Filesystem")},
{ui->serviceTab, tr("Services")},
};
[[maybe_unused]] const QSignalBlocker blocker(ui->tabWidget); [[maybe_unused]] const QSignalBlocker blocker(ui->tabWidget);
ui->tabWidget->clear(); ui->tabWidget->clear();
const QList<QWidget*> tabs = qvariant_cast<QList<QWidget*>>(items[0]->data(Qt::UserRole)); const auto tabs = qvariant_cast<QList<QWidget*>>(items[0]->data(Qt::UserRole));
for (const auto tab : tabs) { for (auto* const tab : tabs) {
ui->tabWidget->addTab(tab, tab->accessibleName()); ui->tabWidget->addTab(tab, tab->accessibleName());
} }
} }

View File

@ -4,12 +4,15 @@
#include <array> #include <array>
#include <sstream> #include <sstream>
#include <QCloseEvent> #include <QCloseEvent>
#include <QLabel> #include <QLabel>
#include <QMessageBox> #include <QMessageBox>
#include <QPushButton> #include <QPushButton>
#include <QRegularExpression>
#include <QStringListModel> #include <QStringListModel>
#include <QVBoxLayout> #include <QVBoxLayout>
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/settings.h" #include "core/settings.h"
#include "input_common/main.h" #include "input_common/main.h"
@ -101,7 +104,6 @@ ConfigureMotionTouch::~ConfigureMotionTouch() = default;
void ConfigureMotionTouch::SetConfiguration() { void ConfigureMotionTouch::SetConfiguration() {
const Common::ParamPackage motion_param(Settings::values.motion_device); const Common::ParamPackage motion_param(Settings::values.motion_device);
const Common::ParamPackage touch_param(Settings::values.touch_device); const Common::ParamPackage touch_param(Settings::values.touch_device);
const std::string motion_engine = motion_param.Get("engine", "motion_emu");
ui->touch_from_button_checkbox->setChecked(Settings::values.use_touch_from_button); ui->touch_from_button_checkbox->setChecked(Settings::values.use_touch_from_button);
touch_from_button_maps = Settings::values.touch_from_button_maps; touch_from_button_maps = Settings::values.touch_from_button_maps;
@ -166,14 +168,14 @@ void ConfigureMotionTouch::ConnectEvents() {
void ConfigureMotionTouch::OnUDPAddServer() { void ConfigureMotionTouch::OnUDPAddServer() {
// Validator for IP address // Validator for IP address
QRegExp re(QStringLiteral( const QRegularExpression re(QStringLiteral(
R"re(^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)re")); R"re(^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)re"));
bool ok; bool ok;
QString port_text = ui->udp_port->text(); const QString port_text = ui->udp_port->text();
QString server_text = ui->udp_server->text(); const QString server_text = ui->udp_server->text();
const QString server_string = tr("%1:%2").arg(server_text, port_text); const QString server_string = tr("%1:%2").arg(server_text, port_text);
int port_number = port_text.toInt(&ok, 10); const int port_number = port_text.toInt(&ok, 10);
int row = udp_server_list_model->rowCount(); const int row = udp_server_list_model->rowCount();
if (!ok) { if (!ok) {
QMessageBox::warning(this, tr("yuzu"), tr("Port number has invalid characters")); QMessageBox::warning(this, tr("yuzu"), tr("Port number has invalid characters"));
@ -183,7 +185,7 @@ void ConfigureMotionTouch::OnUDPAddServer() {
QMessageBox::warning(this, tr("yuzu"), tr("Port has to be in range 0 and 65353")); QMessageBox::warning(this, tr("yuzu"), tr("Port has to be in range 0 and 65353"));
return; return;
} }
if (!re.exactMatch(server_text)) { if (!re.match(server_text).hasMatch()) {
QMessageBox::warning(this, tr("yuzu"), tr("IP address is not valid")); QMessageBox::warning(this, tr("yuzu"), tr("IP address is not valid"));
return; return;
} }
@ -306,7 +308,6 @@ void ConfigureMotionTouch::ApplyConfiguration() {
} }
Common::ParamPackage touch_param{}; Common::ParamPackage touch_param{};
touch_param.Set("min_x", min_x); touch_param.Set("min_x", min_x);
touch_param.Set("min_y", min_y); touch_param.Set("min_y", min_y);
touch_param.Set("max_x", max_x); touch_param.Set("max_x", max_x);