Bug 241182
Summary: | [ARM][NEON] FELightningNEON.cpp fails to build, NEON fast path seems unused | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adrian Perez <aperez> |
Component: | Tools / Tests | Assignee: | Adrian Perez <aperez> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | loic.yhuel, olivier.blin, psaavedra, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Other | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 241183 |
Adrian Perez
In order to reproduce, the easiest is to check out Buildroot
commit eb5e2d2d43c5c0f71ae8243081625261de2cd134, and use the
following snippet as a defconfig:
% cat > configs/wpewebkit_neon_defconfig <<EOF
BR2_arm=y
BR2_cortex_a72=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_SYSTEM_DHCP="eth0"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-4-b"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_COG=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4/config_4.txt"
BR2_PACKAGE_WPEWEBKIT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
EOF
% make O=wpewebkit-neon wpewebkit_neon_defconfig
% make O=wpewebkit-neon BR2_JLEVEL=$(nproc) wpewebkit
After a while, the build will fail with:
[ 48%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-cbdfe323-42.cpp.o
In file included from platform/graphics/filters/FESpecularLighting.h:25,
from svg/SVGFESpecularLightingElement.h:25,
from ../../WebCore/DerivedSources/JSSVGFESpecularLightingElement.h:26,
from ../../WebCore/DerivedSources/JSSVGFESpecularLightingElement.cpp:22,
from ../../WebCore/DerivedSources/unified-sources/UnifiedSource-3a52ce78-119.cpp:5:
platform/graphics/filters/FELighting.h:72:41: error: ‘LightingData’ does not name a type
72 | inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&);
| ^~~~~~~~~~~~
make[4]: *** [Source/WebCore/CMakeFiles/WebCore.dir/build.make:5152: Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3a52ce78-119.cpp.o] Error 1
Moreover, it seems that nothing calls FELighting::platformApplyNeon()
anymore, which means even the code got built it would not be used.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Adrian Perez
Pull request: https://github.com/WebKit/WebKit/pull/1233
Radar WebKit Bug Importer
<rdar://problem/94631062>
Olivier Blin
FELighting::platformApplyNeon() being unused seems to be a regression from bug 232832, see https://commits.webkit.org/r286140
Adrian Perez
This has been implemented using the new filters infrastructure
in 272873@main ^=^
*** This bug has been marked as a duplicate of bug 267349 ***
Olivier Blin
Thanks Adrian!