Commit Graph

53 Commits

Author SHA1 Message Date
Unknown W. Brackets
7910b4029a arm64jit: Track writable and non-writable pointers.
Switch uses different memory regions.  We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Henrik Rydgård
dbe52c8135 Remove some obsolete checks - software skinning is now supported even if morphcount isn't 1. 2018-04-10 13:09:01 +02:00
Henrik Rydgård
ccd594dae7 Revert "VertexLoader: Remove now-unused weights translation code"
This reverts commit 44100c6c1d.
2018-04-10 12:30:49 +02:00
Henrik Rydgård
36fd2711d6 Revert "Remove further remains of hardware skinning."
This reverts commit 40db61a680.
2018-04-10 12:22:41 +02:00
Henrik Rydgård
40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Henrik Rydgård
44100c6c1d VertexLoader: Remove now-unused weights translation code 2018-03-05 00:03:47 +01:00
Unknown W. Brackets
5788e33b2f arm64: Use LDRUH instead of two LDRBs.
Small boost - 5.66x instead of 5x steps.
2017-12-03 06:35:44 -08:00
Henrik Rydgård
4129459495 Avoid an assert in ARM64 emitter, seen in Google Play crash logs 2017-11-29 21:31:42 +01:00
Henrik Rydgård
22e65ba80d Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 2017-08-31 01:14:51 +02:00
Unknown W. Brackets
7699fa55de arm: Jit throughmode 16-bit texcoords.
It's popular, and this makes decoding such verts much faster.
2017-05-06 22:52:58 -07:00
Unknown W. Brackets
257f8dbbc6 GPU: Remove now-unused vertex decoder funcs.
We always convert to float now, so these functions are no longer used.
2017-05-06 18:55:16 -07:00
Henrik Rydgård
440e72d250 Clean up among the logs. Remove MASTER_LOG. 2017-03-06 13:10:23 +01:00
Henrik Rydgard
a272a4ee3f Improve error message on vertex decoder compile fail. Also disable a broken vertex JIT function until it can be fixed. 2017-03-03 14:19:36 +01:00
Henrik Rydgård
a61cb44b1c Oops, changed the wrong function. 2017-01-29 15:07:25 +01:00
Henrik Rydgard
59f5c53040 Fix recent texture scaling bug. Should help #9250
Not all cases tested yet.
2017-01-29 14:42:59 +01:00
Henrik Rydgård
e1bae9aa67 Follow the ARM64 ABI better (update the frame pointer). 2017-01-27 14:19:03 +01:00
Henrik Rydgard
98e0ccf1e1 Vertex JIT: Add some missing functions to ARM/ARM64 decoders. 2017-01-25 20:13:29 +01:00
Henrik Rydgård
3d8c94cf90 Fix bug where if the Vertex Decoder JIT failed, we failed to restore mprotect permissions causing a crash 2017-01-25 19:07:13 +01:00
Henrik Rydgard
1dbeca0618 Only support decoding UV to float in vertex formats. Supporting u8 and 16 was more complexity than it's worth. 2016-12-20 13:42:54 +01:00
Florent Castelli
8c3552de74 cmake: Detect features at compile time
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Henrik Rydgard
03279e1212 Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Henrik Rydgard
b264657d56 Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
Disabled block linking in this mode, can re-enable with some more work later.

To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Unknown W. Brackets
7127de302e Avoid some unused variable warnings. 2016-08-05 10:48:18 -07:00
Unknown W. Brackets
4113fd940c Add ugly invalidation workaround for SGS7s.
Otherwise they just crash, and crash often.  Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Henrik Rydgard
6a373fe09a Make it possible to view vertex decoders through the shader viewing mechanism (even though they aren't strictly shaders, they fit the model). 2015-10-24 10:41:31 +02:00
Unknown W. Brackets
3233116749 Use fixed regs for uv bounds check in arm64. 2015-09-13 15:06:29 -07:00
Unknown W. Brackets
dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets
31106d063c Fix MSVC 2015 highlighting for ARM/ARM64. 2015-09-13 10:02:55 -07:00
Unknown W. Brackets
72a73045bb Add uv range to arm64 and non-jit decoders. 2015-09-13 10:01:37 -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
5736f3aba6 Shouldn't check for NEON on ARM64 2015-06-11 12:44:45 +02:00
Henrik Rydgård
d0b35e88a2 No need to generate a zero register.. 2015-04-06 18:13:46 +02:00
Henrik Rydgård
a7b7fedc9f Cleaup. Add a missing vertex dec func. 2015-04-06 18:13:45 +02:00
Henrik Rydgård
4bd95b0cb7 ARM64: Fixup software skinning. Now seems to work, at least in a bunch of games.. 2015-04-06 18:13:45 +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
f937b4b74b ARM64 vtxdec: Basic implementation of the 16-bit color formats 2015-04-06 18:13:43 +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
a710abb58b A bunch more vertex decoder funcs 2015-04-06 18:13:41 +02:00
Henrik Rydgard
ff758f58ad ARM64: The Return of the Pointer Truncator - The Movie 2015-04-06 18:13:26 +02:00
Henrik Rydgard
db0fd1042f Add "Arm64EmitterTest" which can run on startup to play around with instructions. 2015-04-06 18:13:26 +02:00
Henrik Rydgard
1e9fdf08c5 Temporarily disable vertexjit 2015-04-06 18:13:23 +02:00