summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-12gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.bunnei
2018-08-12Pushed the requested sample rate instead of our fixed sample rateDavid Marcec
2018-08-12made ResultStatus a u16David Marcec
2018-08-12Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & ↵David Marcec
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
2018-08-12Merge pull request #1026 from ogniK5377/retro-city-rampagebunnei
Stub UpdateUserPresence
2018-08-12gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.bunnei
2018-08-12Stub UpdateUserPresenceDavid Marcec
Needed for Retro City Rampage to go in game
2018-08-12Fixed invalid cast in loaderDavid Marcec
GetMessageForResultStatus takes a u16, not a size_t.
2018-08-11Merge pull request #1022 from bunnei/fix-splatbunnei
Several Friend service fixes
2018-08-11Merge pull request #1020 from lioncash/namespacebunnei
core: Namespace EmuWindow
2018-08-11Merge pull request #1021 from lioncash/warnbunnei
gl_rasterizer: Silence implicit truncation warning in SetupShaders()
2018-08-11Merge pull request #1024 from Subv/blend_glbunnei
GPU/Maxwell3D: Implemented an alternative set of blend factors.
2018-08-11Merge pull request #1023 from Subv/invalid_attribsbunnei
RasterizerGL: Ignore invalid/unset vertex attributes.
2018-08-11GPU/Maxwell3D: Implemented an alternative set of blend factors.Subv
These are used by nouveau and some games like SMO.
2018-08-11Implement R8_UINT RenderTargetFormat & PixelFormat (#1014)greggameplayer
- Used by Go Vacation
2018-08-11RasterizerGL: Ignore invalid/unset vertex attributes.Subv
This should make the es2gears example not crash anymore.