Commit graph

18636 commits

Author SHA1 Message Date
Fernando Sahmkow
aa941d40cd Reaper: Change memory restrictions on TC depending on host memory on VK. 2021-06-17 00:29:48 +02:00
Fernando Sahmkow
2fd0207e2e Reaper: Address Feedback. 2021-06-16 21:35:03 +02:00
Fernando Sahmkow
25e2362427 Reaper: Setup settings and final tuning. 2021-06-16 21:35:03 +02:00
Fernando Sahmkow
978aabb1d0 Reaper: Tune it up to be an smart GC. 2021-06-16 21:35:02 +02:00
ReinUsesLisp
cb0d987c90 Initial Reaper Setup
WIP
2021-06-16 21:35:02 +02:00
ReinUsesLisp
28f04b9477 vulkan_memory_allocator: Release allocations with no commits 2021-06-16 21:35:01 +02:00
bunnei
ff1e34d198 Merge pull request #6464 from ameerj/disable-astc
textures: Add a toggle for GPU Accelerated ASTC decoder
2021-06-16 11:29:10 -07:00
Morph
9442c70be1 Merge pull request #6460 from Morph1984/fs-access-log-fix
fsp_srv: Fix filesystem access logging
2021-06-16 14:03:01 -04:00
Morph
996d006989 spl: Mark the other functions as unimplemented 2021-06-16 01:46:45 -04:00
Morph
09a98bdc2b spl: Implement spl::GetConfig 2021-06-16 01:46:45 -04:00
Morph
7588defe84 hle: api_version: Add HLE API version constants 2021-06-16 01:46:45 -04:00
Morph
684d567adc spl: Add the general SPL interface 2021-06-16 01:46:45 -04:00
Morph
bb0caed2f1 spl: Add SPL types 2021-06-16 01:46:45 -04:00
Morph
8d7eec9b88 spl: Add SPL result codes 2021-06-16 01:07:58 -04:00
Morph
a90f818e1c common: fs: file: Remove redundant call to WriteStringToFile
The Append open mode will create a new file if said file does not exist at a given path, making this call redundant.
2021-06-16 00:06:02 -04:00
Morph
20bb5fe3a1 fsp_srv: Fix filesystem access logging
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt

If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard.

Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
2021-06-16 00:06:02 -04:00
bunnei
f9a637ef49 Merge pull request #6462 from Morph1984/proper-flush
common: fs: file: Flush the file to the disk when Flush() is called
2021-06-15 19:03:19 -07:00
ameerj
13b046aae1 astc_decoder: Fix LDR CEM1 endpoint calculation
Per the spec, L1 is clamped to the value 0xff if it is greater than 0xff. An oversight caused us to take the maximum of L1 and 0xff, rather than the minimum.

Huge thanks to wwylele for finding this.

Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2021-06-15 20:19:01 -04:00
ameerj
a91f7f6957 yuzu_cmd/config: Add Accelerate ASTC and missing NVDEC emulation settings 2021-06-15 20:19:00 -04:00
ameerj
2ec9c87101 configure_graphics: Add Accelerate ASTC decoding setting 2021-06-15 20:19:00 -04:00
ameerj
e5da434498 textures: Reintroduce CPU ASTC decoder
Users may want to fall back to the CPU ASTC texture decoder due to hangs
and crashes that may be caused by keeping the GPU under compute heavy
loads for extended periods of time. This is especially the case in games
such as Astral Chain which make extensive use of ASTC textures.
2021-06-15 20:19:00 -04:00
bunnei
2bf9b1b978 Merge pull request #6470 from ameerj/lm-silence
lm: Demote LM guest logs to LOG_DEBUG
2021-06-14 20:40:25 -07:00
ameerj
7709a7cdc0 lm: Demote guest logs to LOG_DEBUG
Guest logs are not very useful, as they are intended for use by the game developers during development. As such, they provide little meaning to be logged by yuzu and tend to overwhelm the log output at times.
2021-06-14 22:23:27 -04:00
ReinUsesLisp
b458f73a61 texture_cache/util: Avoid relaxed image views on different bytes per pixel
Avoids API usage errors on UE4 titles leading to crashes.
2021-06-14 21:03:57 -03:00
bunnei
2f02587965 Merge pull request #6456 from Morph1984/very-important-changes
configure_cpu_debug: Clarify settings behavior
2021-06-14 15:05:44 -07:00
Fernando Sahmkow
441cafdaf4 Merge pull request #6448 from Morph1984/recursive-dir-iterator
common: fs: Use the normal directory iterator in *Recursively functions
2021-06-14 15:47:04 +02:00
Mai M
80d43a1102 Merge pull request #6463 from Morph1984/restructure-logging
common: logging: Restructure logging backend
2021-06-13 14:29:39 -04:00
Morph
e91bf05ce6 general: Remove extraneous includes 2021-06-13 11:32:43 -04:00
Morph
5c635f8d09 common: logging: Restructure backend code 2021-06-13 11:05:58 -04:00
Morph
9fa79c001d common: logging: backend: Wrap IOFile in a unique_ptr
Allows us to forward declare Common::FS::IOFile.
2021-06-13 11:05:58 -04:00
Morph
d7537c6638 common: fs: file: Flush the file to the disk when Flush() is called
std::fflush does not guarantee that file buffers are flushed to the disk.

