Commit Graph

5622 Commits

Author SHA1 Message Date
3e456cd3fe Common: Fix 2 implicit conversion warnings in CityHash 2018-01-15 13:43:37 -08:00
712e6ee960 Common: Remove CityHash32 and CityHashCrc128 variants
In 64-bit systems, CityHash64 is always strictly better than CityHash32.
CityHashCrc128 requires SSE 4.2.
2018-01-15 13:43:37 -08:00
f081388afe Common: Adapt CityHash code to match our codebase better
- Use #pragma once instead of guards
- Move header typedefs to implementation file
- Enclose in Common namespace
2018-01-15 13:43:37 -08:00
d93ee65164 Common: Add convenience function for hashing a struct 2018-01-15 13:43:37 -08:00
7f77820460 Common: Replace MurmurHash3 with CityHash64
CityHash64 is faster than Murmur3 at all sizes, but especially for short
keys.
2018-01-15 01:11:11 -08:00
79dca3d67a Merge pull request #3373 from linkmauve/better-sdl-errors
Print the actual error preventing SDL from working
2018-01-13 21:05:19 +00:00
c361dad7d2 Citra: Print the actual error preventing SDL from working 2018-01-13 21:41:51 +01:00
9b647d459b Merge pull request #3324 from Subv/gspgpu
Services: Keep track of per-session data in GSPGPU
2018-01-11 20:03:46 +02:00
2e41810608 Merge pull request #3333 from Senjosei/pause-coreerror
citra_qt: Pause emulation on CoreError
2018-01-10 12:16:51 -05:00
80025792d6 Merge pull request #3352 from linkmauve/no-dynarmic
Tie dynarmic to ARCHITECTURE_x86_64
2018-01-08 22:43:03 +00:00
7f9fae5f7c Telemetry: Disable CPU detection on ¬x86_64 2018-01-08 19:21:21 +01:00
e5a3dc2956 Core: Disable the JIT when dynarmic is not available 2018-01-08 19:13:58 +01:00
2cd2a7491c CMakeLists: Disable dynarmic on ¬x86_64 2018-01-08 17:58:00 +01:00
6773546d5c CMakeLists: Disable architecture checks with -DENABLE_GENERIC=1 2018-01-08 17:54:37 +01:00
34685f48dc GSP: Allow the signaling of the PDC0/1 interrupts even if the GPU right hasn't been acquired.
This was verified with a hwtest.
2018-01-06 13:51:33 -05:00
a66e4585a0 Merge pull request #3304 from wwylele/hid-new-framework
HID: convert to ServiceFramework
2018-01-04 11:04:57 +02:00
aa90198ec5 Services: Make SessionDataBase's destructor virtual. 2018-01-03 10:52:46 -05:00
b4471aafa2 Merge pull request #3043 from MerryMage/appveyor
appveyor: Determine dlls to include in package programmatically
2018-01-02 21:27:59 -08:00
41929371dc Optimize AttributeBuffer to OutputVertex conversion (#3283)
Optimize AttributeBuffer to OutputVertex conversion

First I unrolled the inner loop, then I pushed semantics validation
outside of the hotloop.

I also added overflow slots to avoid conditional branches.

Super Mario 3D Land's intro runs at almost full speed when compiled with
Clang, and theres a noticible speed increase in MSVC. GCC hasn't been
tested but I'm confident in its ability to optimize this code.
2018-01-02 15:32:33 -08:00
75f68c4860 Services/GSP: Mark the thread ids as unused when a GSP session is destroyed.
This fixes the games that call RegisterInterruptRelayQueue and UnregisterInterruptRelayQueue frequently.
2018-01-02 12:10:58 -05:00
d17f148e48 Services/GSP: Assign a thread id to each connected session when the session is created.
Most applications call AcquireRight before calling RegisterInterruptRelayQueue so we can't assign the thread id there.
This fixes the bug with LLE applets not launching properly.
2018-01-02 12:07:26 -05:00
3f7f2b42c0 Merge pull request #3257 from tgsm/y2r-ipc
y2r: convert some functions to use IPC helper
2018-01-02 12:55:56 +02:00
337e9e12eb Merge pull request #3335 from mailwl/citra-sdl-small-fix
citra(SDL) small fixes: fix fall-through
2018-01-01 21:00:10 -08:00
ee779a5a4d y2r: convert some functions to use IPC helper 2018-01-01 22:46:34 -05:00
e203c10cc2 Merge pull request #3336 from PizzicatoWolf/qt-layout-fixes
citra_qt: Resized main config window
2017-12-31 21:17:25 +00:00
743c247f46 Merge pull request #3338 from wwylele/resource-limit-fix
Kernel/SVC: fix typo in GetResourceLimitLimitValues
2017-12-31 08:56:02 +02:00
7daa2a51d7 Kernel/SVC: fix typo in GetResourceLimitLimitValues 2017-12-30 23:42:32 +02:00
8fa160395b Revert index change 2017-12-30 14:51:45 +10:30
e0e4b70f6a Resized main config window 2017-12-30 14:10:05 +10:30
f93d656e53 citra(SDL) small fixes: fix fall-through, remove u16 'always true' compare 2017-12-29 21:04:10 +03:00
fb72a9d9fa Fixed clang whitespace 2017-12-29 06:31:18 +11:00
f17600db1a Moved when to pause because it wasnt fast enough 2017-12-29 06:17:21 +11:00
bbe6c8890c Pause emulation OnCoreError 2017-12-29 06:15:59 +11:00
fbef978b98 GSP: Return the correct result code if AcquireRight is called multiple times from the same thread. 2017-12-24 12:15:01 -05:00
68fc3b36e6 HLE/GSP: Only trigger GSP interrupts for the current active GSP thread.
This is true for all interrupts except PDC0 and PDC1, which should be triggered for all registered threads.

TODO: The real GSP module seems to only trigger PDC0 after updating the screens (both top and bottom). PDC1 doesn't seem to be triggered at all.
2017-12-24 12:15:00 -05:00
05a44ed353 HLE/GSP: Keep track of the thread that currently has the GPU right.
This thread is the only one for which the GSP interrupts should be signaled, except for the PDC0/1 interrupts.
2017-12-24 12:14:59 -05:00
aabb07cca4 HLE/GSP: Make RegisterInterruptRelayQueue work in a per-session basis.
The registered interrupt event is unique to each session that calls RegisterInterruptRelayQueue, and only that event should be reset when UnregisterInterruptRelayQueue is called.
2017-12-24 12:14:58 -05:00
c3c684cd2b Merge pull request #3301 from Subv/exitprocess2
Kernel/SVC: Partially implemented svcExitProcess.
2017-12-23 10:49:36 -05:00
f2e1160601 Merge pull request #3326 from wwylele/cmake-gen
cmake: add missing ${...} for variables inside generator expressions
2017-12-22 22:25:42 -08:00
80ed0f03ac cmake: add missing ${...} for variables inside generator expressions 2017-12-23 03:00:15 +02:00
bf23f8d542 HID: convert to ServiceFramework 2017-12-22 12:41:41 +02:00
ae42267cc7 Merge pull request #3307 from Subv/gsp_new_frame
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00
3652809408 HLE: Convert GSP_GPU to ServiceFramework.
The only functional change is the error handling of GSP_GPU::ReadHWRegs function. We previously didn't return error codes (not even for success). The new returns were found by reverse engineering the GSP module.
2017-12-21 10:30:22 -05:00
c143a5a3a6 Merge pull request #3318 from MerryMage/gdb_stub_
gdbstub: Correct typo
2017-12-20 15:05:37 -05:00
19814d68c1 gdbstub: Correct typo
Constructing and destructing a Core::System instance for the
GetInstance() call isn't the smartest thing to do.
2017-12-20 18:47:06 +00:00
c6293d7357 Merge pull request #3312 from lioncash/qt5-connect
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
2017-12-19 14:24:39 +00:00
3f37976fd3 Merge pull request #3309 from wwylele/cro-session-slot
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-18 18:22:39 +00:00
32b2d5bdfe Merge pull request #3253 from lioncash/mic-ipc
mic_u: Migrate to the new service framework
2017-12-18 14:34:47 +00:00
a73f135868 citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
This is more type-safe than the string-based signal/slot syntax that was
being used. It also makes the connections throughout the UI code consistent.
2017-12-17 18:44:48 -05:00
4c3a4ab664 Merge pull request #3306 from lioncash/qt4
citra_qt: Drop Qt 5 version checks in code
2017-12-17 12:08:21 +02:00