Commit Graph

9869 Commits

Author SHA1 Message Date
Yao Wei Tjong 姚伟忠
8a447c7eda Enable BT_USE_SSE on Linux platform & BT_USE_NEON on Android platform.
Add new build option URHO3D_NEON to enable/disable NEON code branch.
Fix a bug where previously URHO3D_SSE was also erroneously being used to switch off BT_USE_NEON on iOS.
Add new build option URHO3D_DEPLOYMENT_TARGET to set the GCC/Clang target arch (-march compiler flag). Default value is 'native'. Setting this to any cpu type higher than Pentium 4 may influence the effective SSE level being used in the build. The BulletPhysics library may switch to use higher level SSE as the result, for instance.
2015-10-16 16:32:28 +08:00
Yao Wei Tjong 姚伟忠
31e0f09999 Fix android rake task to work with multiple devices attached to adb. 2015-10-16 16:24:06 +08:00
urho3d-travis-ci
1abd059b66 Travis CI: API documentation update at 2015-10-15 22:50:43 UTC.
[ci package]

Commit: 9bd1a02655

Message: Copy the nostencil flag correctly from the source view.
2015-10-15 22:50:43 +00:00
Lasse Öörni
9bd1a02655 Copy the nostencil flag correctly from the source view. 2015-10-16 01:30:23 +03:00
Lasse Öörni
bd3efa69c1 Remove code duplication from render stats gathering. 2015-10-16 01:15:04 +03:00
Lasse Öörni
5161060d5b Allow to define a culling camera for Viewport. When defined, multiple views can share the same culling and other view preparations, reducing CPU use. 2015-10-16 01:11:22 +03:00
Lasse Öörni
f2713d93f1 Force stack realignment on MinGW with SSE. Closes #954. 2015-10-15 15:03:54 +03:00
Lasse Öörni
d66e8787e3 Only find AnimationController states using the animation's resource name (instead of user-supplied) to avoid potential ambiguous/unsanitated resource names leading to creation of duplicate animation states. 2015-10-14 11:24:53 +03:00
urho3d-travis-ci
58df09ae95 Travis CI: API documentation update at 2015-10-13 14:38:40 UTC.
[ci package]

Commit: 42ac49d933

Message: Merge remote-tracking branch 'juj/no_boundingbox_bool'
2015-10-13 14:38:40 +00:00
Lasse Öörni
42ac49d933 Merge remote-tracking branch 'juj/no_boundingbox_bool' 2015-10-13 16:13:58 +03:00
Lasse Öörni
563c4cc2d6 Merge remote-tracking branch 'juj/sse_opt_quat' 2015-10-13 16:13:46 +03:00
Lasse Öörni
222cb27a74 Add URHO3D_API specifier to SourceBatch struct. 2015-10-13 14:17:43 +03:00
Jukka Jylänki
fbd07ac39c Remove BoundingBox::defined_ boolean and instead have min = INF and max = -INF denote the case when a bounding box is degenerate. This helps reduce branching and SSE'ifying BoundingBox. SSE optimize some hot BoundingBox functions. 2015-10-13 13:58:04 +03:00
Jukka Jylänki
a44466c150 SSE optimize Quaternion.h. 2015-10-13 13:52:48 +03:00
Lasse Öörni
af5a14c3d9 Mark potentially dangerous math class constructors explicit. Closes #947. 2015-10-13 11:18:12 +03:00
Lasse Öörni
bb6a501d7d Merge remote-tracking branch 'juj/hot_sse' 2015-10-13 10:55:11 +03:00
Yao Wei Tjong 姚伟忠
c5c78603da Remove the workaround command for setting linker flags.
[ci skip]
2015-10-13 09:53:53 +08:00
Yao Wei Tjong 姚伟忠
0e4ba63687 Only initialize the URHO3D_DEFAULT_SSE variable only once. 2015-10-13 09:30:52 +08:00
Yao Wei Tjong 姚伟忠
a6dbb2c06d Merge branch 'juj-allow_enable_sse_on_emscripten' into master. 2015-10-13 09:08:12 +08:00
Jukka Jylänki
f24af4ee9b Enable setting -DURHO3D_SSE=1 on Emscripten, but leave it disabled by default. 2015-10-13 00:30:09 +03:00
Jukka Jylänki
fd6a6e9336 SSE optimize Quaternion multiplication. 2015-10-12 20:45:38 +03:00
Jukka Jylänki
86e86bcd30 SSE optimize BoundingBox::Transformed(). 2015-10-12 20:45:38 +03:00
Jukka Jylänki
4ffff7ab4c SSE optimize Matrix3x4 construction from translation, rotation and scale. 2015-10-12 20:45:37 +03:00
Lasse Öörni
173080cbc8 Make bounding box undefined if it was clipped to be degenerate. Closes #944. 2015-10-12 12:10:45 +03:00
Lasse Öörni
d09a94aa8f Minor doc edit related to SSE. 2015-10-12 11:50:58 +03:00
Lasse Öörni
52805e2709 Merge remote-tracking branch 'juj/sse_matrix_math' 2015-10-12 11:49:14 +03:00
Lasse Öörni
3988f8873e Merge remote-tracking branch 'juj/unsynchronized_jacks' 2015-10-12 11:44:26 +03:00
Yao Wei Tjong 姚伟忠
d45c85302b Rectify wrong object registration.
[ci skip]
2015-10-12 15:37:38 +08:00
aster2013
b7ee2575d7 Convert tab to spaces, [ci skip] 2015-10-12 13:59:54 +08:00
aster2013
27184504c9 Reset slots to setup pose, fix issue #932. 2015-10-12 13:40:47 +08:00
urho3d-travis-ci
7af9276249 Travis CI: API documentation update at 2015-10-12 04:35:21 UTC.
[ci package]

