summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-08-13Merge pull request #1033 from MerryMage/interpbunnei
audio_core: Interpolate
2018-08-13Merge pull request #1053 from MerryMage/rm-IsExecutingbunnei
arm_dynarmic: Remove IsExecuting check from PrepareReschedule
2018-08-13Merge pull request #1049 from bunnei/vtx-size-8Mat M
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
2018-08-13arm_dynarmic: Remove IsExecuting check from PrepareRescheduleMerryMage
No longer required. HaltExecution is a no-op if it is not currently executing.
2018-08-13audio_renderer: samples_remaining counts frames, not samplesMerryMage
2018-08-13audio_core: InterpolateMerryMage
2018-08-13audio_core: Implement low-pass filterMerryMage
2018-08-13Merge pull request #1032 from lioncash/sanitizebunnei
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
2018-08-13Merge pull request #1031 from lioncash/verbositybunnei
card_image: Simplify return statement of GetSubdirectories()
2018-08-13Merge pull request #1048 from lioncash/atomicbunnei
kernel/object: Tighten object against data races
2018-08-13maxwell_to_gl: Implement VertexAttribute::Size::Size_8.bunnei
- Used by Breath of the Wild.
2018-08-13kernel/object: Tighten object against data racesLioncash
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.
2018-08-13renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.bunnei
- Used by Breath of the Wild.
2018-08-13Merge pull request #1045 from bunnei/rg8-unormbunnei
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
2018-08-12maxwell_to_gl: Implement PrimitiveTopology::LineStrip.bunnei
- Used by Breath of the Wild.
2018-08-12renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.bunnei
- Used by Breath of the Wild.
2018-08-12Merge pull request #1043 from Subv/timingbunnei
Use an approximated amortized amount of ticks when advancing timing.
2018-08-12Merge pull request #1036 from lioncash/threadbunnei
scheduler: Make HaveReadyThreads() a const member function
2018-08-12Merge pull request #1042 from Subv/racesbunnei
Fixed a bunch of race conditions when running in multicore mode.
2018-08-12Merge pull request #1041 from Subv/duplicated_mutexbunnei
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
2018-08-12Merge pull request #1040 from bunnei/xmadbunnei
gl_shader_decompiler: Implement XMAD instruction.
2018-08-12CPU/Timing: Use an approximated amortized amount of ticks when advancing timing.Subv
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).
2018-08-12Kernel/SVC: Don't reschedule the current core when creating a new thread.Subv
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.
2018-08-12Core/HLE: Make the 'reschedule_pending' flag atomic.Subv
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
2018-08-12CPU/HLE: Lock the HLE mutex before performing a reschedule.Subv
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
2018-08-12Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.Subv
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
2018-08-12Kernel/Thread: Always use the threadsafe option when scheduling wakeups.Subv
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.
2018-08-12gl_shader_decompiler: Implement XMAD instruction.bunnei
2018-08-12Kernel/Mutex: Don't duplicate threads in the mutex waiter list.Subv
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.
2018-08-12vfs: Make VfsFilesystem constructor explicitLioncash
Makes it consistent with the other VFS interfaces and prevents implicit construction.
2018-08-12vfs: Make type hierarchy objects classes instead of structsLioncash
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.
2018-08-12Merge pull request #1025 from ogniK5377/bad-castbunnei
Fixed invalid cast in loader
2018-08-12Merge pull request #1038 from MerryMage/lock-cubebbunnei
cubeb_sink: Protect queue with a mutex
2018-08-12cubeb_sink: Protect queue with a mutexMerryMage
2018-08-12Merge pull request #1035 from ogniK5377/audio-dev-revision-infobunnei
GetAudioDeviceServiceWithRevisionInfo (Used by Bloodstained: Curse of the Moon)
2018-08-12Merge pull request #1028 from ogniK5377/aoabunnei
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
2018-08-12Merge pull request #1034 from lioncash/hidbunnei
hid: Stub DisconnectNpad()
2018-08-12scheduler: Make HaveReadyThreads() a const member functionLioncash
This function doesn't modify instance state, so the const qualifier can be added to it.
2018-08-12thread_queue_list: Make contains() and get_first() const member functionsLioncash
These don't directly modify the contained data.
2018-08-12thread_queue_list: Convert typedef to a type aliasLioncash
2018-08-12gl_rasterizer: Use a shared helper to upload from CPU memory.Markus Wick
2018-08-12gl_state: Don't track constant buffer mappings.Markus Wick
2018-08-12gl_rasterizer: Use the stream buffer for constant buffers.Markus Wick
2018-08-12gl_rasterizer: Use the streaming buffer itself for the constant buffer.Markus Wick
Don't emut copies, especially not for data, which is used once. They just end in a huge GPU overhead.
2018-08-12gl_rasterizer: Use a helper for aligning the buffer.Markus Wick
2018-08-12Update the stream_buffer helper from Citra.Markus Wick
Please see https://github.com/citra-emu/citra/pull/3666 for more details.
2018-08-12GetAudioDeviceServiceWithRevisionInfoDavid Marcec
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.
2018-08-12hid: disable clang-format around tablesLioncash
Prevents clang-format from butchering them.
2018-08-12hid: Stub DisconnectNpad()Lioncash
This is required by ARMS.
2018-08-12vfs: Use sanitized paths within MoveFile() and MoveDirectory()Lioncash
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.