- Aug 13, 2018
-
-
Mat M authored
Added missing channel devices
-
bunnei authored
Implement RG32UI and R32UI
-
bunnei authored
audio_core: Interpolate
-
bunnei authored
arm_dynarmic: Remove IsExecuting check from PrepareReschedule
-
Mat M authored
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
-
MerryMage authored
No longer required. HaltExecution is a no-op if it is not currently executing.
-
David Marcec authored
Needed for xenoblade
-
MerryMage authored
-
MerryMage authored
-
MerryMage authored
-
bunnei authored
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
-
bunnei authored
card_image: Simplify return statement of GetSubdirectories()
-
bunnei authored
kernel/object: Tighten object against data races
-
bunnei authored
- Used by Breath of the Wild.
-
bunnei authored
renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
-
Lioncash authored
Despite being covered by a global mutex, we should still ensure that the class handles its reference counts properly. This avoids potential shenanigans when it comes to data races. Given this is the root object that drives quite a bit of the kernel object hierarchy, ensuring we always have the correct behavior (and no races) is a good thing.
-
bunnei authored
- Used by Breath of the Wild.
-
bunnei authored
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
-
David Marcec authored
-
David Marcec authored
-
bunnei authored
maxwell_to_gl: Implement PrimitiveTopology::LineStrip.
-
bunnei authored
- Used by Breath of the Wild.
-
bunnei authored
- Used by Breath of the Wild.
-
bunnei authored
Use an approximated amortized amount of ticks when advancing timing.
-
bunnei authored
scheduler: Make HaveReadyThreads() a const member function
-
bunnei authored
Fixed a bunch of race conditions when running in multicore mode.
-
bunnei authored
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
-
bunnei authored
gl_shader_decompiler: Implement XMAD instruction.
-
Subv authored
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).
-
Subv authored
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.
-
- Aug 12, 2018
-
-
Subv authored
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
-
Subv authored
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
-
Subv authored
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
-
Subv authored
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.
-
bunnei authored
vfs: Make type hierarchy objects classes instead of structs
-
bunnei authored
-
Subv authored
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.
-
Lioncash authored
Makes it consistent with the other VFS interfaces and prevents implicit construction.
-
Lioncash authored
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.
-
bunnei authored
Fixed invalid cast in loader
-