Commit Graph

1282 Commits

Author SHA1 Message Date
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
Ben Vanik f5b99d7448 Fixing some altivec instruction decode issues. 2013-09-30 17:54:49 -07:00
Ben Vanik 26ec76ef35 A lot of progress on altivec instructions.
Some bad results, still, and some instructions are not decoding right.
2013-09-29 21:05:48 -07:00
Ben Vanik 3662118246 vmaddfp/vmaddcfp/vmulfp/vsubfp. 2013-09-29 00:02:25 -07:00
Ben Vanik 5652a150e1 vand/vnor/vor/vxor. 2013-09-28 23:45:16 -07:00
Ben Vanik 526b1a85b7 Simple altivec loads/stores. 2013-09-28 23:14:43 -07:00
Ben Vanik f398ccba56 Skeleton emitter file. 2013-09-28 19:52:33 -07:00
Ben Vanik 51184f73ea Disassembling a few instructions. 2013-09-28 19:37:34 -07:00