Commit Graph

12377 Commits

Author SHA1 Message Date
Unknown W. Brackets
009c3ee3f7 vertexjit: Save S16-S31 registers in ARM. 2014-03-23 16:26:13 -07:00
Unknown W. Brackets
b04553b983 vertexjit: Fix non-morph 5551 decoding.
Oops, it was just wrong before.
2014-03-23 16:26:13 -07:00
Unknown W. Brackets
f74b765ff3 Fix VLDM/VSTM encoding for D/Q regs.
Now it is actually using ASIMD/NEON.
2014-03-23 16:26:13 -07:00
Unknown W. Brackets
ff2d5bb17e Add a float->GP reg, fix VDUP for I_16. 2014-03-23 16:25:56 -07:00
Unknown W. Brackets
8056440ba1 Implement NEON register VMOVs. 2014-03-23 16:25:52 -07:00
Unknown W. Brackets
2b586b2a7a Support other constant VMOVs on NEON.
Float is especially useful.
2014-03-23 16:12:51 -07:00
Unknown W. Brackets
3e1cd5c161 Add a NEON VMOV imm encoding to the emitter. 2014-03-23 16:12:46 -07:00
Unknown W. Brackets
c0392e10be Properly fail loading state when fonts don't match.
It should fail later anyway, but this will prevent crashes just in case.
2014-03-23 13:03:33 -07:00
Unknown W. Brackets
3a376a0cd9 Fix exists check in VFSFileSystem::GetFileInfo().
Only matters if it can't map the path / doesn't have the apk mapped (e.g.
as on headless right now.)
2014-03-23 13:01:52 -07:00
Unknown W. Brackets
56b83af1f0 Don't use aligned loads in non-inlined funcs.
I'm wanting things to stay in registers, but that's not realistic for
arguments.  Force inline the others.  May help #5699.
2014-03-23 12:09:17 -07:00
Unknown W. Brackets
a26e6ce4b6 Minor improvements to QuickTexHashNEON().
Cuts a VFP switch, oops.
2014-03-23 11:56:25 -07:00
Unknown W. Brackets
970dd4f2f8 Use vldmia not vld1 for QuickTexHashNEON().
It turns out this is ~20% slower usually, so aligned is not worth the
pipeline hit.
2014-03-23 11:56:24 -07:00
Henrik Rydgard
b174996c1c Add a conservative check that prevents alpha testing in a few cases.
This will become really powerful if we add some code to the vertex decoder
to check for non-full alpha in the vertices, and set gstate_c.vertexFullAlpha if none
is found (probably want to do the reverse, set it to true and clear if any non-255 alpha is found).

