Unknown W. Brackets
1cb2302f5c
Use SSE in ConvertRGBA5551ToRGBA8888().
...
This func is used when showing videos, some loading screens, etc. Also
when uploading graphics to VRAM.
The implementation takes 85% less than without SSE, although it could
probably be optimized further. Won't help game runtime much, but may help
some loading times or special effects.
2015-05-17 16:04:42 -07:00
Unknown W. Brackets
7269574a10
Add structure for NEON color conversion funcs.
2015-05-17 16:04:41 -07:00
Unknown W. Brackets
1767bd958c
Move color conversion funcs to ColorConv.
...
This paves the way a bit for NEON conversion funcs.
2015-05-17 13:45:30 -07:00
Unknown W. Brackets
3f29329ed2
Actually use the SSE color conversion code.
2015-05-17 13:42:17 -07:00
Unknown W. Brackets
c10373ef06
ARM64: Fix some minor MSVC warnings.
2015-04-10 12:05:51 -07:00
Henrik Rydgard
db110d60a1
Rename some colorconv functions
2015-04-08 23:01:17 +02:00
Henrik Rydgard
4621586342
Move simple conversion functions out of the ColorConv header.
2015-04-08 22:52:49 +02:00
Henrik Rydgard
6660985210
Extract a bunch more color conversion loops.
2015-04-08 22:52:48 +02:00
Henrik Rydgard
b5acf15cc9
Extract some explicit loops into calls to color conversion functions.
2015-04-08 22:52:48 +02:00
Henrik Rydgard
c2cf2bd97e
Move some more color conversion functions to ColorConv
2015-04-08 22:52:47 +02:00
Henrik Rydgard
31961eace9
Color conv attempt 2. Start consolidating simple color conversion functions in a single header+cpp.
2015-04-08 22:52:46 +02:00
Henrik Rydgård
39be916d8a
ARM64: More emitter/disasm
2015-04-06 18:13:44 +02:00
Henrik Rydgård
459ba28655
ARM64: SW skinning runs without crashing but is broken.
2015-04-06 18:13:44 +02:00
Henrik Rydgård
597595f279
ARM64: Start implementing soft-skinning. Disabled for now, needs work.
2015-04-06 18:13:43 +02:00
Henrik Rydgård
f82b613371
ARM64 emitter/disasm: Implement ASIMD LDP/STP instructions
2015-04-06 18:13:42 +02:00
Henrik Rydgård
013bbc71af
ARM64: Fix DUP disasm, INS disasm
2015-04-06 18:13:40 +02:00
Henrik Rydgård
a3db3ed5c1
ARM64 emitter: Fix UXTL/SXTL and friends. Add disasm.
2015-04-06 18:13:40 +02:00
Henrik Rydgård
853d6ea34b
ARM64 emitter: Add FMLA/FMLS vector versions
2015-04-06 18:13:39 +02:00
Henrik Rydgård
065cd97dc2
ARM64: LLVM buildfix, some more disasm
2015-04-06 18:13:39 +02:00
Henrik Rydgård
13c9390c53
ARM64: Emitter fix, disable swl/swr/lwl/lwr again fully
2015-04-06 18:13:38 +02:00
Henrik Rydgård
9f24076b63
Make the unittests build on mac
2015-04-06 18:13:37 +02:00
Henrik Rydgard
0a70618f87
ARM64: Accurate floating point rounding. For some reason, FTZ doesn't seem to work though.
2015-04-06 18:13:36 +02:00
Henrik Rydgard
4618275f99
ARM64: Add a few aliases to emitter. Disasm fixes.
2015-04-06 18:13:33 +02:00
Henrik Rydgard
acf08eefa8
ARM64: Fix FCVTL, use it in v2hf
2015-04-06 18:13:33 +02:00
Henrik Rydgard
0849e270ee
ARM64: fmla encoding, more disasm
2015-04-06 18:13:31 +02:00
Henrik Rydgard
ca58f322e5
ARM64: Port over some missing VFPU instructions from ARM. Not much left now.
2015-04-06 18:13:30 +02:00
Henrik Rydgard
9c79831237
ARM64 emitter: Fix FP immediates
2015-04-06 18:13:29 +02:00
Henrik Rydgard
9a5a093105
ARM64 emitter/disasm: More scalar FPU instructions
2015-04-06 18:13:27 +02:00
Henrik Rydgard
ff758f58ad
ARM64: The Return of the Pointer Truncator - The Movie
2015-04-06 18:13:26 +02:00
Henrik Rydgard
6cb107d6fc
ARM64: Fix LDP disassembly
2015-04-06 18:13:25 +02:00
Henrik Rydgard
5a5f3c94fd
ARM64: Guess what? more emitter & disasm
2015-04-06 18:13:24 +02:00
Henrik Rydgard
0f430e6cd1
ARM64: More asimd scalar disasm, encoding fix
2015-04-06 18:13:23 +02:00
Henrik Rydgard
9f689b871a
ARM64: Work on emitting and disassembling fp conversion ops
2015-04-06 18:13:22 +02:00
Henrik Rydgard
a8be978154
ARM64 emitter: Add fixed point versions of SCVTF and UCVTF
2015-04-06 18:13:19 +02:00
Henrik Rydgard
d5faf8b97a
ARM64: Fix conditional branch instruction (!)
2015-04-06 18:13:18 +02:00
Henrik Rydgard
acd9502b44
ARM64: stp/ldp disasm improvements
2015-04-06 18:13:17 +02:00
Henrik Rydgard
5dff3f8c89
ARM64: Implement scalar FMOV. This makes the FPU2op ops work.
2015-04-06 18:13:16 +02:00
Henrik Rydgard
4233921ab7
ARM64: Some more instructions, func replacements
2015-04-06 18:13:16 +02:00
Henrik Rydgard
2bca05c4f2
ARM64: implement shifts, movz/movn. Corresponding fixes to emitter/disasm
2015-04-06 18:13:14 +02:00
Henrik Rydgard
70f44c3894
ARM64 emitter: Default to non-extend instruction forms (LSL 0), fix bugs. also fixes to disasm.
2015-04-06 18:13:12 +02:00
Henrik Rydgard
d3669daba4
ARM64: Fixes to emitter and disassembly for logical immediates
2015-04-06 18:13:12 +02:00
Henrik Rydgard
0922db6062
ARM64: Some FP work.
2015-04-06 18:13:11 +02:00
Henrik Rydgard
2ff608b72e
ARM64: Add FDIV to emitter
2015-04-06 18:13:10 +02:00
Henrik Rydgard
742f48ad56
ARM64: More emitter and disasm work
2015-04-06 18:13:08 +02:00
Henrik Rydgard
c4cdca83fc
ARM64: Fix some branch distance checks, add more stuff to disasm
2015-04-06 18:13:08 +02:00
Henrik Rydgard
73dd26fb75
More ARM64 disasm, warning fixes
2015-04-06 18:13:07 +02:00
Henrik Rydgard
80a813bcbd
ARM64 Emitter: Optimize MOVI2R by always starting with a MOVZ, killing the register dependency in the out-of-order engine of the CPU.
2015-04-06 18:13:06 +02:00
Henrik Rydgard
58b059ca14
Some casting cleanup, misc
2015-04-06 18:13:06 +02:00
Henrik Rydgard
feec574ece
Arm64Emitter: Add some helper functions to add / sub by immediate
2015-04-06 18:13:05 +02:00
Henrik Rydgard
f732fbb885
ARM64 emitter: Add MRS/MSR support (only for the flags register). Add some more to ARM64 Disasm
2015-04-06 18:13:04 +02:00