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 +07:00
bunnei
848795f383
Merge pull request #551 from bunnei/mutex-fixes
...
Mutex/synch fixes
2015-02-09 22:17:20 +07:00
bunnei
1b0bf00cbc
Mutex: Locks should be recursive.
2015-02-09 22:06:09 +07:00
bunnei
caa58acc84
WaitSynch: Always reschedule (verified behavior on hw).
2015-02-09 22:05:39 +07:00
Darius Goad
536958fb29
Add more blend equations from 3dbrew
2015-02-09 20:41:06 +07:00
bunnei
837439e7d5
Merge pull request #550 from lioncash/ftoui
...
vfpdouble: Fix the FTOUI NaN sign setting
2015-02-09 21:01:07 +07:00
Lioncash
53fa04f326
vfpdouble: Fix the FTOUI NaN sign setting
...
This was fixed for vfpsingle, but not vfpdouble
2015-02-09 17:18:29 +07:00
bunnei
7dfdbe22de
Merge pull request #549 from lioncash/tossed
...
Throw more unused/unnecessary VFP code out
2015-02-09 13:14:52 +07:00
Lioncash
a734e9fdca
Throw more unused/unnecessary VFP code out
2015-02-09 11:54:39 +07:00
bunnei
7cc24562b4
Merge pull request #548 from lioncash/nits
...
Cleanup related to vfp_helper.
2015-02-09 11:20:46 +07:00
Lioncash
ca7babe062
vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff
2015-02-09 09:53:17 +07:00
Lioncash
d832c48864
vfp_helper: Normalize tabs to spaces
2015-02-09 09:32:56 +07:00
Tony Wasserka
4154560bd5
Merge pull request #545 from yuriks/patch-1
...
Appveyor: Do x64 builds
2015-02-08 16:29:31 +07: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 +07:00
Yuri Kunde Schlesner
689d80e077
Appveyor: Do x64 builds
2015-02-08 12:57:35 +07: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 +07:00
purpasmart96
60ce36f721
Services: Stub some functions
2015-02-07 17:34:59 +07:00
chinhodado
34cce345a7
Fix a wrong file name in a comment
2015-02-07 00:37:06 +07:00
bunnei
c4e636681e
Merge pull request #541 from lioncash/nits
...
Small VFP cleanups.
2015-02-06 15:29:47 +07:00
Lioncash
1ecd75ea1a
vfp_helper: Remove unnecessary extern C blocks
2015-02-06 14:52:29 +07: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 +07:00
Tony Wasserka
1576a318f2
Merge pull request #535 from bunnei/color-modifiers
...
Implement color/alpha modifiers
2015-02-05 16:07:37 +07:00
bunnei
1eb591d6fd
Rasterizer: Implement the other color and alpha modifiers.
2015-02-04 22:15:51 +07:00
bunnei
8c93a28fed
VideoCore: Added same-component swizzlers to math utility functions.
2015-02-04 22:15:44 +07:00
bunnei
7f900ac68e
Merge pull request #537 from lioncash/vfp
...
vfp: Fix VCVT
2015-02-04 14:58:36 +07:00
bunnei
4d36a6a255
Merge pull request #536 from lioncash/dead
...
vfp: Throw out unused code
2015-02-04 14:57:00 +07: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 +07:00
Lioncash
7ecedfb970
vfp: Throw out unused code
2015-02-04 13:11:03 +07:00
Tony Wasserka
a45175ee0d
Merge pull request #534 from neobrain/disassembler-improvements
...
Disassembler improvements
2015-02-03 22:12:17 +07:00
Tony Wasserka
5a90420c0b
citra-qt: Fix horrible scrolling responsiveness in disassembler by giving the uniformRowHeight hint.
2015-02-03 21:11:50 +07:00
Tony Wasserka
79713d500b
citra-qt: Fix a crash when double-clicking a disassembler list item.
2015-02-03 21:11:49 +07:00
bunnei
c8103127d7
Merge pull request #533 from lioncash/unused
...
dyncom: Remove more unnecessary code
2015-02-03 15:02:10 +07:00
Lioncash
3a5a39c6aa
dyncom: Remove more unnecessary code
2015-02-03 14:05:53 +07: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 +07:00
bunnei
d64c836369
Merge pull request #532 from lioncash/warn
...
core: Fix some warnings on OSX
2015-02-03 12:40:16 +07:00
Lioncash
676daef3c7
core: Fix some warnings on OSX
2015-02-03 08:14:42 +07:00
bunnei
7f730ed158
Merge pull request #523 from yuriks/kernel-lifetime5
...
Kernel Lifetime Reform Pt. 5: The Reckoning
2015-02-02 13:04:04 +07: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 +07: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 +07: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 +07:00
Yuri Kunde Schlesner
12232e0b08
Update boost external
2015-02-02 15:37:06 +07:00
Yuri Kunde Schlesner
4e84df8be3
Mutex: Replace g_mutex_held_locks with a set inside Thread
2015-02-02 15:37:06 +07:00
Yuri Kunde Schlesner
0f69668fc6
HID: Fix crash when pressing a key when the emulator is stopped
2015-02-02 15:37:05 +07:00
Yuri Kunde Schlesner
c4208c1171
SVC: Enable CloseHandle, clean up DuplicateHandle
2015-02-02 15:37:04 +07:00
Yuri Kunde Schlesner
e8330dd162
Kernel: Fix bug in HandleTable::Close
2015-02-02 15:37:04 +07:00
Yuri Kunde Schlesner
5354a479bc
Kernel: Remove Object::GetHandle (it's not used anymore :D)
2015-02-02 15:37:04 +07:00
Yuri Kunde Schlesner
869ec46683
Kernel: Introduce unique Object ids for debugging
2015-02-02 15:37:03 +07:00
Yuri Kunde Schlesner
a9b86db3cf
Kernel: Use separate Handle tables for CoreTiming userdata
...
This is to support the removal of GetHandle soon
2015-02-02 15:37:03 +07:00
Yuri Kunde Schlesner
ec9c773251
Kernel: Remove previous scheduled event when a Timer is re-Set
2015-02-02 15:37:02 +07:00
Yuri Kunde Schlesner
8441591659
FS: Remove use of GetHandle
2015-02-02 15:37:01 +07:00