Commit Graph

22294 Commits

Author SHA1 Message Date
bunnei 12ed547269 Merge pull request #9096 from Kelebek1/audio_15
[audio_core] Update for firmware 15.0.0
2022-10-20 13:17:26 -07:00
liamwhite e22dab31d7 Merge pull request #9094 from lioncash/fixed
common/fixed_point: Minor interface improvements
2022-10-19 19:00:59 -04:00
liamwhite 6b065e8d73 Merge pull request #9082 from Morph1984/future
savedata_factory: Detect future save data paths
2022-10-19 16:28:42 -04:00
liamwhite 4dce02aa8f Merge pull request #9083 from liamwhite/take-a-chance-on-me
kernel: fix slab heap ABA
2022-10-19 16:27:59 -04:00
liamwhite 6291423f8b Merge pull request #9071 from bunnei/mp-mm
Kernel Multiprocess (Part 1) - Persist memory & core timing
2022-10-19 16:27:43 -04:00
bunnei 8b2cadd4e2 core: hle: kernel: Migrate ProcessState to enum class. 2022-10-19 14:03:50 -04:00
Kelebek1 2da6a39c19 Update audio_core for firmware 15.0.0 2022-10-19 06:16:15 +01:00
Fernando S 8698e12596 Merge pull request #9084 from vonchenplus/dma_copy
video_core: implement 1D copies based on VMM 'kind'
2022-10-19 06:56:00 +02:00
bunnei e3cb70d8df core: Initialize: Add missing braces. 2022-10-18 19:13:35 -07:00
bunnei 438c1b5c18 core: core_timing: Re-initialize if single/multicore state changes. 2022-10-18 19:13:35 -07:00
bunnei f357ddf644 core: core_timing: Remove unused IsHostTiming. 2022-10-18 19:13:35 -07:00
bunnei 4c2274b2c1 core: hle: kernel: Use result macros for new/changed code. 2022-10-18 19:13:35 -07:00
bunnei a35c884097 core: Partially persist emulation state across game boots. 2022-10-18 19:13:35 -07:00
bunnei 3785e8d1c7 core: hle: kernel: Fix InitializePreemption order. 2022-10-18 19:13:35 -07:00
bunnei 55ed04af34 core: hle: kernel: k_process: Improve management of page table & cleanup. 2022-10-18 19:13:35 -07:00
bunnei 7dd7b440cc core: hle: kernel: k_interrupt_manager: HandleInterrupt should not depend on current process. 2022-10-18 19:13:35 -07:00
bunnei c164affbcb core: hle: kernel: Remove junk. 2022-10-18 19:13:35 -07:00
bunnei 15eebff127 core: hle: kernel: k_page_table: Impl. LockForUn/MapDeviceAddressSpace, cleanup. 2022-10-18 19:13:35 -07:00
bunnei 2a909989ee video_core: renderer_vulkan: vk_query_cache: Avoid shutdown crash in QueryPool::Reserve. 2022-10-18 19:13:35 -07:00
bunnei 0eeef46015 core: hle: kernel: Integration application memory block slab manager. 2022-10-18 19:13:34 -07:00
bunnei 98a3854393 core: hle: kernel: k_page_table: Update, and integrate with new KMemoryBlockManager/SlabManager. 2022-10-18 19:13:34 -07:00
bunnei ddd0ca5f83 core: hle: kernel: k_memory_block: Update. 2022-10-18 19:13:34 -07:00
bunnei 3b1a2fd7db core: hle: kernel: k_memory_block_manager: Update. 2022-10-18 19:13:34 -07:00
bunnei 97e4cd1c8f core: hle: kernel: k_thread: Implement thread termination DPC. 2022-10-18 19:13:34 -07:00
bunnei 0592bf30c1 core: hle: kernel: Add KDynamicResourceManager. 2022-10-18 19:13:34 -07:00
bunnei f6fd69d0d4 core: hle: kernel: Add KDynamicSlabHeap. 2022-10-18 19:13:34 -07:00
bunnei 1089e3cb1e core: hle: kernel: Add KDynamicPageManager. 2022-10-18 19:13:34 -07:00
bunnei 5a37569052 core: hle: kernel: k_process: Change Status -> State. 2022-10-18 19:13:34 -07:00
bunnei acc0a8f63a core: hle: kernel: svc_types: Add SystemThreadPriorityHighest and ProcessState. 2022-10-18 19:13:34 -07:00
bunnei d9871bab0b core: device_memory: Templatize GetPointer(..). 2022-10-18 19:13:34 -07:00
bunnei 59dfd7ec29 core: hle: result: Add GetInnerValue and Includes methods. 2022-10-18 19:13:34 -07:00
bunnei 444f94e8f7 core: hle: kernel: svc_common: Add WaitInfinite & cleanup. 2022-10-18 19:13:34 -07:00
Lioncash d28572d4b8 fixed_point: Mark default constructor as constexpr
Ensures that a fixed-point value is always initialized

