Ben Vanik
6129e1eb7a
Simplifying macros to fix VS' broken preprocessor.
2014-01-12 14:06:00 -08:00
Ben Vanik
27a8e09b51
Depth stencil state.
2014-01-10 01:25:50 -08:00
Ben Vanik
7969349126
Fixing some shutdown code.
2014-01-02 18:58:44 -08:00
Ben Vanik
5bc74313e3
Fixing broken instruction offsets on block splits.
2013-12-27 15:00:34 -08:00
Ben Vanik
c17122e022
Using raw addresses for gpu writeback.
2013-12-15 15:32:06 -08:00
Ben Vanik
fdb6a5cfa3
Initial Alloy implementation.
...
This is a regression in functionality and performance, but a much better
foundation for the future of the project (I think). It can run basic
apps under an SSA interpreter but doesn't support some of the features
required to do real 360 apps yet.
2013-12-06 22:57:16 -08:00
Ben Vanik
68b8737a58
SETXXv, CNDXXv, SETXXs - may not be right.
2013-11-17 15:20:50 -08:00
Ben Vanik
1f4795e7d4
Fixing shader file names.
2013-11-17 15:20:28 -08:00
Ben Vanik
9441fb8b7a
Finally figured out MUL/ADD/SUB_CONST_*
2013-11-16 18:27:17 -08:00
Ben Vanik
1592cf96f7
MAX4v, MINs, MAXs
2013-11-16 16:59:33 -08:00
Ben Vanik
798cad6f87
DOT2ADDv
2013-11-16 16:15:23 -08:00
Ben Vanik
8398ea4925
I lied, MULADD was not that way.
2013-11-16 05:16:11 -08:00
Ben Vanik
60f48bdd32
Always write oPos.
2013-11-16 04:39:26 -08:00
Ben Vanik
7491058ffd
Adding --dump_shaders=path/.
2013-11-16 04:39:16 -08:00
Ben Vanik
8440c9059a
Fixing order of MULADDv.
2013-11-16 04:35:08 -08:00
Ben Vanik
271abbf874
Adding --trace_ring_buffer.
2013-11-16 03:06:55 -08:00
gibbed
faa67028ce
Mystery GPU registers.
2013-10-27 18:44:20 -07:00
Ben Vanik
2de906f3d6
Hacking around with shaders. Pretty sure this is all wrong.
2013-10-27 18:33:50 -07:00
Ben Vanik
0355047838
PM4_LOAD_ALU_CONSTANT
2013-10-27 16:18:54 -07:00
Ben Vanik
b7ffd46319
Massive refactoring of all code + audio skeleton.
...
This should make it easier to find files and (in the future) split things
up into separate libraries.
It also changes around emulator initialization to make it a little more
difficult to do things out of order and a little more sensible as to when
real init work happens.
Also adding a skeleton audio system/driver and reworking CPU register
access to be more extensible.
2013-10-23 20:42:24 -07:00
Ben Vanik
d065ee43e8
PM4_SET_CONSTANT for registers.
2013-10-22 21:32:04 -07:00
Ben Vanik
62d4d5ce84
Randomly messing with address translation. Still not right.
2013-10-22 21:05:56 -07:00
Ben Vanik
e0b6d0f689
Cleaning up packet reading/endianness.
2013-10-22 20:47:27 -07:00
Ben Vanik
d00f4d58e9
Better byte swapping in ringbuffer and fixed logging.
2013-10-20 18:34:46 -07:00
Ben Vanik
cddab7ffb0
Fixing free.
2013-10-20 15:28:00 -07:00
Ben Vanik
fbea5a6394
Making the GPU counter a vblank counter, not a timer.
2013-10-20 02:00:51 -07:00
Ben Vanik
39adeef2e3
Hiding vertex/index data for now.
2013-10-20 01:59:42 -07:00
Ben Vanik
92899739bd
Index buffer upload.
2013-10-20 00:47:32 -07:00
Ben Vanik
5a80c7b9c1
Hacking shaders to get dummy texture colors and such.
2013-10-20 00:20:36 -07:00
Ben Vanik
889e586cab
Skeleton for new draw type and texture fetching.
2013-10-19 21:49:25 -07:00
Ben Vanik
62b792c903
Ignoring a packet I don't care about.
2013-10-19 20:30:36 -07:00
Ben Vanik
68d5f33cfa
GPU byte swapping.
...
A lot of other packets likely do this.
2013-10-19 16:29:00 -07:00
Ben Vanik
37065255a2
Dispatching interrupts.
2013-10-19 12:50:26 -07:00
Ben Vanik
90bc6ad1a8
Interrupts fire on the right 'thread', ringbuffer work,
2013-10-19 11:50:01 -07:00
Ben Vanik
c60230f28a
Implementing scratch registers correctly (I think).
2013-10-19 01:16:13 -07:00
Ben Vanik
1616d7ba22
WAIT_MEM_REG, REG_RMW (untested), COND_WRITE
2013-10-19 00:46:35 -07:00
Ben Vanik
a63db2b7fd
Dispatch interrupt outside of main pump.
2013-10-19 00:46:11 -07:00
Ben Vanik
d3665cc2e6
Support for VS2013 (and auto picking), a Win xb script, and readme updates.
...
This also removes the dependency on D3DX, which is only included in the
DXSDK, meaning that just the Win8+ SDK should be required now.
2013-10-17 23:35:54 -07:00
Ben Vanik
f409795dd1
Fixing PM4 type 0 packet parsing.
2013-10-15 20:24:32 -07:00
Ben Vanik
0b24356080
Skipping unknown form of PM4_EVENT_WRITE_SHD for now.
2013-10-14 21:35: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