Enable RISC-V Vector (RVV) by default when building natively on RISC-V
platforms (such as SpacemiT K1/K3) using CMake and Bazel:
- CMakeLists.txt: Detect riscv64 and riscv32, probe compiler support
for -march=rv64gcv / -march=rv32gcv, and append architecture flags
with auto-vectorization disabled (-fno-vectorize -fno-slp-vectorize).
Support custom architecture flags via -DRISCV_COMPILER_FLAGS and
provide -DUSE_RVV=OFF to disable.
- BUILD.bazel: Add RVV_COPTS for @platforms//cpu:riscv64 and
@platforms//cpu:riscv32 with -fno-vectorize.
- docs/getting_started.md: Document native SBC builds, custom targets
(SiFive X280, Coral 32-bit Zve32x), Bazel, and Blaze commands.
Test: cmake build on host and simulated riscv64; clang cross-compile tests
Bug: none
Change-Id: Iecb20b73b2934b6477e7e0c71b3539a8251e4e8b
TAG=agy
CONV=2f28dd8a-c892-4c29-8aed-606afd090398
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8349493
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
Some headers in the include/libyuv directory are private headers and
should not be visible to the clients of the libyuv library target. List
the public headers explicitly in the hdrs list of the libyuv library
target.
Ideally those private headers should be moved to some other directory
such as the source/ directory.
Change-Id: I04b1e209f6891f06c688fcf0bf5d167e82a27818
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8308801
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Frank Barchard <fbarchard@google.com>
LIBYUV_UNBIASED_DATA is a new configuration macro introduced in
commit ba68378. It fixes the AR30 rounding bias offset (+24 / -24) for
10-bit YUV to RGB conversions.
Bug: 551985141
Change-Id: Id724d8cabaee441147d998f77034bc3e31c25a9d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8298160
Reviewed-by: Frank Barchard <fbarchard@google.com>