Commit Graph

32015 Commits

Author SHA1 Message Date
Stenzek
08cc73108a Vulkan: Treat VK_SUBOPTIMAL_KHR as VK_SUCCESS on Android
Android 10 seems to expect a prerotated/transformed swap chain for optimal
presentation. For now, until we implement that, just ignore the hint.
2020-01-31 19:16:06 +10:00
Stenzek
ead65b0d8c Vulkan: Log when a swap chain resize is occurring
This may help us debug performance problems in the future.
2020-01-31 19:11:43 +10:00
JosJuice
4f01dad469
Merge pull request #8593 from leoetlino/wiiroot-sysmenu
WiiRoot: Fix CopySysmenuFilesToFS directory creation
2020-01-30 15:26:41 +01:00
Léo Lam
f1f293bd49 WiiRoot: Fix CopySysmenuFilesToFS directory creation
Fixes a regression from #8539.

CreateDirectory was the correct function to use for creating
directories since parent directories already exist and are
not owned by the system menu.
2020-01-30 13:53:39 +01:00
Léo Lam
57f4837e4d
Merge pull request #8589 from lioncash/translatable
DolphinQt/GCMemcardManager: Mark string as translatable within GetErrorMessagesForErrorCode()
2020-01-27 23:20:03 +01:00
Léo Lam
1b90b62e63
Merge pull request #8588 from lioncash/unimplemented-fn
DolphinQt: Remove unimplemented function prototypes
2020-01-27 23:19:19 +01:00
Lioncash
7eaa769527 DolphinQt/GCMemcardManager: Make use of QLatin1Char within GetErrorMessagesForErrorCode()
Same behavior, but eliminates the use of a program lifetime Qt string
literal.
2020-01-27 15:59:33 -05:00
Lioncash
585ae8aedf DolphinQt/GCMemcardManager: Mark string as translatable within GetErrorMessagesForErrorCode()
This is a string that can potentially be seen by a user, so it should be
marked as translatable, like the other strings are.
2020-01-27 15:57:36 -05:00
Lioncash
dca201d5f3 DolphinQt/GameConfigWidget: Remove unimplemented EditUserConfig() member function
This isn't implemented anywhere, so we can remove the member function
prototype.
2020-01-27 15:46:52 -05:00
Lioncash
2fd628d017 DolphinQt/GameConfigEdit: Remove unimplemented SetReadOnly() member function
This isn't implemented anywhere, so we can remove this prototype.
2020-01-27 15:44:52 -05:00
Lioncash
c69cbceb59 DolphinQt/MainWindow: Surround prototype of OnSignal() with relevant ifdef
This is only used on Apple and Unix-like machines, so we can enclose the
prototype with an ifdef like the implementation is. This prevents
false-positives about an unimplemented function prototype.
2020-01-27 15:26:41 -05:00
Lioncash
e8ee4e835e DolphinQt/NetPlayDialog: Remove unimplemented SetGame() prototype
This isn't implemented anywhere, so the prototype can be removed.
2020-01-27 15:25:04 -05:00
Tilka
f36c735856
Merge pull request #8586 from Techjar/d2s-no-pext
Avoid using PDEP and PEXT on AMD Zen
2020-01-27 03:15:43 +00:00
Techjar
3a3dc28d54 VertexLoaderX64: Don't use PDEP on AMD Zen 2020-01-26 22:12:00 -05:00
Techjar
a106c99826 Jit64: Don't use PEXT in DoubleToSingle on AMD Zen
This was causing severe slowdown in some games.
2020-01-26 22:10:46 -05:00
Techjar
185e49d2a9 x64CPUDetect: Add flag for slow PDEP/PEXT on AMD Zen
For some unknown reason PDEP and PEXT are ridiculously slow on AMD Zen
architecture.
2020-01-26 22:09:46 -05:00
Techjar
52b52631c2 x64CPUDetect: Add detection for AMD Zen architecture 2020-01-26 22:09:13 -05:00
Connor McLaughlin
47239ddaac
Merge pull request #8587 from lioncash/const-qual
DolphinQt/TASCheckBox: Mark GetValue() as const
2020-01-27 12:52:10 +10:00
Lioncash
b493bdb912 DolphinQt/TASCheckBox: Mark GetValue() as const
This doesn't actually modify the checkbox's state, so this can be marked
as a const-qualified member function.
2020-01-26 21:41:31 -05:00
JosJuice
15b9b6e76b Translation resources sync with Transifex 2020-01-26 14:18:39 +01:00
Tilka
5dfc9196ab
Merge pull request #8548 from jordan-woyak/wiimote-source-cleanup
Core/WiimoteReal: Wii remote connection pool and source change cleanup.
2020-01-25 23:04:50 +00:00
Tilka
9ac77dc91f
Merge pull request #8552 from jordan-woyak/extension-calibration-data
WiimoteEmu: Nunchuk and Classic Controller calibration accuracy improvements.
2020-01-25 23:01:57 +00:00
Tilka
73aea8af6b
Merge pull request #8539 from leoetlino/fs-accuracy
IOS/FS: Reimplement many functions in a more accurate way
2020-01-25 23:00:10 +00:00
Tilka
2edcb29706
Merge pull request #8582 from jordan-woyak/osd-disabled-fix
VideoCommon/OSD: Process OSD messages even when they are disabled.
2020-01-25 21:11:37 +00:00
Tilka
a632bc7324
Merge pull request #8579 from jordan-woyak/rvalue-cleanups
Common/Core: Minor rvalue reference related cleanups.
2020-01-25 21:09:22 +00:00
Tilka
14ebdf0e9d
Merge pull request #8585 from JosJuice/volumeverifier-read-error
VolumeVerifier: Report read errors to the user
2020-01-25 21:07:01 +00:00
Tilka
b0e040431a
Merge pull request #8581 from jordan-woyak/ciface-ar-aware
InputCommon: Make "Cursor" inputs aware of the rendered aspect ratio.
2020-01-25 20:28:01 +00:00
Tilka
9827aa7a37
Merge pull request #8577 from jordan-woyak/shared_mutex
Common/Analytics: Replace mutex with shared_mutex and minor cleanups.
2020-01-25 20:08:22 +00:00
Jordan Woyak
5e3472eba9 Common/Analytics: Replace mutex with shared_mutex and minor cleanups. 2020-01-25 14:04:00 -06:00
JosJuice
de26fec0af VolumeVerifier: Report read errors to the user 2020-01-25 20:21:12 +01:00
Tilka
119ccc5e4f
Merge pull request #8556 from Sintendo/bestrest
x64Emitter: Avoid 8-bit displacement when possible
2020-01-25 19:10:47 +00:00
Tilka
709862b818
Merge pull request #8120 from MerryMage/cdts
Jit64: Make DoubleToSingle a common asm routine
2020-01-25 19:10:37 +00:00
Léo Lam
c02e7de55a IOS/ES: Remove now unnecessary title sorting hack
ES now uses FS to access the filesystem and FS's ReadDirectory now
returns file lists that are correctly ordered.
2020-01-25 17:54:58 +01:00
Léo Lam
031c63eb8a UnitTests/FS: Improve deletion test
* Test recursive directory deletion
* Test "in use" check for both files and directories
2020-01-25 17:54:58 +01:00
Léo Lam
150c832532 Tools: Add a small Python tool to print FSTs 2020-01-25 17:54:58 +01:00
Léo Lam
af416c60b0 UnitTests/FS: Add ReadDirectory ordering test (issue 10234) 2020-01-25 17:54:58 +01:00
Léo Lam
8789a6ddb3 UnitTests/FS: Fix file rename tests
Files cannot be given a different file name, only moved across
directories.

Add a test for that behaviour and fix the existing
RenameWithExistingTargetFile test.
2020-01-25 17:54:58 +01:00
Léo Lam
d4ba0acb3a UnitTests/FS: Add path validity and splitting tests 2020-01-25 17:54:57 +01:00
Léo Lam
484cfb9328 UnitTests/FS: Add metadata tests 2020-01-25 17:53:39 +01:00
Léo Lam
142b7e048b IOS/FS: Actually implement SetMetadata 2020-01-25 17:53:35 +01:00
Léo Lam
e4dd582d1d IOS/FS: Implement GetMetadata properly and remove GID hack
Now that all FS functions that create new inodes are properly
implemented, we can make GetMetadata actually return correct file
metadata rather than giving fixed information. The hack for the DQX
installer can also be removed now since our ES and FS keep track of
caller UID/GIDs now.
2020-01-25 17:53:34 +01:00
Léo Lam
396429d582 IOS/FS: Implement ReadDirectory properly and remove sorting hack
With the CreateFile/CreateDirectory fix and this commit, we can
finally return correct results in ReadDirectory and the sorting
hack -- whose purpose was to prevent certain versions of the
System Menu from crashing -- can be removed too.
2020-01-25 17:53:19 +01:00
Léo Lam
a40f297d1d IOS/FS: Implement Rename properly 2020-01-25 17:53:18 +01:00
Léo Lam
53ceb6c693 IOS/FS: Implement Delete properly 2020-01-25 17:53:05 +01:00
Léo Lam
8517528f8c IOS/FS: Implement CreateFile and CreateDir properly 2020-01-25 17:52:45 +01:00
Léo Lam
8f74d02659 Core: Fix a few misuses of FS::CreateDirectory
CreateDirectory does not create missing parent directories. If that
behaviour is desired, CreateFullPath should be used instead.

(These small misuses went unnoticed since the previous implementation
of CreateDirectory automatically created parent directories.)
2020-01-25 17:52:07 +01:00
Léo Lam
36676d2628 IOS/FS: Implement Format properly 2020-01-25 17:52:03 +01:00
Léo Lam
a83d9e5600 IOS/FS: Make sure FS root directory exists
Previously, the FS root directory would get created as a side
effect of calling CreateDirectory during boot (since the
implementation was sloppy and used File::CreateFullDir).

Since CreateDirectory no longer does that, it is necessary to ensure
that the FS root directory does exist by creating it explicitly.
2020-01-25 17:51:52 +01:00
Léo Lam
0543598574 IOS/FS: Move /tmp clearing back to the IPC interface
Prevents /tmp from being cleared unnecessarily; clearing /tmp is
normally only done once every time IOS is reloaded.
2020-01-25 17:51:43 +01:00
Léo Lam
f743f100b1 IOS/FS: Add base FST functions
Some official titles rely on implementation details of Nintendo's
FS sysmodule and will not work properly if those are changed.
Notably, some games and older versions of the System Menu appear
to be relying on the order of files returned by FS::ReadDirectory
and will either fail to find their save data (for Bolt) or
outright crash (for the System Menu).

Some titles also actually expect filesystem metadata to be correct.
One title that has been confirmed to do this is DQX, which generates
paths based on the GID of files within its own title directory.

While it is easy to make workarounds for these issues -- and in fact
we already do have some for the sysmenu and DQX, having hacks
is obviously nonideal and adding yet another hack would be required
to fix Bolt -- one that would be even uglier.

Furthermore, while it is currently unknown whether any official
title cares about permissions, the lack of FS metadata means that
we are unable to implement them if that turns out to be desirable
or necessary.

By adding a FST, we can implement things correctly and solve all
those problems without hacks.

Apart from DQX, the sysmenu and Bolt, this changeset also fixes
the Photo Channel complaining about corrupted system files
on the initial launch.

This first commit adds the basic structures and functions that
are necessary to load, save, query and update our version of the FST.

For simplicity, a binary format that is inspired from Nintendo's FST
structure was chosen for serialization. It is not expected to ever
receive an update.

PS: an update on the NAND image backend:

A long time ago I had planned to add another FS backend which would
be using a NAND image/blob as the storage. While I have already
written an implementation that has been tested, solves all the
aforementioned issues and more, produces images that are fully
compatible with IOS's FS driver, I feel like NAND images raise too
many issues: savestate sizes, code complexity and maintenance cost.

Since many fixes and additions that are part of that implementation
(e.g. FS timings, utility structures, FST) have already been merged
or will be submitted as part of this changeset, I will likely not
submit the branch.
2020-01-25 17:51:37 +01:00