Age | Commit message (Collapse) | Author |
|
- Used by Breath of the Wild.
|
|
Use an approximated amortized amount of ticks when advancing timing.
|
|
scheduler: Make HaveReadyThreads() a const member function
|
|
Fixed a bunch of race conditions when running in multicore mode.
|
|
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
|
|
gl_shader_decompiler: Implement XMAD instruction.
|
|
We divide the number of ticks to add by the number of cores (4) to obtain a more or less rough estimate of the actual number of ticks added. This assumes that all 4 cores are doing similar work. Previously we were adding ~4 times the number of ticks, thus making the games think that time was going way too fast.
This lets us bypass certain hangs in some games like Breath of the Wild.
We should modify our CoreTiming to support multiple cores (both running in a single thread, and in multiple host threads).
|
|
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.
|
|
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
|
|
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
|
|
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
|
|
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.
|
|
|
|
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.
|
|
Makes it consistent with the other VFS interfaces and prevents implicit
construction.
|
|
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.
|
|
Fixed invalid cast in loader
|
|
cubeb_sink: Protect queue with a mutex
|
|
|
|
GetAudioDeviceServiceWithRevisionInfo (Used by Bloodstained: Curse of the Moon)
|
|
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
|
|
hid: Stub DisconnectNpad()
|
|
This function doesn't modify instance state, so the const qualifier can
be added to it.
|
|
These don't directly modify the contained data.
|
|
|
|
|
|
|
|
|
|
Don't emut copies, especially not for data, which is used once. They just end in a huge GPU overhead.
|
|
|
|
Please see https://github.com/citra-emu/citra/pull/3666 for more details.
|
|
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.
|
|
Prevents clang-format from butchering them.
|
|
This is required by ARMS.
|
|
|
|
|
|
|
|
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
|
|
Stub UpdateUserPresence
|
|
|
|
Needed for Retro City Rampage to go in game
|
|
GetMessageForResultStatus takes a u16, not a size_t.
|
|
Several Friend service fixes
|
|
core: Namespace EmuWindow
|
|
gl_rasterizer: Silence implicit truncation warning in SetupShaders()
|
|
GPU/Maxwell3D: Implemented an alternative set of blend factors.
|
|
RasterizerGL: Ignore invalid/unset vertex attributes.
|
|
These are used by nouveau and some games like SMO.
|
|
- Used by Go Vacation
|
|
This should make the es2gears example not crash anymore.
|