Subv
a9877c8f65
Kernel/SVC: Don't reschedule the current core when creating a new thread.
The current core may have nothing to do with the core where the new thread was scheduled to run. In case it's the same core, then the following PrepareReshedule call will take care of that.
7 years ago
Subv
2e7802ad7d
Core/HLE: Make the 'reschedule_pending' flag atomic.
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
7 years ago
Subv
3a338d9286
CPU/HLE: Lock the HLE mutex before performing a reschedule.
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
7 years ago
Subv
84b542c386
Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
7 years ago
Subv
0135b328ed
Kernel/Thread: Always use the threadsafe option when scheduling wakeups.
WakeAfterDelay might be called from any host thread, so err on the side of caution and use the thread-safe CoreTiming::ScheduleEventThreadsafe.
Note that CoreTiming is still far from thread-safe, there may be more things we have to work on for it to be up to par with what we want.
7 years ago
bunnei
534abf9d97
gl_shader_decompiler: Implement XMAD instruction.
8 years ago
Subv
5224cc49c4
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
Exit from AddMutexWaiter early if the thread is already waiting for a mutex owned by the owner thread.
This accounts for the possibility of a thread that is waiting on a condition variable being awakened twice in a row.
Also added more validation asserts.
This should fix one of the random crashes in Breath Of The Wild.
8 years ago
Lioncash
b82b093108
vfs: Make VfsFilesystem constructor explicit
Makes it consistent with the other VFS interfaces and prevents implicit
construction.
8 years ago
Lioncash
cf0a7cd1c1
vfs: Make type hierarchy objects classes instead of structs
struct should be used when the data type is very simple or otherwise has
no invariants associated with it. Given these are used to form a
hierarchy, class should be used instead.
8 years ago
Zach Hilman
35e4a47be0
registration: Various style and documentation improvements
Fix logic in RealVfsFilesystem Create methods
Remove magic numbers
Fix regex errors
8 years ago
MerryMage
fcc5ffdfdd
cubeb_sink: Protect queue with a mutex
8 years ago
Lioncash
e850ff63bc
scheduler: Make HaveReadyThreads() a const member function
This function doesn't modify instance state, so the const qualifier can
be added to it.
8 years ago
Lioncash
11470f331a
thread_queue_list: Make contains() and get_first() const member functions
These don't directly modify the contained data.
8 years ago
Lioncash
55c73e10a7
thread_queue_list: Convert typedef to a type alias
8 years ago
Markus Wick
0eb39922f6
gl_rasterizer: Use a shared helper to upload from CPU memory.
8 years ago
Markus Wick
0af7e93763
gl_state: Don't track constant buffer mappings.
8 years ago
Markus Wick
6ff7906ddc
gl_rasterizer: Use the stream buffer for constant buffers.
8 years ago
Markus Wick
ce722e317b
gl_rasterizer: Use the streaming buffer itself for the constant buffer.
Don't emut copies, especially not for data, which is used once. They just end in a huge GPU overhead.
8 years ago
Markus Wick
6f6bba3ff1
gl_rasterizer: Use a helper for aligning the buffer.
8 years ago
Markus Wick
d7298ec262
Update the stream_buffer helper from Citra.
Please see https://github.com/citra-emu/citra/pull/3666 for more details.
8 years ago
David Marcec
66f4f86a82
GetAudioDeviceServiceWithRevisionInfo
As we're not handling any anything about the revision data for GetAudioDeviceServiceWithRevisionInfo, it's currently marked as stubbed. However for games this shouldn't affect the result. Proper revision info would be more for homebrew.
8 years ago
Lioncash
63a70c253e
hid: disable clang-format around tables
Prevents clang-format from butchering them.
8 years ago
Lioncash
9e74d6238e
hid: Stub DisconnectNpad()
This is required by ARMS.
8 years ago
Lioncash
75bba25009
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
Previously these were being unused (or partially unused). While we're at
it, use better naming to make it visibly obvious which variant of the
path is being used.
8 years ago
Lioncash
7b6519741b
card_image: Use type aliases to shorten definitions
We have the aliases, so we may as well use 'em.
8 years ago
Lioncash
d6a1a43854
card_image: Simplify return statement of GetSubdirectories()
We don't need to write out the construction long-form, we can just let
the language itself work it out off the return type.
8 years ago
bunnei
639ebb39f6
gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.
8 years ago
David Marcec
094f6003e0
Pushed the requested sample rate instead of our fixed sample rate
8 years ago
David Marcec
98b940052c
made ResultStatus a u16
8 years ago
David Marcec
e5ee0afe6f
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
8 years ago
bunnei
c68aa65226
gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.
8 years ago
David Marcec
ecfbe7d9c8
Stub UpdateUserPresence
Needed for Retro City Rampage to go in game
8 years ago
David Marcec
a1fb8a331f
Fixed invalid cast in loader
GetMessageForResultStatus takes a u16, not a size_t.
8 years ago
Zach Hilman
6b76b77400
registration: Add support for force overwrite of installed
8 years ago
Zach Hilman
fdf27bf390
game_list: Split game list scans to multiple functions
Avoids unnecessary rebuilds of control data on every layer of recursion in AddFstEntriesToGameList
8 years ago
Zach Hilman
8f06a0f898
vfs_real: Add CreateFullPath to Create* operations
8 years ago
Zach Hilman
dda8ef11c7
control_metadata: Remove unnecessary reference to base file
8 years ago
Zach Hilman
149bda980a
romfs: Remove cyclic shared_ptr leak in romfs code
8 years ago
Zach Hilman
893447b6b0
registration: Update documentation and style
8 years ago
Zach Hilman
22bdddd6f0
nca_metadata: Remove unnecessary reference to base file
8 years ago
Zach Hilman
62e859c6c7
bis_factory: Create NAND dirs if they don't exist
8 years ago
Zach Hilman
f78a6e752f
qt: Use custom RawCopy with progress bar for installs
8 years ago
Zach Hilman
3b3c919e20
registration: Take RawCopy function as parameter
Instead of defaulting to VfsRawCopy
8 years ago
Zach Hilman
10812f8407
game_list: Populate control data from installed NAND
8 years ago
Zach Hilman
e5504a060d
registered_cache: Fix missing reading from yuzu_meta
8 years ago
Zach Hilman
167bfddafa
file_sys: Comply to style guidelines
8 years ago
Zach Hilman
bfb945c243
qt: Add 'Install to NAND' option to menu
Prompts for title type on NCA files.
8 years ago
Zach Hilman
b67e751ccb
game_list: Modify game list to scan installed titles
8 years ago
Zach Hilman
a91983b11c
file_sys: Add RegisteredCache
Manages NAND NCA get and install.
8 years ago
Zach Hilman
9aab787122
file_sys: Add support for parsing NCA metadata (CNMT)
8 years ago