Commit Graph
12385 Commits
Author SHA1 Message Date
Unknown W. Brackets 58fe022ecd vertexjit: Avoid switching to VFP from NEON. 2014-03-23 16:26:17 -07:00
Unknown W. Brackets a1301f5c4d Log if any games are actually using s8 through.
Not sure about z sign.
2014-03-23 16:26:16 -07:00
Unknown W. Brackets 154b0d14a5 vertexjit: Combine a few loads and stores on ARM. 2014-03-23 16:26:16 -07:00
Unknown W. Brackets b55ad0d9c6 vertexjit: Improve NEON align on color morph ARM. 2014-03-23 16:26:15 -07:00
Unknown W. Brackets 9698a565b7 vertexjit: Implement NEON color morphs on ARM. 2014-03-23 16:26:15 -07:00
Unknown W. Brackets a478436de9 vertexjit: Attempt 16-bit color morphs on ARM. 2014-03-23 16:26:15 -07:00
Unknown W. Brackets 29f9ea5df6 vertexjit: support 8888 morph on ARM. 2014-03-23 16:26:14 -07:00
Unknown W. Brackets 34747b7aa4 vertexjit: Support morph pos/norm on ARM as well. 2014-03-23 16:26:14 -07:00
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