Commit Graph

4450 Commits

Author SHA1 Message Date
Brett Lawson
0c45aa2d77 Fix issue with calling wakeupThreadNoLock without the lock. 2016-05-31 03:31:38 -07:00
James Benton
c5bb189af0 Revert back to using XOR of color buffer and depth buffer registers.
Games can reuse the same GPU memory for multiple buffers. For example
Amiibo Settings uses same BASE_256B for the TV and DRC screens which
have different {db,cb}_color_size.
2016-05-31 11:23:54 +01:00
James Benton
1652e92cb8 gx2_event: s{Static Global} instead of g{Static Global}. 2016-05-31 11:02:49 +01:00
Brett Lawson
9ca32023a5 Fixed possible race-condition in interrupt handling. 2016-05-31 02:22:07 -07:00
Brett Lawson
b50f6e8976 Clean up alarm handling code slighty.
Made the alarm triggering behaviour slightly more clear
by moving it out of a separate function.  We now update
the CPU alarms within the sAlarmLock just in case of races.
Lastly, we no longer update the CPU alarms after an alarm
is cancelled, since in the future our alarm update code can
just store the last CPU alarm that was set and only update
if the new alarm is sooner.  This will save some CPU.
2016-05-31 00:58:51 -07:00
Brett Lawson
18b467d2a3 Time periodic alarms next trigger based on their previous trigger. 2016-05-30 18:15:34 -07:00
James Benton
28bd0dc91c Fix be_wfunc_ptr returning none byteswapped address in operator. 2016-05-31 01:23:19 +01:00
James Benton
5449670485 OpenGL driver refactors. 2016-05-31 01:03:58 +01:00
Brett Lawson
19a31d3319 Fixing set_next_alarm and I/O Thread race condition. 2016-05-30 16:56:14 -07:00
Brett Lawson
3fa8944d24 Make tracing work again after recent cpu refactorings. 2016-05-30 16:12:58 -07:00
Brett Lawson
bca026b8f7 Merged ThreadState into cpu::Core.
This is because ThreadState no longer is thread-specific.
2016-05-30 14:38:10 -07:00
Brett Lawson
0d001b9965 Refactor the majority of CPU library to be a single style. 2016-05-30 13:47:46 -07:00
Brett Lawson
c4bbf220a2 Fix minor build issue that arose from merging betterfibers. 2016-05-30 12:14:32 -07:00
Brett Lawson
17ac0333e7 Remove the now-unneccessary wfunc_call state fetch function. 2016-05-30 12:06:04 -07:00
Brett Lawson
8041d3916b Improve CPU code isolation and fiber handling. 2016-05-30 12:05:30 -07:00
James Benton
f9fff95f41 Document some functions in coreinit. 2016-05-27 02:13:11 +01:00
James Benton
91dc2d857f Add copy conversion constructors between wfunc_ptr and be_wfunc_ptr. 2016-05-27 02:13:04 +01:00
James Benton
db65af604d Implement OSSetThreadCleanupCallback and OSSetThreadDeallocator. 2016-05-27 02:12:59 +01:00
James Benton
dd708e7425 Fix incorrect usage of findExport. 2016-05-27 01:22:50 +01:00
James Benton
565e21323e Update gfdtool to use excmd instead of docopt. 2016-05-26 22:51:07 +01:00
James Benton
45fb3daaad Fix cmake build. 2016-05-26 14:30:25 -07:00
James Benton
1e9677426e Remove old file from git. 2016-05-26 14:30:10 -07:00
James Benton
1384b24642 Use excmd instead of docopt. 2016-05-26 22:08:33 +01:00
James Benton
cf6bd34d5b Move log initialisation to log.cpp 2016-05-24 23:45:08 +01:00
James Benton
487df750db Begin the great refactoring of 2016. 2016-05-24 23:45:04 +01:00
James Benton
6ae55854b5 Use new Bitfield type for PM4 packet headers. 2016-05-24 22:29:28 +01:00
James Benton
476852d6b9 Use new Bitfield for pm4 EW / MW structs. 2016-05-24 22:23:06 +01:00
James Benton
2a5b4ea046 Fix usages of new bitfield registers. 2016-05-24 22:17:03 +01:00
James Benton
38651ce23e Fix gx2_draw. 2016-05-24 21:45:11 +01:00
James Benton
89c2677475 Fix CF_INST_TYPE. 2016-05-24 13:41:01 -07:00
James Benton
a4c206cf2c Update latte_registers_vgt to use new Bitfield class. 2016-05-24 21:27:28 +01:00
James Benton
5537cd7c88 Update latte_registers_sx to use new Bitfield class. 2016-05-24 21:17:15 +01:00
James Benton
4e9e266944 Update latte_registers_sq to use new Bitfield class. 2016-05-24 21:13:37 +01:00
James Benton
f37b45009f Fix some weird operator precedence compiler warnings. 2016-05-24 21:13:30 +01:00
James Benton
bdd8613bbf Update latte_registers_spi to use new Bitfield class. 2016-05-24 20:35:31 +01:00
James Benton
2569cf3e04 Update latte_registers_pa to use new Bitfield class. 2016-05-24 20:28:40 +01:00
James Benton
ece3408ded Update latte_registers_db to use new Bitfield class. 2016-05-24 20:28:16 +01:00
James Benton
a474208da6 Update latte_registers_cb to use new Bitfield class. 2016-05-23 21:13:49 +01:00
James Benton
7a80a9060d Use new Bitfield type for latte instructions. 2016-05-23 21:13:44 +01:00
James Benton
06eb78430a Add inline to Bitfield functions. 2016-05-23 20:13:39 +01:00
James Benton
8297e5968f Add Bitfield::Field bool specialisation to avoid compiler warnings. 2016-05-23 20:13:27 +01:00
James Benton
6139d7e4eb Add new bitfield class. 2016-05-23 20:13:20 +01:00
James Benton
cb6240fecd Fix cmake build. 2016-05-23 10:17:57 -07:00
James Benton
a5884ad76e Clean up some coreinit initialisation. 2016-05-23 15:12:38 +01:00
James Benton
14afcd28a0 Unify duplicated implementations of decodeSPR. 2016-05-23 12:32:17 +01:00
James Benton
772a0fda9d gpu/opengl: Recreate texture when any texture register is modified. 2016-05-23 12:32:17 +01:00
James Benton
ac53aa5634 Update asmjit. 2016-05-23 12:32:17 +01:00
Andrew Church
cf5b6c8989 Fix wrong operator (+ instead of <<) and unused-value warning. 2016-03-11 18:51:54 +09:00
Andrew Church
aa2ecb164a Avoid updateFPRF() template instantiations getting inlined and not being
available to other source files.
2016-03-11 18:51:46 +09:00
James Benton
c5ebd7e7d5 Add missing include 2016-02-23 12:09:38 +00:00