summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-08-14common/telemetry: Migrate core-independent info gathering to commonLioncash
Previously core itself was the library containing the code to gather common information (build info, CPU info, and OS info), however all of this isn't core-dependent and can be moved to the common code and use the common interfaces. We can then just call those functions from the core instead. This will allow replacing our CPU detection with Xbyak's which has better detection facilities than ours. It also keeps more architecture-dependent code in common instead of core.
2018-08-14Merge pull request #1055 from lioncash/initbunnei
audout_u: Correct IAudioOut initializer list order
2018-08-14Merge pull request #1058 from greggameplayer/BC7U_Fixbunnei
Fix BC7U
2018-08-14Merge pull request #1050 from bunnei/rgba16-unormbunnei
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
2018-08-13logging/backend: Use const reference to refer to log filterLioncash
The filter is returned via const reference, so this was making a pointless copy of the entire filter every time a message was being pushed into the logger instance.
2018-08-14Fix BC7Ugreggameplayer
2018-08-13Merge pull request #1046 from ogniK5377/missing-channelsMat M
Added missing channel devices
2018-08-13audout_u: Correct IAudioOut initializer list orderLioncash
Orders elements in the precise order they'll be initialized.
2018-08-13renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.bunnei
- Used by Breath of the Wild.
2018-08-13Merge pull request #1052 from ogniK5377/xenobunnei
Implement RG32UI and R32UI
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-13Implement RG32UI and R32UIDavid Marcec
Needed for xenoblade
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-13Registered missing channel devicesDavid Marcec
2018-08-13Added missing channel devicesDavid Marcec
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()