Unknown W. Brackets
7910b4029a
arm64jit: Track writable and non-writable pointers.
...
Switch uses different memory regions. We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Henrik Rydgård
381c4ca4b2
X64: Fix bug in a case in the MOVQ emitter : rex byte should be after the 0x66 prefix
2017-07-07 11:33:07 +02:00
Henrik Rydgård
0645677fea
Access FPU temps through CTXREG
2017-07-07 11:33:06 +02:00
Unknown W. Brackets
cb3db559bd
SoftGPU: Jit the linear sampling too.
...
For now, just reducing overhead. Could be smarter.
2017-05-30 22:57:46 -07:00
Henrik Rydgård
0ec1e5e3b2
Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708
2017-05-26 15:48:03 +02:00
Henrik Rydgard
323eb72b7c
Write-protect the dispatcher on all platforms.
2016-08-28 13:35:27 +02:00
Henrik Rydgard
ffe4c266ef
Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
...
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgard
88f25fd50e
x86-64: Fix L bit in VEX instruction emitter. Ported fix from Citra.
...
Currently unused in the emulator, though.
2016-02-28 13:07:24 +01:00
aroulin
8a09dedf94
x64Emitter: add RCPPS and RCPSS SSE instructions
2015-08-23 16:43:07 +02:00
Henrik Rydgard
604abe933e
Update submodules, add x64Emitter bugfix from Dolphin (plus a few new instrs), misc
2015-01-11 00:12:32 +01:00
Henrik Rydgard
4ec30d98e1
Port the x86 and ARM emitters over to use the generic CodeBlock class
2014-12-15 22:32:55 +01:00
Henrik Rydgard
2bce7bc460
X64Emitter: Merge some AVX stuff from Dolphin
2014-12-07 23:09:38 +01:00
Henrik Rydgard
5290ffd929
Minor cleanup in vtfm. Re-enable vrot combination. Optimize vfad/vavg when dpps is available.
...
Also fixes bug in emitter of dpps.
2014-12-03 22:44:32 +01:00
Henrik Rydgard
344f71b092
x86 jit: Commit commented-out haddps-based vdot.q as reminder not to use haddps...
2014-11-28 00:19:11 +01:00
Henrik Rydgard
5033babb10
x86 Jit: SIMD-ify vdot
2014-11-26 23:47:18 +01:00
Henrik Rydgard
28ca8d4818
x86 jit: Use LEA to emulate addu but only when it can save a few bytes
2014-11-16 17:39:47 +01:00
Unknown W. Brackets
bc7497857a
x86jit: Micro optimize vi2x a bit with ssse3/sse4.
...
Both are small wins.
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
0e646f748a
x86jit: Implement vi2x instructions.
...
Also, my opcodes were wrong in the test (shifted the pair bit the wrong
way, oops.)
AFAICT, there's no reason PSRAD/etc. were not encoding REX...
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
d7bdded6f8
x86jit: fix rip addressing on PEXTRW/PINSRW.
...
I think this is right anyway, not 100% sure.
2014-11-03 23:18:32 -08:00
Unknown W. Brackets
844c7e73d3
x86jit: Add SSE 4.1 rounding ops to emitter.
2014-11-03 23:18:09 -08:00
Henrik Rydgård
7bde976069
Merge x64 emitter from a newer Dolphin version.
...
This one can generate slightly smaller code by exploiting some EAX-only
encoding and various other short forms, and adds support for many newer
CPU instructions.
2014-10-12 19:46:58 +02:00
Henrik Rydgård
281ab5f9cb
Sync x64 emitter to Dolphin's.
2014-10-12 19:45:26 +02:00
Unknown W. Brackets
e1a57abcb4
Fix mixed newline style.
2014-09-20 08:30:37 -07:00
Henrik Rydgard
62054b1e7b
Fix PINSRW/PEXTRW emitters.
...
Fixes crash introduced in 5276487611
(apparently we haven't used PINSRW before)
2014-09-20 11:46:05 +02:00
Henrik Rydgard
215abfb951
Some cleanup in /Common
2014-09-06 10:47:25 +02:00
Henrik Rydgard
d3dce422a8
X64emitter: merge from dolphin
2014-07-20 00:21:28 +02:00
Henrik Rydgard
221216b5b2
Bugfix in x64 emitter, thanks magumagu
2014-03-27 22:25:30 +01:00
Unknown W. Brackets
632eec38e8
vertexjit: Use SSE4.1 where available on x86.
...
Just because we can.
2014-03-22 16:11:16 -07:00
Unknown W. Brackets
162f229294
vertexjit: Support the color morphs on x86.
2014-03-22 15:56:29 -07:00
Unknown W. Brackets
f14361c3b8
Add a bunch more missing cstring includes.
2013-12-30 21:37:19 -08:00
Henrik Rydgård
e5e17fbc6e
More include cleanup. Hoping for very slightly faster compile times..
2013-12-30 10:49:05 +01:00
Henrik Rydgard
5826a6a60c
x86: untested MOVDQA/MOVDQU emitters
2013-12-21 12:39:34 +01:00
Henrik Rydgard
6221dbaf5d
Optimize software skinning for x86.
...
Can't seem to get a win on Windows vs hardware skinning though, even though
draw calls drop by 2/3rd...
2013-11-13 18:10:58 +01:00
adrian17
5f86bc44d4
Deleted some doubled #includes.
2013-09-27 21:38:07 +02:00
shenweip
03197c376c
Fix some double semicolon.
2013-09-15 23:17:22 +08:00
Henrik Rydgard
324cde5a79
Let's actually use the log category mechanism. A first step.
2013-09-07 21:19:21 +02:00
Henrik Rydgard
8714240519
Fix vf2i properly on x86.
2013-08-07 21:30:57 +02:00
Henrik Rydgard
7d2e0b46a4
Delete ColorUtil.cpp/h
2013-07-31 22:28:40 +02:00
Henrik Rydgard
377c94b125
JIT x86: cvt.s.w
2013-02-06 20:29:49 +01:00
Unknown W. Brackets
ec8f080491
Fix the emitter assert.
2013-01-31 23:29:00 -08:00
Henrik Rydgard
76481a300c
Icache must be invalidated. Jit now starts to run, but there's no cube in cube.elf!
2013-01-08 23:52:11 +01:00
Henrik Rydgard
64cc573703
Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK.
2012-11-04 23:24:00 +01:00
Henrik Rydgard
4f7ad15758
Add snapshot of the whole source code.
2012-11-01 16:19:01 +01:00