Paul Holden
|
ac423c7a3f
|
TexRectFlip
|
2012-07-10 20:10:24 +01:00 |
|
Paul Holden
|
a3ba4a176b
|
Handle depth buffer correctly for texrect
|
2012-07-10 08:53:42 +01:00 |
|
Paul Holden
|
3110b790ec
|
TexRect support
|
2012-07-10 08:17:00 +01:00 |
|
Paul Holden
|
a0cee2cd1a
|
Fix texture pitch calculation via loadtile
|
2012-07-10 08:15:27 +01:00 |
|
Paul Holden
|
a2d745d16d
|
Support for RGBA32 textures
|
2012-07-10 07:54:12 +01:00 |
|
Paul Holden
|
5ea419efa8
|
Implement mirror mode emulation for textures
|
2012-07-09 21:25:55 +01:00 |
|
Paul Holden
|
2a26b8014f
|
fix indentation
|
2012-07-09 08:21:45 +01:00 |
|
Paul Holden
|
ebccc03249
|
Simplify sinstr/dinstr
|
2012-07-09 00:24:34 +01:00 |
|
Paul Holden
|
f265fbb077
|
tidy whitespace
|
2012-07-08 23:54:48 +01:00 |
|
Paul Holden
|
17e3c1e073
|
Implement generateSRAV/SLLV/SRLV
|
2012-07-08 23:52:58 +01:00 |
|
Paul Holden
|
21b260eaf5
|
Reimplement SLL/SRL/SRA
|
2012-07-08 23:36:26 +01:00 |
|
Paul Holden
|
71c83c249d
|
Generate J/JAL/JALR/JR
|
2012-07-08 23:15:37 +01:00 |
|
Paul Holden
|
ce1a9554c1
|
Improve cop1 performance
|
2012-07-08 22:44:15 +01:00 |
|
Paul Holden
|
9ac7034664
|
generateSD
|
2012-07-08 21:25:13 +01:00 |
|
Paul Holden
|
cce230a779
|
Generate code for LH/LHU/LB/LBU/LWU
|
2012-07-08 21:08:20 +01:00 |
|
Paul Holden
|
dc8a54366d
|
Use local 'c' rather than cpu0
|
2012-07-07 15:17:26 +01:00 |
|
Paul Holden
|
28cda83e4f
|
Better implementation for generateBEW/generateBNE
|
2012-07-07 15:09:55 +01:00 |
|
Paul Holden
|
8382793648
|
Inline trivial ops
|
2012-07-07 14:35:53 +01:00 |
|
Paul Holden
|
9033c0c63a
|
Implement generateADDI
|
2012-07-07 14:35:31 +01:00 |
|
Paul Holden
|
5e91f06bb2
|
Reimplement ADDU/SUBU etc directly, rather than via impl functions. Less work for the jitter and forces inlining
|
2012-07-07 10:48:41 +01:00 |
|
Paul Holden
|
5dcd16a271
|
Improve self-assignment for ADDIU, ORI, XORI. Improve generated code formatting a little
|
2012-07-07 09:51:45 +01:00 |
|
Paul Holden
|
8f071630f2
|
Generate code for ANDI/ORI/XORI/LUI
|
2012-07-07 09:30:57 +01:00 |
|
Paul Holden
|
ca08aaf51e
|
CLEAR/MOV are trivial ops
|
2012-07-07 09:13:35 +01:00 |
|
Paul Holden
|
bea8758bec
|
Comment
|
2012-07-07 09:08:53 +01:00 |
|
Paul Holden
|
5d49ab7b56
|
Identify sequences of trivial ops, so that we can eliminate branch delay checks
|
2012-07-07 09:07:29 +01:00 |
|
Paul Holden
|
66125fce92
|
Cache next fragments in an array - one per op - so that we can branch predict more accurately
|
2012-07-07 08:41:18 +01:00 |
|
Paul Holden
|
51e4a6fcc0
|
Add a todo
|
2012-07-07 08:23:07 +01:00 |
|
Paul Holden
|
f1f144e2f0
|
Bump up the hot count threshold
|
2012-07-07 08:17:11 +01:00 |
|
Paul Holden
|
7a389ce186
|
Defer COUNT update until the end of the fragment
|
2012-07-07 08:12:42 +01:00 |
|
Paul Holden
|
6c7180cba6
|
prototypes
|
2012-07-07 08:09:34 +01:00 |
|
Paul Holden
|
bd6c4fe1dc
|
Change dynarec from 'stuff everything into one function' to 'generate function per op'. Lots of extra dynarec work
|
2012-07-05 23:59:15 +01:00 |
|
Paul Holden
|
170287e209
|
Argh, faster branchAddress calc was generating signed values
|
2012-07-04 23:24:08 +01:00 |
|
Paul Holden
|
be360b8dfd
|
Remove opsExecuted - one less thing to update
|
2012-07-03 08:02:32 +01:00 |
|
Paul Holden
|
45acab39d9
|
Tidy
|
2012-07-03 07:57:32 +01:00 |
|
Paul Holden
|
8b4a4d6e6a
|
Silence viewport spam. Rename fragmentsRemoved
|
2012-07-03 07:55:55 +01:00 |
|
Paul Holden
|
16c681c8af
|
Remove dedicated rominfo pane. Make output window white on black
|
2012-07-03 07:51:58 +01:00 |
|
Paul Holden
|
b2a578ed1e
|
Only update various bits of UI when active
|
2012-07-03 07:43:56 +01:00 |
|
Paul Holden
|
b213449e88
|
Alias hi/lo regs as Int32Arrays so we can avoid more deopts
|
2012-07-03 07:22:22 +01:00 |
|
Paul Holden
|
295da6ed50
|
Some more _signed microopts. Remove some repeated calls to rs()/rt()
|
2012-07-03 07:15:23 +01:00 |
|
Paul Holden
|
fdaeee9ff6
|
Perform nextPC/branchTarget setup as a part of postOp - more scope for runtime to optimise
|
2012-07-02 22:58:09 +01:00 |
|
Paul Holden
|
91ef5421a5
|
Use _signed registers where possible to avoid deopts (plus some associated optimisations)
|
2012-07-02 22:54:55 +01:00 |
|
Paul Holden
|
303c46714b
|
Fix tagged-to-i deopts coming from SLT instructions
|
2012-07-01 22:00:32 +01:00 |
|
Paul Holden
|
152bd08012
|
Special case or with r0 for rs/rt
|
2012-07-01 11:48:55 +01:00 |
|
Paul Holden
|
7c2ef24e23
|
Seems if/else is faster than ternary - http://jsperf.com/ternary-vs-and-or-vs-if-else/2
|
2012-07-01 11:34:39 +01:00 |
|
Paul Holden
|
84125913ff
|
Rename opsExecuted to opsCompiled
|
2012-07-01 10:50:46 +01:00 |
|
Paul Holden
|
29cd5cfbff
|
Make handleCounter use cpu stuffToDo flags, so we can simplify the code a little bit
|
2012-07-01 10:50:15 +01:00 |
|
Paul Holden
|
d2e0b3bff3
|
Crack out args for add/sub/and/or/xor/nor. Hardcode next pc (should always be known in advace)
|
2012-07-01 10:37:38 +01:00 |
|
Paul Holden
|
e8270fafe5
|
Increase the number of ops in a fragment
|
2012-06-30 21:14:25 +01:00 |
|
Paul Holden
|
3306e609ff
|
Hoist out special and regimm instructions
|
2012-06-30 21:13:39 +01:00 |
|
Paul Holden
|
a2e0c6c1fc
|
Fix issue with interrupts being missed if fragments were executing (wasn't checking stuffToDo)
|
2012-06-30 12:15:34 +01:00 |
|