Commit graph

1733 commits

Author SHA1 Message Date
Paul Holden
28f5c2b63d BLTZL/BGEZL 2012-09-01 21:31:20 +01:00
Paul Holden
514da175e0 MTC1/MFC1 dynarec 2012-09-01 21:24:53 +01:00
Paul Holden
935306a070 Better indentation for dynarec 2012-09-01 21:00:42 +01:00
Paul Holden
5acf6e579d Dynarec for MTLO/MTHI/MFLO/MFHI 2012-09-01 20:59:36 +01:00
Paul Holden
c8721ea283 Better assert text for trivial op post_pc check 2012-09-01 11:34:19 +01:00
Paul Holden
0ef3d51fe6 Implement separate handler for memory access instructions - we can avoid a couple of unnecessary instructions. Skip pc updates inbetween trivial ops 2012-09-01 11:31:47 +01:00
Paul Holden
bb93203ddc Add a newline after NOPped instructions 2012-08-30 22:43:26 +01:00
Paul Holden
c717457687 Remove some surplus newlines from generated output 2012-08-30 22:40:13 +01:00
Paul Holden
334aba71c8 Use genSrcRegLo for b 2012-08-30 22:39:44 +01:00
Paul Holden
069643f529 Address calculations should use signed regs. 2012-08-30 22:37:34 +01:00
Paul Holden
4c215dd60f Wrap the code to generate register access (for source operands, at least). This means we can easily generate a literal 0 instead of rlo[0] etc 2012-08-30 22:28:36 +01:00
Paul Holden
b33ad60da9 Code gen for MULT, MULTU 2012-08-30 21:50:14 +01:00
Paul Holden
8bc24a507c Use shift for sign extending rather than testing the top bit 2012-08-30 09:15:25 +01:00
Paul Holden
d399cabfe1 Dynarec debug: sort by total ops executed 2012-08-30 09:14:36 +01:00
Paul Holden
fbe55aa3d4 Fix a couple of Fish Demo bugs - LOD_Frac wasn't defined in the shader, and microcode has an odd hash 2012-08-30 09:09:40 +01:00
Paul Holden
e7fc07f009 Added support for direct framebuffer manipulation - some homebrew roms should render now 2012-08-30 09:01:36 +01:00
Paul Holden
20a9d5130a Remove the cpu1 s32/f32 accessor functions - just index int32/float32 arrays directly 2012-08-30 08:36:46 +01:00
Paul Holden
ee289f0505 Fix font (palettised texture bug) in Starfox 2012-08-30 08:33:35 +01:00
Paul Holden
be14d2dfac Fix a few more places that should ve using rlo/rhi 2012-08-30 00:58:00 +01:00
Paul Holden
2dd7846823 Rewrite generateLUI - it was a bit crazy 2012-08-30 00:49:33 +01:00
Paul Holden
9ef225f3dd Another epic memory access rewrite: share more code between execute/generate functions. This simplifies the generated code quite a lot. 2012-08-30 00:45:09 +01:00
Paul Holden
ea83538648 Another big speedup: there's no longer any need to move memory handling code to a separate function, as it no longer deopts 2012-08-29 22:26:33 +01:00
Paul Holden
47f5eab2ff Big speedup: pass lo/hi register arrays directly through to fragments, and avoid dereferencing through 'c' 2012-08-29 22:22:31 +01:00
Paul Holden
3fc99a2730 Big memory access overhaul - this avoids various deopts and minimises calculations on HeapNumbers 2012-08-28 23:09:17 +01:00
Paul Holden
d311c3bea7 Tidy pushTri 2012-08-28 21:50:59 +01:00
Paul Holden
c09918f42a Avoid recreating arrays in setProgramState 2012-08-28 09:32:45 +01:00
Paul Holden
d5645c6db6 Reuse vertex arrays between Tri calls 2012-08-28 09:29:25 +01:00
Paul Holden
d2fc1c6dbc Reuse vertex arrays between Tri calls 2012-08-28 09:23:19 +01:00
Paul Holden
d3f50fd6f9 Use mediump in preference to highp in shaders 2012-08-28 08:58:55 +01:00
Paul Holden
d5a23f15de Cache the results of gl.get*() calls 2012-08-28 08:15:23 +01:00
Paul Holden
2f5d25385a Remove redundant addr calculation in SWC1 dynarec 2012-08-28 00:59:11 +01:00
Paul Holden
a12f833355 Remove redundant addr calculation in store dynarec 2012-08-28 00:56:09 +01:00
Paul Holden
cc4296c576 Dynarec BEQL/BNEL 2012-08-28 00:41:01 +01:00
Paul Holden
a06d1b82b4 No need to flush/finish when presenting the backbuffer 2012-08-28 00:00:02 +01:00
Paul Holden
8aaa0bc1f3 10% speed up - rewrite memory accesses to avoid deopt/HeapNumbers 2012-08-27 22:02:17 +01:00
Paul Holden
994590233a Improve performance by ensuring SMIs are passed through to lwu/lhu etc. Avoid duplicate >>>0 for a couple of mem handlers 2012-08-27 21:11:28 +01:00
Paul Holden
b8450c99c9 Render to texture, to avoid flickering in roms which render multiple displaylists/frame 2012-08-27 21:00:55 +01:00
Paul Holden
5dc6eff08e Fix dodgy use of combined in some blend modes 2012-08-27 20:59:44 +01:00
Paul Holden
9cf1710f3e Remove some redundant state changes. Tidy some get*Location calls 2012-08-27 20:58:45 +01:00
Paul Holden
80975c0e75 Enure that depth writes are enabled when we clear the depth buffer 2012-08-27 20:57:19 +01:00
Paul Holden
4d860efac6 Add swizzling for RGBA16 textures 2012-08-26 22:14:55 +01:00
Paul Holden
5cd45c7699 Check for F3DLP 2012-08-26 22:03:01 +01:00
Paul Holden
be10b06a2a Add swizzling for CI8 textures 2012-08-26 21:48:01 +01:00
Paul Holden
df5b175344 Remove copy-pasted code from memory access dynarec 2012-08-26 09:01:09 +01:00
Paul Holden
2dd2115b06 Implement all single/double c.* ops 2012-08-23 08:58:49 +01:00
Paul Holden
198cb518b9 Format to 80 columns 2012-08-22 07:13:17 +01:00
Paul Holden
99d140082c Added MIT LICENSE 2012-08-22 07:11:02 +01:00
Paul Holden
6ebb44cfa9 Improve dynarec memory handlers by avoiding read from unsigned regs. Gives something like 4% speedup 2012-08-21 21:42:45 +01:00
Paul Holden
e204dbb46a Remove halt from dsrl/dsra 2012-08-21 21:40:17 +01:00
Paul Holden
7236654836 Don't display an error if romdb doesn't list a save type 2012-08-21 21:39:22 +01:00