This likely also fixes several cases of uninitialized values being
operated on, since we have multiple areas in the codebase where the
default constructor is being used like:

Common::FixedPoint<50, 14> current_sample{};

and is then followed up with an arithmetic operation like += or
something else, which operates directly on FixedPoint's internal data
member, which would previously be uninitialized.
2022-10-18 16:06:50 -04:00
Lioncash 9cc6234265 fixed_point: Mark copy/move assignment operators and constructors as constexpr
Given these are just moving a raw value around, these can sensibly be
made constexpr to make the interface more useful.
2022-10-18 16:06:50 -04:00
Lioncash 278826ce5b fixed_point: Mark std::swap and move constructor as noexcept
These shouldn't throw and can influence how some standard algorithms
will work.
2022-10-18 16:06:50 -04:00
Lioncash 3ba285f09e fixed_point: Mark relevant member function [[nodiscard]]
Marks member functions as discard, where ignoring the return value would
be indicative of a bug or dead code.
2022-10-18 16:06:50 -04:00
Lioncash 62d3f2021b fixed_point: Make to_uint() non-const
This calls round_up(), which is a non-const member function, so if a
fixed-point instantiation ever calls to_uint(), it'll result in a
compiler error.

This allows the member function to work.

While we're at it, we can actually mark to_long_floor() as const, since
it's not modifying any member state.
2022-10-18 16:06:50 -04:00
Lioncash 801b7a6652 fixed_point: Use defaulted comparisons
Collapses all of the comparison functions down to a single line.
2022-10-18 16:06:50 -04:00
Lioncash 3b07fadfe3 fixed_point: Use variable templates and concepts where applicable
Makes a few things a little less noisy and removes the need for SFINAE
in quite a few functions.
2022-10-18 16:06:46 -04:00
bunnei 74bc4a549a Merge pull request #9054 from Docteh/just_lz4
CMake: Try add_library "lz4" if "lz4::lz4" is unavailable
2022-10-17 22:51:26 -07:00
bunnei ec4c221e1f Merge pull request #9087 from Morph1984/once
general: Add missing pragma once
2022-10-17 22:50:02 -07:00
Liam 53625f087b kernel: fix slab heap ABA 2022-10-17 17:53:32 -04:00
FengChen 584a200d86 video_core: implement 1D copies based on VMM 'kind' 2022-10-17 15:35:12 +08:00
FengChen 2d53a37461 video_core: Implement memory manager page kind 2022-10-17 15:33:29 +08:00
Morph 4b35f9e78e fixed_point: Replace CONSTEXPR14 with constexpr
As we require the latest C++ standards to compile yuzu, checking for C++14 constexpr is not needed.
2022-10-17 03:16:54 -04:00
Morph 6a22ed905b general: Add missing pragma once 2022-10-17 03:14:31 -04:00
Morph 506be48e36 Merge pull request #9085 from Docteh/TX_TOKEN
Set TX_TOKEN for transifex client
2022-10-17 02:57:07 -04:00
Morph 70a392dad1 Merge pull request #9079 from Morph1984/unknown-unkowns
general: Fix spelling
2022-10-17 02:56:58 -04:00
Morph 512bbb2bf4 Merge pull request #9080 from lat9nq/sdl-audio-not-null
sdl2_sink: Avoid loading a null string into a vector
2022-10-17 02:56:38 -04:00
Kyle Kienapfel cd94cf4888 Set TX_TOKEN for transifex client
I did some tests on my own fork, and we're writing to ~/.transifexrc but
the client can't seem to read that file. maybe issue with $HOME or
something.

Workaround is to set TX_TOKEN environment variable and now the pesky
~/.transifexrc file is not needed.
2022-10-16 23:37:25 -07:00