Commit Graph

33 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
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
b7fd4f975d Fixing ringbuffer pointers and no-op instructions. 2013-09-25 00:46:47 -07:00
Ben Vanik
03494c6b88 Stubbing methods and cleanup. 2013-09-25 00:46:29 -07:00
Ben Vanik
91f62918f6 Adding vblank interrupt. 2013-09-25 00:46:09 -07:00
Ben Vanik
97b4fdb041 Fixing misnamed register enum. 2013-06-02 10:32:07 -07:00
espes
388c622ecd fill in some more xenos registers 2013-06-02 17:11:54 +10:00
Ben Vanik
cf57481a0e Adding basic register names. 2013-06-01 22:51:09 -07:00
Ben Vanik
e00e665a09 Basic command buffer processing. 2013-06-01 21:49:14 -07:00
Ben Vanik
ba16a0d847 Trying to setup writeback and add basic secondary command execution. 2013-06-01 03:08:31 -07:00
Ben Vanik
5b0fa8f17e Basic ringbuffer worker. Super hacky, not yet writing back to CPU. 2013-06-01 01:13:44 -07:00
Ben Vanik
ef0032ecff Wiring up register read/write from JIT -> GPU. 2013-05-31 21:23:26 -07:00
Ben Vanik
2cecc02787 Skeleton GPU files. 2013-05-27 21:45:55 -07:00
Ben Vanik
3cae7ed714 Converting logging to ASCII and other Windows fixes. 2013-02-09 08:05:39 -08:00
Ben Vanik
88431eadce Screw convention; moving include files alongside source files.
They now will show up in xcode/etc.
2013-02-06 02:19:50 -08:00