Commit: 96917c5412

Message: Minor Fix, Thanks @weitjong
2015-10-12 04:35:21 +00:00
aster2013
96917c5412 Minor Fix, Thanks @weitjong 2015-10-12 11:42:16 +08:00
aster2013
5d31552b82 Merge branch 'type-info' 2015-10-12 11:19:42 +08:00
aster2013
a1105f7d38 Minor refactor, add comment to type info. 2015-10-12 10:31:38 +08:00
Lasse Öörni
04dba029ed Clarifications for third party library use in the contribution checklist. 2015-10-11 20:14:01 +03:00
Jukka Jylänki
bf9111b862 Make Jacks not walk in synchronized lockstep timing in 06_SkeletalAnimation sample. 2015-10-11 19:05:51 +03:00
aster2013
3a948899a7 Add type info, remove BASEOBJECT macro, now user can use type info check object type. for example:
Button::IsTypeOf<UIElement>() is ture, Button::IsTypeOf<BorderImage>() is ture, Button::IsTypeOf<CheckBox>() is false.
2015-10-11 23:26:29 +08:00
aster2013
6bd1d77634 Add baseTypeName argument to OBJECT macro. 2015-10-11 22:17:55 +08:00
Yao Wei Tjong 姚伟忠
08e0b3bd62 Switch off SSE when targeting iOS/iPhoneSimulator as well. 2015-10-11 12:54:19 +08:00
Yao Wei Tjong 姚伟忠
c44ff392df Minor clean up to remove redundant linker flag.
[ci skip]
2015-10-11 09:52:00 +08:00
Lasse Öörni
1a317e63ce Actually allow to enable the threading option on Emscripten platform. Define the required compiler & linker flag when enabled. 2015-10-11 01:11:56 +03:00
Jukka Jylänki
3ac2cb6e37 Avoid depending on 64-bit only function _mm_cvtsi128_si64() in Matrix operator == to allow targeting 32-bit as well. 2015-10-11 01:07:01 +03:00
Jukka Jylänki
00be823f71 Update URHO3D_SSE to denote SSE2. 2015-10-11 00:12:13 +03:00
Lasse Öörni
af7ed744f0 URHO3D_THREADING build option. Closes #939. 2015-10-10 23:17:03 +03:00
Jukka Jylänki
0107a0bf75 SSE optimize Urho3D/Math/Matrix3x4.h and Urho3D/Math/Matrix4.h. These yield a ~3% improvement in 06_SkeletalAnimation sample with 2000 Jacks in it. 2015-10-10 21:20:29 +03:00
Lasse Öörni
da81b99ca3 Do not return a resolution list containing 1x1 on Emscripten, rather return empty. Do not check fullscreen mode validity if the resolution list is empty. 2015-10-10 19:29:28 +03:00
Yao Wei Tjong 姚伟忠
ec125f2952 Switch off SSE for 64-bit arm platforms as well.
[ci only: Android, OSX, Coverity]
2015-10-10 23:15:48 +08:00
Lasse Öörni
e6e16b90ed Minor code formatting. Document that we have returned to the old behavior of not notifying dirty node transform if it was already dirty before, and users of the TransformChanged() function should read the node's world transform to ensure continued notifications. 2015-10-10 14:42:29 +03:00
Jukka Jylänki
d168ab9d91 Optimize Node::MarkDirty() implementation by a) relying on the invariant that all children of a dirty node must also be dirty, and that all parents of a clean node must also be clean, b) avoid double-dereferencing Component WeakPtr in listeners, c) use the swap-with-last erase trick to avoid O(n^2) behavior in removing listeners, and d) perform tail call optimization to avoid excessive recursive function calls when marking children dirty. This optimizes the Node::MarkDirty() time in 06_SkeletalAnimation scene with 2000 Jacks from 42.73% down to 16.43%, a net saving of -61.5% less time spent in that call site. Closes #931. 2015-10-10 14:42:28 +03:00
Yao Wei Tjong 姚伟忠
ace1f1155b Avoid hardcoding the conditional list for URHO3D_SSE build option.
Android on Intel Atom will now have this option and defaulted to true.
2015-10-10 19:16:14 +08:00