| 2058 | } |
| 2059 | |
| 2060 | void b2ParticleSystem::UpdateProxies_Simd( |
| 2061 | b2GrowableBuffer<Proxy>& proxies) const |
| 2062 | { |
| 2063 | uint32* tags = (uint32*) |
| 2064 | m_world->m_stackAllocator.Allocate(m_count * sizeof(uint32)); |
| 2065 | |
| 2066 | // Calculate tag for every position. |
| 2067 | // 'tags' array is in position-order. |
| 2068 | CalculateTags_Simd(m_positionBuffer.data, m_count, |
| 2069 | m_inverseDiameter, tags); |
| 2070 | |
| 2071 | // Update 'tag' element in the 'proxies' array to the new values. |
| 2072 | UpdateProxyTags(tags, proxies); |
| 2073 | |
| 2074 | m_world->m_stackAllocator.Free(tags); |
| 2075 | } |
| 2076 | #endif // defined(LIQUIDFUN_SIMD_NEON) |
| 2077 | |
| 2078 | // static |