commit | 997e3c083a5fcdc008860ca51a4739bd23903e10 | [log] [tgz] |
---|---|---|
author | Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> | Tue Jul 17 11:56:52 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jul 17 11:56:52 2018 |
tree | 96812cd7d4acd90484e73a77ecdcdc4685ce5dac | |
parent | 446e9e4ce9e312d9840c4896a453f5b9ad8b2a00 [diff] |
skia: Build skcms with -mfp16-format=ieee on GCC ARM builds skcms' Transform_inl.h assumes support for 16-bit floating point in the __ARM_FP macro means the __fp16 (and corresponding SIMD data type) is present. While this is currently true for LLVM, which always sets the equivalent of GCC's -mfp16-format=ieee internally on ARM builds, GCC explicitly needs that option to be specified in order to enable support for __fp16. Doing so allows GCC ARM builds to proceed without the following error: ../../third_party/skia/third_party/skcms/src/Transform_inl.h: In function 'F_from_Half_': ../../third_party/skia/third_party/skcms/src/Transform_inl.h:101:72: error: 'float16x4_t' undeclared (first use in this function); did you mean 'float32x4_t'? SI ATTR F NS(F_from_Half_(U16 half)) { return vcvt_f32_f16((float16x4_t)half); } ^~~~~~~~~~~ float32x4_t ../../third_party/skia/third_party/skcms/src/Transform_inl.h:101:72: note: each undeclared identifier is reported only once for each function it appears in ../../third_party/skia/third_party/skcms/src/Transform_inl.h:101:84: error: expected ')' before 'half' SI ATTR F NS(F_from_Half_(U16 half)) { return vcvt_f32_f16((float16x4_t)half); } ^~~~ ) ../../third_party/skia/third_party/skcms/src/Transform_inl.h: In function 'Half_from_F_': ../../third_party/skia/third_party/skcms/src/Transform_inl.h:102:5: error: can't convert a value of type 'int' to vector type '__vector(4) short unsigned int' which has different size SI ATTR U16 NS(Half_from_F_(F f)) { return (U16)vcvt_f16_f32( f); } ^~ Bug: 819294 Change-Id: Ib7417fb9bdc6bd93553084053ba69f9d3409b112 Reviewed-on: https://chromium-review.googlesource.com/1138251 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com> Cr-Commit-Position: refs/heads/master@{#575608}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .