Commit graph

265 commits

Author SHA1 Message Date
Unknown W. Brackets
7f8cf7f800 arm64: Use XXH64 for vertex hashing, etc.
Based on benchmarks, it performs better than XXH32 on an A57.
2015-07-22 21:38:01 -07:00
Unknown W. Brackets
a98706f813 arm64: Correct some offset snapping. 2015-07-05 08:59:36 -07:00
Unknown W. Brackets
46c1030530 arm64: small optimization for weights. 2015-07-05 08:35:51 -07:00
Unknown W. Brackets
809f398760 arm64: Set vertexFullAlpha. 2015-07-05 00:17:06 -07:00
Unknown W. Brackets
37bc3cd347 arm64: Optimize some texcoord and normal decode. 2015-07-04 23:40:11 -07:00
Unknown W. Brackets
f8bb7f3c52 arm64: Optimize pos and nrm conversions. 2015-07-04 18:22:16 -07:00
Unknown W. Brackets
75c8ccd2c1 arm64: Update emitter from Dolphin.
From dolphin-emu/dolphin@d09d59007a.
2015-07-04 00:00:28 -07:00
Henrik Rydgard
3587b36f86 Minor cleanups in BackgroundAudio and ARM64 vtx dec. Update native. 2015-06-22 00:09:02 +02:00
Unknown W. Brackets
0597b92998 For consistency, push fp regs here too. 2015-06-14 09:24:56 -07:00
Henrik Rydgard
e848247f88 ARM64: Also save FP registers around the JIT dispatcher loop 2015-06-14 13:03:46 +02:00
Henrik Rydgard
2c05334d47 ARM64: Fix bug where we didn't save the FP registers correctly in the vertex decoder.
Also port a few ops from dolphin's ARM64 emitter.
2015-06-14 12:56:44 +02:00
Henrik Rydgard
cc6db7a8df Declare DoTexSwizzle16 outside #ifdef _M_SSE, fixing build on ARM 2015-06-14 11:25:18 +02:00
Unknown W. Brackets
401bd35691 Swizzle video texture data on write to mirrors. 2015-06-13 16:29:56 -07:00
Henrik Rydgard
5736f3aba6 Shouldn't check for NEON on ARM64 2015-06-11 12:44:45 +02:00
Henrik Rydgård
2a1f6bca97 Fix NEON 4444 CheckAlpha, workaround for failed bNEON detection on ARM64 2015-05-31 12:29:08 +02:00
Henrik Rydgård
7b50ec7b75 Merge branch 'CheckAlphaNEON' of git://github.com/KentuckyCompass/ppsspp into KentuckyCompass-CheckAlphaNEON 2015-05-31 12:00:10 +02:00
Jan Beich
5f278b2d94 Unbreak build with SSE 4.1 (clang -march=penryn)
Common/ColorConv.cpp:199:33: error: use of undeclared identifier '_mm_packus_epi32';
      did you mean '_mm_packs_epi32'?
                _mm_store_si128(&dstp[i / 2], _mm_packus_epi32(c1, c2));
                                              ^~~~~~~~~~~~~~~~
                                              _mm_packs_epi32
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:1254:1: note: '_mm_packs_epi32'
      declared here
_mm_packs_epi32(__m128i __a, __m128i __b)
^
Common/ColorConv.cpp:241:33: error: use of undeclared identifier '_mm_packus_epi32';
      did you mean '_mm_packs_epi32'?
                _mm_store_si128(&dstp[i / 2], _mm_packus_epi32(c1, c2));
                                              ^~~~~~~~~~~~~~~~
                                              _mm_packs_epi32
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:1254:1: note: '_mm_packs_epi32'
      declared here
_mm_packs_epi32(__m128i __a, __m128i __b)
^
2 errors generated.

GPU/Common/TextureScalerCommon.cpp:294:6: error: unknown type name '__m128'
                                        __m128 result = _mm_set1_ps(0.0f);
                                        ^
GPU/Common/TextureScalerCommon.cpp:294:22: error: use of undeclared identifier
      '_mm_set1_ps'
                                        __m128 result = _mm_set1_ps(0.0f);
                                                        ^
GPU/Common/TextureScalerCommon.cpp:305:9: error: unknown type name '__m128i'
                                                                __m128i samp...
                                                                ^
GPU/Common/TextureScalerCommon.cpp:305:26: error: use of undeclared identifier
      '_mm_cvtsi32_si128'
  ...__m128i sample = _mm_cvtsi32_si128(data[csy*w + csx]);
                      ^
GPU/Common/TextureScalerCommon.cpp:307:9: error: unknown type name '__m128'
                                                                __m128 col ...
                                                                ^
GPU/Common/TextureScalerCommon.cpp:308:31: error: use of undeclared identifier
      '_mm_set1_ps'
  ...col = _mm_mul_ps(col, _mm_set1_ps(weight));
                           ^
