From de75085c7f2e466441c477c2b2429e23d5e0881e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Wed, 29 Jun 2022 14:22:56 +0200 Subject: [PATCH] etcpak: Fix Android ARMv7 build with NDK r23 Fix merged upstream. Fixes #62516. --- thirdparty/README.md | 2 +- thirdparty/etcpak/ProcessRGB.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/thirdparty/README.md b/thirdparty/README.md index 67533788bb5f..ed8eb9f48f8e 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -118,7 +118,7 @@ will limit its functionality to IPv4 only. ## etcpak - Upstream: https://github.com/wolfpld/etcpak -- Version: 1.0 (a77d5a37ddf48034cee8aeb9e8792a623c265b4c, 2022) +- Version: 1.0 (153f0e04a18b93c277684b577365210adcf8e11c, 2022) - License: BSD-3-Clause Files extracted from upstream source: diff --git a/thirdparty/etcpak/ProcessRGB.cpp b/thirdparty/etcpak/ProcessRGB.cpp index fdb0967ce76a..4dc3bf23af21 100644 --- a/thirdparty/etcpak/ProcessRGB.cpp +++ b/thirdparty/etcpak/ProcessRGB.cpp @@ -3216,9 +3216,9 @@ etcpak_force_inline static uint16x8_t ErrorProbe_EAC_NEON( uint8x8_t recVal, uin uint8x8_t srcValWide; #ifndef __aarch64__ if( Index < 8 ) - srcValWide = vdup_lane_u8( vget_low_u8( alphaBlock ), ClampConstant( Index, 0, 8 ) ); + srcValWide = vdup_lane_u8( vget_low_u8( alphaBlock ), ClampConstant( Index, 0, 7 ) ); else - srcValWide = vdup_lane_u8( vget_high_u8( alphaBlock ), ClampConstant( Index - 8, 0, 8 ) ); + srcValWide = vdup_lane_u8( vget_high_u8( alphaBlock ), ClampConstant( Index - 8, 0, 7 ) ); #else srcValWide = vdup_laneq_u8( alphaBlock, Index ); #endif @@ -3256,9 +3256,9 @@ etcpak_force_inline static int16x8_t WidenMultiplier_EAC_NEON( int16x8_t multipl constexpr int Lane = GetMulSel( Index ); #ifndef __aarch64__ if( Lane < 4 ) - return vdupq_lane_s16( vget_low_s16( multipliers ), ClampConstant( Lane, 0, 4 ) ); + return vdupq_lane_s16( vget_low_s16( multipliers ), ClampConstant( Lane, 0, 3 ) ); else - return vdupq_lane_s16( vget_high_s16( multipliers ), ClampConstant( Lane - 4, 0, 4 ) ); + return vdupq_lane_s16( vget_high_s16( multipliers ), ClampConstant( Lane - 4, 0, 3 ) ); #else return vdupq_laneq_s16( multipliers, Lane ); #endif