Commit Graph

77 Commits

Author SHA1 Message Date
Henrik Rydgard 98e0ccf1e1 Vertex JIT: Add some missing functions to ARM/ARM64 decoders. 2017-01-25 20:13:29 +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 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 ebce8d2753 Don't convert to float with prescale off.
Since we assume we need to normalize, it seems.
2016-04-16 19:00:34 -07:00
Unknown W. Brackets ff802a983a vertexjit: Implement x86 tc morph decoding. 2016-04-16 18:38:08 -07:00
Henrik Rydgard 0a8d74728a x86/64: Add a couple of more cases to very minor vertex skinning optimization 2016-03-28 18:40:23 +02:00
Henrik Rydgard e270b955bb x86/x64: Minor vertex decoder optimization 2016-03-22 23:56:55 +01:00
Henrik Rydgard 56814ad52d SW skinning (ARM32, x86): Don't convert more bone matrices than necessary
Was already fixed on ARM64.
2015-10-25 00:51:47 +02: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 dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets 5c233fa545 Add initial decoding check for uv bounds. 2015-09-13 10:00:33 -07: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 4422b3deb7 x86: Minor soft-skinning optimization 2014-11-16 17:43:29 +01:00
Unknown W. Brackets c02172ebd5 vertexjit: Oops, this wasn't supposed to be there.
Fixes #7081.
2014-11-11 08:31:27 -08:00
Unknown W. Brackets a838459627 vertexjit: Optimize weights on x64 (not 32-bit.)
A few percent in Gods Eater Burst and Kingdom Hearts.
2014-11-08 15:16:02 -08:00
Henrik Rydgard 8177b4c43b Avoid an ifdef using PTRBITS 2014-10-12 19:35:55 +02:00
Unknown W. Brackets 4210ba44eb Clean up a few more ImmPtr() cases. 2014-09-21 08:34:27 -07:00
Unknown W. Brackets 967df9c018 vertexjit: Use SSE4 in tc u8/u16 code.
It's not much different for non-SSE 4, might as well be common.
2014-09-17 23:15:24 -07:00
Unknown W. Brackets 5276487611 vertexjit: Use SSE for all weights, u8/u16. 2014-09-17 23:14:36 -07:00
Unknown W. Brackets 4c1061ff4a vertexjit: Optimize the d3d9 weights a bit.
Only used without skinning on, or with morph, of course.
2014-09-17 08:39:56 -07:00
Unknown W. Brackets 062bcceeee Oops, forgot to multiply. 2014-09-17 08:27:44 -07:00
Unknown W. Brackets f426be59b4 vertexjit: Initial u8/u16 weights for d3d9. 2014-09-16 23:28:35 -07:00
Unknown W. Brackets 37f90597e3 vertexjit: Optimize u8/u16 weights a little.
Only for uncommon values.
2014-09-16 23:28:28 -07:00
Henrik Rydgard 1407648b59 D3D vtxdec: Convert weights and normals to float 2014-09-12 02:00:33 +02:00
Henrik Rydgard 0727df6f0a Jit the most common of the "ToFloat" texcoord conversions 2014-09-12 02:00:33 +02:00
Henrik Rydgard 37e3cf362f Move vertexdecoder files into GPU/Common 2014-09-12 02:00:32 +02:00