GPU/Common/TextureScalerCommon.cpp:314:6: error: unknown type name '__m128i'
                                        __m128i pixel = _mm_cvtps_epi32(_mm_...
                                        ^
GPU/Common/TextureScalerCommon.cpp:314:57: error: use of undeclared identifier
      '_mm_set1_ps'
  ...__m128i pixel = _mm_cvtps_epi32(_mm_mul_ps(result, _mm_set1_ps(bicubicInvSum...
                                                        ^
8 errors generated.
2015-05-26 15:20:10 +03:00
KentuckyCompass
880697f40a Add NEON versions of the CheckAlpha family 2015-05-25 18:04:52 -07:00
Unknown W. Brackets
ba77ad607e Erp, dumb typo. 2015-05-25 15:47:14 -07:00
Henrik Rydgård
43744b0239 Merge pull request #7741 from hrydgard/frame-profiler
Frame profiler overlay
2015-05-26 00:42:01 +02:00
Henrik Rydgard
0b2a1dfe53 Profile a few more scopes 2015-05-26 00:39:27 +02:00
Unknown W. Brackets
5d244229ba Silence a type conversion warning. 2015-05-25 10:07:05 -07:00
Unknown W. Brackets
f78acfb867 Cleanup a few things in SSE CheckAlpha. 2015-05-25 07:39:31 -07:00
Unknown W. Brackets
c75010931c Use SSE in CheckAlpha scanning. 2015-05-24 22:55:43 -07:00
Henrik Rydgard
26624709f7 Hook up the frame profiler to a few measurements 2015-05-24 23:45:36 +02:00
Unknown W. Brackets
4880c29a90 Use TextureDecoderNEON funcs statically on arm64.
Not sure if they were being used before (HAVE_ARMV7...?)
2015-05-23 11:30:05 -07:00
Henrik Rydgård
83182a0469 Merge pull request #7739 from hrydgard/screen-rotation
Implement basic screen rotation as requested in #297
2015-05-18 16:31:19 +02:00
Unknown W. Brackets
c6b55459b1 vertexjit: Skip soft skinning setup when morphing.
This makes x86 match arm.
2015-05-16 21:47:13 -07:00
Henrik Rydgard
95b6b50fd5 Disable screen rotation in non-buffered rendering (as it won't worK) 2015-05-12 22:44:18 +02:00
Henrik Rydgard
3f7830743a Implement basic screen rotation as requested in #297 . Does not work correctly in non-buffered rendering yet. 2015-05-12 21:01:15 +02:00
Henrik Rydgard
5d0d67140f Reverse Y when checking for rotated rects in Direct3D 9. Fixes #7738. 2015-05-12 20:01:04 +02:00
Unknown W. Brackets
b782165b6a Avoid some division. 2015-05-10 14:39:38 -07:00
Unknown W. Brackets
a090b5853f Process UV rotation even in full transform. 2015-05-10 14:17:20 -07:00
Unknown W. Brackets
c8fc9b0bf3 Cleanup some incorrect handling of clut offset. 2015-04-26 00:31:00 -07:00
Unknown W. Brackets
5b61c03b7f Avoid accidental sign ext for > 24 bit clut shift. 2015-04-26 00:26:24 -07:00
Unknown W. Brackets
5ee062c681 Try to optimize bezier color sampling. 2015-04-18 12:47:21 -07:00
Unknown W. Brackets
327ca4c96e Stub invalid vertex decoder colors to avoid crash.
These values are invalid, but before we'd call a null pointer if we hit
them.  Should do tests to see what actual behavior is.
2015-04-17 23:24:21 -07:00
Henrik Rydgard
a9ff7c22fe Reject too-small spline patches. Might help #7690. 2015-04-17 08:33:05 +02:00
Henrik Rydgard
68893c763f Spline: Fix an unrelated kind-of-bug 2015-04-16 18:32:37 +02:00
Henrik Rydgard
6587f4de8f Spline: Fix #7684 by removing awful epsilons that "fixed" off-by-ones depending on vertex count because of fp rounding. 2015-04-16 18:32:13 +02:00
Henrik Rydgard
2e38762708 Spline: Add commented-out sanity check for debugging 2015-04-16 18:22:08 +02:00
Henrik Rydgard
b3305246a3 Spline: Not that it should matter, but move the patch_div clamping down after the subsampling 2015-04-16 18:18:49 +02:00
Henrik Rydgard
6bc9a525f8 Spline: remove n and m, confusing 2015-04-16 18:14:46 +02:00
Unknown W. Brackets
be7d1d1169 Add a bit of a hack for smaller framebuf memcpys.
Hopefully this doesn't false-positive in any other games.  Helps Valkyrie
Profile's battle entry effect.
2015-04-12 11:05:28 -07:00
Unknown W. Brackets
fa85229d3d Use a temporary for more code clarity.
Static analysis thinks there are typos here.  Temporary is clearer and
possibly faster depending on compiler intelligence.
2015-04-10 11:48:45 -07:00
Henrik Rydgard
a19ea78b4b Consolidate the texture scaler code. 2015-04-08 22:52:49 +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
a67f009679 Merge pull request #7668 from hrydgard/consolidate-spline
Consolidate spline code
2015-04-08 22:20:55 +02:00
Henrik Rydgard
058499e5bf De-dupe the spline code 2015-04-08 21:44:54 +02:00