Commit graph

4506 commits

Author SHA1 Message Date
James Benton
5945e7e743 Split latte enum/registers across a few files. 2015-11-14 16:55:46 +00:00
Brett Lawson
b02e8e38a4 Why are we putting ourselves through this pain. 2015-11-14 00:16:05 -04:00
Brett Lawson
e505b9e28c Properly handle multiple setContextReg registers. 2015-11-13 23:05:12 -04:00
James Benton
1c081f2307 Enough registers to make a man go mad. 2015-11-14 00:19:57 +00:00
James Benton
cb661a1ada Fix pm4_writer buffer overrun handling. 2015-11-13 00:48:40 +00:00
James Benton
e9357b338d Make allocation of command buffer on non main gx2 core a no-op.
Seems like the WiiU would let this gracefully fail.
Should keep a close eye on this though.
2015-11-13 00:35:36 +00:00
James Benton
b1dee91f0d Make many broken things in to less broke things. 2015-11-13 00:35:31 +00:00
James Benton
282269b668 Complete implementation of GX2LoadState. 2015-11-12 23:58:05 +00:00
James Benton
411dc9a939 Implement proper display lists. 2015-11-12 23:48:46 +00:00
James Benton
c1dfbccca2 Move GX2 clear functions to their own file, gx2_clear 2015-11-12 23:48:39 +00:00
James Benton
caf20daf62 Fix oopsy. 2015-11-12 22:57:20 +00:00
James Benton
461be702a3 Add BlendConstantColorReg. 2015-11-12 22:57:07 +00:00
James Benton
5c0cc73f23 Implement GX2WaitTimeStamp.
Should work... But it's not the best implementation,
not sure if there is a better way yet.
2015-11-12 22:55:18 +00:00
James Benton
456829babf Not sure about this yet, might be useful. 2015-11-12 22:54:32 +00:00
James Benton
907afd813f I regret my decisions in life. 2015-11-12 00:21:51 +00:00
James Benton
431b31d1d9 Rename pm4::Register to latte::Register. 2015-11-11 23:00:23 +00:00
James Benton
aeb88dadac Change to use real register addresses. 2015-11-11 22:43:38 +00:00
James Benton
a868521c2f Start fleshing out this whole pm4 / gx2 / driver stuff. 2015-11-11 22:25:39 +00:00
Brett Lawson
afed81c38a Handle running out of space in the command buffer. 2015-11-10 23:23:35 -04:00
Brett Lawson
807271fa0d Correct a typo with the DrawIndexAuto method. 2015-11-10 22:42:45 -04:00
Brett Lawson
9a6613b7da Clean up PM4 building.
Also made the project build by fixing missing return values.
2015-11-10 22:08:19 -04:00
James Benton
fefad8d75d Start rewrite of GX2 module. 2015-11-11 01:10:58 +00:00
James Benton
d9e1f7def8 Start figuring out PM4. 2015-11-10 19:43:07 +00:00
James Benton
36ede5b2fd Fix sampler format. 2015-11-10 19:42:26 +00:00
James Benton
38c0d71a0e Fix vsync clock speed. 2015-11-10 19:42:25 +00:00
James Benton
57367b1d76 Bump spdlog version. 2015-11-10 19:30:31 +00:00
James Benton
a302969633 Revert "Only allocate descriptors for needed slots."
This reverts commit 14da835783.
2015-11-09 14:42:19 +00:00
Brett Lawson
40431deb47 Implement plenty more JIT floating point instructions.
Note that a few of them are CLOSE, but not perfectly emulating
the real CPU.
2015-11-05 01:48:25 -04:00
Brett Lawson
3f54e95767 Implement fsubs and fmr JIT instructions. 2015-11-05 01:12:19 -04:00
James Benton
813e421604 Use make_array to create a std::array from a list for coreinit_debug.. 2015-11-02 21:29:32 +00:00
James Benton
cac413fcd6 Use gsl::fail_fast in ghsExit. 2015-11-02 21:18:12 +00:00
James
529beb29bf Merge pull request #89 from lioncash/misc
coreinit_debug: Use std::array instead of std::vector for fixed tables
2015-11-02 21:16:31 +00:00
James
360d80987b Merge pull request #90 from lioncash/nullptr
Change some zero literals to nullptr
2015-11-02 21:16:19 +00:00
Brett Lawson
c8c651c62d Implement JIT for fdiv/fdivs instruction. 2015-11-02 02:05:13 -04:00
Brett Lawson
5cf93effa2 Implement JIT fmul instruction. 2015-11-02 01:54:26 -04:00
Brett Lawson
e55f5f1a1d Implement JIT for fmuls. 2015-11-02 01:53:11 -04:00
Brett Lawson
83a8e5e8e4 Implement JIT for fsub. 2015-11-02 01:41:32 -04:00
Brett Lawson
40a1ee05c9 Implement JIT versions for frsp. 2015-11-02 01:40:48 -04:00
Brett Lawson
5e7df01139 Ignore the sign bit of a NAN during hardware tests. 2015-11-02 01:39:52 -04:00
Brett Lawson
ca72554904 Disable JIT fallback for subtract operations. 2015-11-02 01:01:31 -04:00
Brett Lawson
f66f2fc123 Implement JIT for sraw/srawi instructions. 2015-11-02 00:56:11 -04:00
Lioncash
3f4675ebfd Change some zero literals to nullptr 2015-11-01 23:32:22 -05:00
Brett Lawson
1d3a9ce7ee Allow tracking and printing of fallback calls. 2015-11-02 00:14:53 -04:00
Lioncash
2975ea3244 coreinit_debug: Use std::array instead of std::vector for fixed tables 2015-11-01 23:14:44 -05:00
Brett Lawson
30ecacb6a4 A few JIT fixes.
Use r12 (non-volatile) instead of r10 for CoreState*.
Never fail to generate JIT blocks (use INT3 instead).
NESR now runs successfully under JIT.
2015-11-01 18:46:25 -04:00
Brett Lawson
1119f18015 Stack alignment is a pain in the butt. 2015-11-01 13:36:24 -04:00
Brett Lawson
c22185a9d0 Fix JIT arithmetic shift instructions. 2015-11-01 13:08:44 -04:00
Brett Lawson
722ed4c24a Fix bug with JIT cmp instruction. 2015-11-01 12:36:05 -04:00
Brett Lawson
ed8967a25e Fix bug with addicx JIT. 2015-11-01 12:35:54 -04:00
Brett Lawson
98835b4581 Merge pull request #88 from archshift/gm-time
Add make_gm_time helper function to platform_time
2015-10-31 00:28:07 -03:00