Use _commit on Windows and fsync on all other OSes to ensure that the file is flushed to the disk.
2021-06-13 07:47:57 -04:00
Morph
88f735f55a Merge pull request #6452 from german77/sixaxis_firmware_stub
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-13 05:28:32 -04:00
lat9nq
c8ae7fc8e8 cmake: Check dependencies for Linux Qt package
Currently Qt will download whether or not the target system supports the
package. Normally this isn't an issue since the package manager would
work out the dependencies for us, but in this case we must make sure
everything is in place before downloading the package.

This checks for the package's requirements, as well as tries to provides
hints as to what is required on some of the more cryptic dependencies.
2021-06-13 03:13:10 -04:00
lat9nq
c902147d82 cmake: Fix find_program usage for 3.15
yuzu requires CMake 3.15 yet find_program was using REQUIRED, which is
only available on 3.18 and later. Instead, we check for
"<VAR>-NOTFOUND".

In addition, check for additional requirements before building libusb or
FFmpeg with autotools. Otherwise, CMake configuration will pass yet
compilation will fail.
2021-06-13 01:15:54 -04:00
Morph
eadb781320 configure_cpu_debug: Clarify settings behavior
This makes it clear that the disabled settings only take effect when CPU Accuracy is set to Debug Mode.
2021-06-13 00:27:33 -04:00
Morph
367c4a676f common: fs: Use the normal directory iterator in *Recursively functions
MSVC's implementation of recursive_directory_iterator throws an exception on an error despite a std::error_code being passed into its constructor. This is most likely a bug in MSVC's implementation since directory_iterator does not throw an exception on an error.

We can replace the usage of recursive_directory_iterator for now until MSVC fixes their implementation of it.
2021-06-12 01:39:07 -04:00
bunnei
2e29db6e91 Merge pull request #6453 from lat9nq/libusb-fix-msvc
externals: Don't set FOUND or VERSION on LIBUSB
2021-06-11 16:29:34 -07:00
lat9nq
9e98d307a1 externals: Don't set FOUND or VERSION on LIBUSB
Fixes an issue where libusb.h wouldn't be found when building yuzu on
MSVC.

This only affects the "traditional" CMake pathway for linking libusb to
yuzu AKA MSVC. For autotools we still want to set these variables before
configuring SDL.
2021-06-11 16:57:04 -04:00
bunnei
1068cfe91d Merge pull request #6451 from Morph1984/check-disk-space-dump
yuzu: main: Ensure enough space is available for RomFS dumping
2021-06-11 13:23:23 -07:00
german77
7ae1e7c0bb hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor 2021-06-11 14:44:46 -05:00
Mai M
653edced9b Merge pull request #6422 from FernandoS27/i-am-the-senate
Implement/Port Fastmem from Citra to Yuzu
2021-06-11 14:26:54 -04:00
Morph
dfca39bf9c yuzu: main: Ensure enough space is available for RomFS dumping
This warns the user if there isn't enough free space to dump the entire RomFS to disk. It requires at least the size of the extracted RomFS + 1 GiB as a buffer of free space.
2021-06-11 14:04:11 -04:00
bunnei
27976eb579 Merge pull request #6443 from Morph1984/k-light-condition-variable
kernel: KLightConditionVariable: Update implementation to 12.x
2021-06-11 11:03:55 -07:00
Markus Wick
161ade6da0 common/host_memory: Implement a fallback if fastmem fails.
This falls back to the old approach of using a virtual buffer.

Windows is untested, but this build should fix support for Windows < 10 v1803. However without fastmem support at all.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
f664a4d4c1 common/host_shader: Load Windows 10 functions dynamically
Workaround old headers and libraries shipped on MinGW.
2021-06-11 17:27:17 +02:00
Fernando Sahmkow
86b5f4a630 GPUTHread: Remove async reads from Normal Accuracy. 2021-06-11 17:27:17 +02:00
ReinUsesLisp
57252b0c1d rasterizer: Update pages in batches 2021-06-11 17:27:17 +02:00
ReinUsesLisp
f36a769085 host_memory: Support staged VirtualProtect calls 2021-06-11 17:27:17 +02:00
FernandoS27
3147b9e34c General: Add settings for fastmem and disabling adress space check. 2021-06-11 17:27:17 +02:00
Markus Wick
8d2a08553e common/host_memory: Optimize for huge tables.
In theory, if we have 2 MB continously mapped, this should save one layer of TLB.
Let's make it at least more likely by aligning the memory.
2021-06-11 17:27:06 +02:00