Commit Graph
5353 Commits
Author SHA1 Message Date
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