Alpha testing is a performance killer on many mobile GPUs so big efforts to
avoid it can be worth it.
2014-03-23 16:32:38 +01:00
Henrik Rydgard
20d480a374 Minor GPU code cleanups 2014-03-23 16:32:38 +01:00
Unknown W. Brackets
542d04a96f Add support in sceKernelPrintf for %p. 2014-03-23 08:14:50 -07:00
Henrik Rydgård
66bf54ec4a Merge pull request #5694 from sum2012/patch-10
Fix  disc0:/ vs. disc0: in path parsing
2014-03-23 10:09:50 +01:00
Henrik Rydgard
efa7ba5570 Set both Default-NAN and FZ on ARM. See comments.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0274h/Babffifj.html
2014-03-23 10:07:20 +01:00
sum2012
c208b17a75 Change to comment 2014-03-23 16:48:32 +08:00
Henrik Rydgård
941b8b4663 Merge pull request #5696 from unknownbrackets/texcache
Use NEON for unswizzling, minor tweak to texcache
2014-03-23 09:45:36 +01:00
Unknown W. Brackets
2482b2a1e0 Use aligned NEON loads in texhash. 2014-03-22 21:58:50 -07:00
Unknown W. Brackets
b44d10a91e Move texture unswizzling to decoder, use NEON. 2014-03-22 21:35:16 -07:00
sum2012
48b07d46bf Remove entire block again 2014-03-23 12:15:23 +08:00
sum2012
0694e91fab Remove entire block 2014-03-23 11:19:37 +08:00
sum2012
ba88be9172 Fix disc0:/ vs. disc0: in path parsing
Fix Hot Pixel loading
2014-03-23 11:04:06 +08:00
Henrik Rydgard
8b92dcea47 Transform: Compute the "DCID" (draw call ID) incrementally instead of an extra pass. 2014-03-23 01:51:51 +01:00
Henrik Rydgard
8bf015fe16 texcache: SSE optimized version of the most common case of Unswizzle
(didn't put this in fast_math because it's pretty specific to PSP)
2014-03-23 01:50:50 +01:00
Henrik Rydgård
dac51b9c1b Merge pull request #5693 from unknownbrackets/jit-minor
x86 jit and vertex jit changes, ARM emitter changes
2014-03-23 00:22:04 +01:00
Henrik Rydgård
5d44b09cb2 Merge pull request #5692 from hrydgard/fast_math
Use the new fast-math from native for 4x4 matrix mul
2014-03-23 00:17:19 +01:00
Unknown W. Brackets
06db03ac9e Add some asserts to VLDM/VSTM. 2014-03-22 16:12:35 -07:00
Unknown W. Brackets
60bbf4af3b Fix VLD1/VST1 n=4. 2014-03-22 16:12:08 -07:00
Unknown W. Brackets
f3d38ee269 Fix VMOV for Dregs and VSHL reg order. 2014-03-22 16:12:00 -07:00
Unknown W. Brackets
0da9c1851c vertexjit: Add VQMOV(U)N and fix VMOVN size.
It will be too confusing if it's specified as the destination, unlike
VMOVL.  Plus the assembler syntax uses the source size.
2014-03-22 16:11:36 -07: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
Henrik Rydgard
f549ce9b2a Shouldn't check for ANDROID here. 2014-03-23 00:05:58 +01:00
Henrik Rydgard
7d938102a5 Update native 2014-03-23 00:02:23 +01:00
Unknown W. Brackets
5d04f123b9 vertexjit: A couple more tweaks to morph on x86. 2014-03-22 15:56:30 -07:00
Unknown W. Brackets
12c2683fb8 vertexjit: Cut a few more instrs from x86 morph. 2014-03-22 15:56:30 -07:00
Unknown W. Brackets
0da5caf11a vertexjit: Cut a few instrs from morph on x86. 2014-03-22 15:56:30 -07:00
Unknown W. Brackets
162f229294 vertexjit: Support the color morphs on x86. 2014-03-22 15:56:29 -07:00
Unknown W. Brackets
246eaeb209 x86jit: Avoid mem temp for float cmp/loads. 2014-03-22 15:56:28 -07:00
Unknown W. Brackets
b53143bb33 Revert "armjit: Skip an AND for rotate shifts."
This reverts commit ab2dd54ade.

Even though the docs say it's safe but apparently not always.
2014-03-22 15:54:48 -07:00
Henrik Rydgard
63aeb31e07 Attempt workaround for fog issue #5384 2014-03-22 23:49:14 +01:00
Henrik Rydgard
7a302039c5 Update Symbian native build 2014-03-22 23:32:02 +01:00
Henrik Rydgård
8dfadf7b8e ArmEmitter: Add VMOV_neon and a Size parameter to VFMA for consistency. 2014-03-22 16:31:16 +01:00
Henrik Rydgård
0b3f1e4a5b Merge pull request #5621 from chinhodado/patch-2
Avoid using an invalidated iterator
2014-03-22 16:17:13 +01:00
Yifan Lu
c5336d5817 Added printing of game save key to debug log when loading/saving 2014-03-22 16:13:30 +01:00
Henrik Rydgård
98165b599f Merge pull request #5653 from unknownbrackets/armjit-minor
Minor armjit optimizations, fix B/BL encoding
2014-03-22 16:05:59 +01:00
Henrik Rydgård
6aa20ac482 Merge pull request #5665 from unknownbrackets/savedata
Fix SIZES savedata mode + minor logging
2014-03-22 16:05:44 +01:00
Henrik Rydgård
cb705f5702 Fix CMake build 2014-03-22 15:18:01 +01:00
Henrik Rydgard
bc121242b3 Use fast_math matrix multiplication for culling and sw transform 2014-03-22 14:40:09 +01:00