Commit graph

20075 commits

Author SHA1 Message Date
bunnei 695beb8dcf Merge pull request #554 from lioncash/cp15
dyncom: Add more regs to MCR/MRC
2015-02-10 10:09:20 -05:00
Lioncash 3eccc66abf dyncom: Add more regs to MCR/MRC
Adds the registers that were left out of some coprocessor ranges.
2015-02-10 09:34:42 -05:00
Lioncash a86d5e2752 vfp: Normalize accumulator for multiply accumulate instructions 2015-02-10 08:16:26 -05:00
Tony Wasserka eb83ac48aa Merge pull request #543 from Alegend45/master
Add more blend equations from 3dbrew
2015-02-10 13:30:29 +01:00
bunnei dab0b5cefb Merge pull request #528 from kevinhartman/scheduling-logic
Scheduler refactor Pt. 1
2015-02-10 00:53:06 -05:00
Kevin Hartman 5fcbfc06eb Scheduler refactor Pt. 1
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid
for a thread at any given point in the system.
* Removes dead code from thread.cpp.
* Moves the implementation of resetting a ThreadContext to the corresponding core's implementation.

Other changes:
* Fixed comments in arm interfaces.
* Updated comments in thread.cpp
* Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp.
* Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
2015-02-09 21:47:12 -08:00
bunnei 848795f383 Merge pull request #551 from bunnei/mutex-fixes
Mutex/synch fixes
2015-02-09 22:17:20 -05:00
bunnei 1b0bf00cbc Mutex: Locks should be recursive. 2015-02-09 22:06:09 -05:00
bunnei caa58acc84 WaitSynch: Always reschedule (verified behavior on hw). 2015-02-09 22:05:39 -05:00
Darius Goad 536958fb29 Add more blend equations from 3dbrew 2015-02-09 20:41:06 -06:00
bunnei 837439e7d5 Merge pull request #550 from lioncash/ftoui
vfpdouble: Fix the FTOUI NaN sign setting
2015-02-09 21:01:07 -05:00
Lioncash 53fa04f326 vfpdouble: Fix the FTOUI NaN sign setting
This was fixed for vfpsingle, but not vfpdouble
2015-02-09 17:18:29 -05:00
bunnei 7dfdbe22de Merge pull request #549 from lioncash/tossed
Throw more unused/unnecessary VFP code out
2015-02-09 13:14:52 -05:00
Lioncash a734e9fdca Throw more unused/unnecessary VFP code out 2015-02-09 11:54:39 -05:00
bunnei 7cc24562b4 Merge pull request #548 from lioncash/nits
Cleanup related to vfp_helper.
2015-02-09 11:20:46 -05:00
Lioncash ca7babe062 vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff 2015-02-09 09:53:17 -05:00
Lioncash d832c48864 vfp_helper: Normalize tabs to spaces 2015-02-09 09:32:56 -05:00
Tony Wasserka 4154560bd5 Merge pull request #545 from yuriks/patch-1
Appveyor: Do x64 builds
2015-02-08 16:29:31 +01:00
Yuri Kunde Schlesner 6638bf3b9b Appveyor: Adjust clone depth settings
The submodule update was doing a full clone. Also increase clone depth a
bit, since it can apparently cause issues checking out the source if
there are too many concurrent PRs trying to build (causing the commit
for the build to not be the top one on the repository anymore).
2015-02-08 13:00:05 -02:00
Yuri Kunde Schlesner 689d80e077 Appveyor: Do x64 builds 2015-02-08 12:57:35 -02:00
bunnei 126c8257b4 Merge pull request #542 from chinhodado/patch-1
Fix a wrong file name in a comment
2015-02-07 22:26:09 -05:00
purpasmart96 60ce36f721 Services: Stub some functions 2015-02-07 17:34:59 -08:00
chinhodado 34cce345a7 Fix a wrong file name in a comment 2015-02-07 00:37:06 -05:00
bunnei c4e636681e Merge pull request #541 from lioncash/nits
Small VFP cleanups.
2015-02-06 15:29:47 -05:00
Lioncash 1ecd75ea1a vfp_helper: Remove unnecessary extern C blocks 2015-02-06 14:52:29 -05:00
Lioncash 3e576219c4 vfp: Move FPSID, FPEXC, and FPSCR values over to enums.
Also got rid of duplicate definitions of some of these values.
2015-02-06 14:52:05 -05:00
Tony Wasserka 1576a318f2 Merge pull request #535 from bunnei/color-modifiers
Implement color/alpha modifiers
2015-02-05 16:07:37 +01:00
bunnei 1eb591d6fd Rasterizer: Implement the other color and alpha modifiers. 2015-02-04 22:15:51 -05:00
bunnei 8c93a28fed VideoCore: Added same-component swizzlers to math utility functions. 2015-02-04 22:15:44 -05:00
bunnei 7f900ac68e Merge pull request #537 from lioncash/vfp
vfp: Fix VCVT
2015-02-04 14:58:36 -05:00
bunnei 4d36a6a255 Merge pull request #536 from lioncash/dead
vfp: Throw out unused code
2015-02-04 14:57:00 -05:00
Lioncash 82e8f25fe7 vfp: Fix VCVT
These variants exclusively read from the single precision regs and write to double-precision registers
Fixes issues where converted values would be way off from what they should be due to the results being stored in the wrong registers.
2015-02-04 14:06:10 -05:00
Lioncash 7ecedfb970 vfp: Throw out unused code 2015-02-04 13:11:03 -05:00
Tony Wasserka a45175ee0d Merge pull request #534 from neobrain/disassembler-improvements
Disassembler improvements
2015-02-03 22:12:17 +01:00
Tony Wasserka 5a90420c0b citra-qt: Fix horrible scrolling responsiveness in disassembler by giving the uniformRowHeight hint. 2015-02-03 21:11:50 +01:00
Tony Wasserka 79713d500b citra-qt: Fix a crash when double-clicking a disassembler list item. 2015-02-03 21:11:49 +01:00
bunnei c8103127d7 Merge pull request #533 from lioncash/unused
dyncom: Remove more unnecessary code
2015-02-03 15:02:10 -05:00
Lioncash 3a5a39c6aa dyncom: Remove more unnecessary code 2015-02-03 14:05:53 -05:00
bunnei a9b3f29b90 Merge pull request #483 from yuriks/cmake-fix
CMake: Inform the user when architecture auto-detection fails
2015-02-03 12:42:46 -05:00
bunnei d64c836369 Merge pull request #532 from lioncash/warn
core: Fix some warnings on OSX
2015-02-03 12:40:16 -05:00
Lioncash 676daef3c7 core: Fix some warnings on OSX 2015-02-03 08:14:42 -05:00
bunnei 7f730ed158 Merge pull request #523 from yuriks/kernel-lifetime5
Kernel Lifetime Reform Pt. 5: The Reckoning
2015-02-02 13:04:04 -05:00
Yuri Kunde Schlesner 88a4a808c6 Kernel: Stop creating useless Handles during object creation
They're finally unnecessary, and will stop cluttering the application's
handle table.
2015-02-02 15:37:09 -02:00
Yuri Kunde Schlesner 52f58e64ef Kernel: Make WaitObjects share ownership of Threads waiting on them
During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.

If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.

The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.)
2015-02-02 15:37:08 -02:00
Yuri Kunde Schlesner 7725256f64 Explicitly instantiate constructors/destructors for Kernel objects
This should speed up compile times a bit, as well as enable more liberal
use of forward declarations. (Due to SharedPtr not trying to emit the
destructor anymore.)
2015-02-02 15:37:07 -02:00
Yuri Kunde Schlesner 12232e0b08 Update boost external 2015-02-02 15:37:06 -02:00
Yuri Kunde Schlesner 4e84df8be3 Mutex: Replace g_mutex_held_locks with a set inside Thread 2015-02-02 15:37:06 -02:00
Yuri Kunde Schlesner 0f69668fc6 HID: Fix crash when pressing a key when the emulator is stopped 2015-02-02 15:37:05 -02:00
Yuri Kunde Schlesner c4208c1171 SVC: Enable CloseHandle, clean up DuplicateHandle 2015-02-02 15:37:04 -02:00
Yuri Kunde Schlesner e8330dd162 Kernel: Fix bug in HandleTable::Close 2015-02-02 15:37:04 -02:00