Commit graph

5989 commits

Author SHA1 Message Date
Ben Vanik
76ca76bb67 Disabling hole filling in the SDB.
This was required when the AOT CPU was built, but isn't needed now.
2013-10-14 00:39:13 -07:00
Ben Vanik
602ed5393e vspltisb/ldarx/stdcx.
ldarx/stdcx are just as faked as the w equivalents.
2013-10-14 00:13:40 -07:00
Ben Vanik
72b54cfe2a Fixing recursion branches. 2013-10-13 22:59:19 -07:00
Ben Vanik
b28c51271d A bunch of disasm instructions used by some games. 2013-10-13 22:53:33 -07:00
Ben Vanik
e0701905dd Dummy values that games seem to want. 2013-10-13 22:25:23 -07:00
Ben Vanik
2eed0b1575 Fixing wraparound.
This still needs a tremendous amount of cleanup.
2013-10-13 21:18:23 -07:00
Ben Vanik
4887234bba Fixing ring buffer wrap around. I think. 2013-10-13 13:39:46 -07:00
Ben Vanik
e0af361d74 Preventing (one of likely many) race condition with ringbuffer.
This was causing acks for commands not executed if the CPU ran faster
than the GPU.
2013-10-13 12:17:07 -07:00
Ben Vanik
41a652dd03 Manual reset was not the solution. Bah. 2013-10-13 12:09:25 -07:00
Ben Vanik
f49e35636d Fixing uninitialized members.
Wish VC++ warned about this line clang does...
2013-10-13 11:14:46 -07:00
Ben Vanik
c6d779920d Switch ring buffer wait event to manual reset.
Avoids timing issues with kicks.
2013-10-13 11:06:45 -07:00
Ben Vanik
fa4c7cdd83 Wait until the ringbuffer thread is spun up.
This could be made much nicer.
2013-10-13 11:06:29 -07:00
Ben Vanik
cc12f0b96a Periodically fire interrupts. 2013-10-13 11:06:13 -07:00
Ben Vanik
96a857e892 Massively disgusting and incomplete shader translator. 2013-10-12 22:14:23 -07:00
Ben Vanik
0ef278325f Hacking to get first triangle drawn. 2013-10-12 15:07:34 -07:00
Ben Vanik
83d7523da1 Fixing lvrx. 2013-10-12 15:06:16 -07:00
Ben Vanik
d46069cd47 Various tweaks from gibbed. 2013-10-12 10:57:01 -07:00
Ben Vanik
51b79cb399 Minor fixes. 2013-10-12 03:02:39 -07:00
Ben Vanik
8e01e2d945 Vertex fetching. 2013-10-12 02:29:01 -07:00
Ben Vanik
04aad708c9 Shader type read for translation. 2013-10-11 22:04:34 -07:00
Ben Vanik
1378fad3c0 Basic shader cache. 2013-10-11 21:45:20 -07:00
Ben Vanik
6e4fb87992 D3D11 window up and spinning. 2013-10-11 20:23:58 -07:00
Ben Vanik
611d3bbbeb Adding in D3D11 GPU skeleton. 2013-10-09 23:18:22 -07:00
Ben Vanik
8558176ee0 Cleaning up the ucode disassembler. 2013-10-09 22:50:44 -07:00
Ben Vanik
14bf4912d1 Fixing CF decode. 2013-10-09 21:15:23 -07:00
Ben Vanik
7b97d475c2 Hacked in shader disassembler.
Checking this in before I break it. Has tons of issues.
Turns out the 360 GPU uses an Adreno (rAdeon)-like r2xx shader format.
VC++'s handling of bitfields is absolutely terrible.
2013-10-09 20:28:35 -07:00
Ben Vanik
17be429244 Microcode disassembler skeleton. 2013-10-07 19:58:24 -07:00
Ben Vanik
651954ccae Starting to drive command buffer actions down to a graphics driver. 2013-10-06 21:09:58 -07:00
Ben Vanik
371075f154 More GPU decoding. 2013-10-06 19:22:02 -07:00
Ben Vanik
99bde2d67e Fixing terrible vsldoi implementation. Still terrible. 2013-10-06 17:45:59 -07:00
Ben Vanik
87481f5f4c Fixing vperm. 2013-10-06 16:25:41 -07:00
Ben Vanik
b77403e754 Fixing lvsl/lvsr. 2013-10-06 16:25:23 -07:00
Ben Vanik
74692232c9 Add trace thread mask.
Makes seeing only thread 1 easier.
2013-10-06 14:35:03 -07:00
Ben Vanik
1fecb95512 Switching altivec disasm to die on failure. 2013-10-06 12:35:24 -07:00
Ben Vanik
debf21437e Untested emulated stvlx/stvrx. 2013-10-06 11:22:35 -07:00
Ben Vanik
e5ca996a08 Xmm read/write cleanup. 2013-10-06 11:21:50 -07:00
Ben Vanik
9ebbc3535f vsldoi. 2013-10-06 11:21:38 -07:00
Ben Vanik
cdb13775e2 Alignment option in xmm read/write. 2013-10-06 10:25:41 -07:00
Ben Vanik
26e22e2b16 Untested and nasty emulated vperm. 2013-10-06 10:25:30 -07:00
Ben Vanik
2b798df631 lvsl/lvsr/lvlx/lvrx 2013-10-06 09:48:42 -07:00
Ben Vanik
e8429b75e0 Significantly faster byte swapping on xmm read/write. 2013-10-04 22:29:19 -07:00
Ben Vanik
d3bf7813ea Improve perf of vcmp cr6 update. 2013-10-04 13:32:11 -07:00
Ben Vanik
e2842ea4b4 fmaddsx, fmsubx, fmsubsx, fcmpu. 2013-10-04 10:30:57 -07:00
Ben Vanik
091957e72e Untested srawx/sradix (makes things run further, at least). 2013-10-04 09:34:36 -07:00
Ben Vanik
0f5d0d992d vupkd3d d3dcolor (untested). 2013-10-03 21:06:40 -07:00
Ben Vanik
611902a97e Fixing vspltw and vrlimi. 2013-10-03 20:19:11 -07:00
Ben Vanik
bdb5b0eae2 Fixing alignment of xmm load/store. 2013-10-03 20:18:56 -07:00
Ben Vanik
6d46b51ed4 A few vcmp*'s, float_16_to_32 bit of vupkd3d128 (untested). 2013-10-02 23:25:05 -07:00
Ben Vanik
21d273e85b Tracing FPRs and random fixes. 2013-09-30 22:43:29 -07:00
Ben Vanik
37caa5cea1 vnmsubfp, fixing vrlimi128. 2013-09-30 21:14:23 -07:00