// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "remoting/base/cpu_utils.h" #include "build/build_config.h" #if defined(ARCH_CPU_X86_FAMILY) #include "base/cpu.h" #endif namespace remoting { namespace { // Supporting SSE3 is a requirement for Chromium on x86/x64 so that is our base // alignment. Both SSE3 (x86) and NEON (ARM) benefit from 16 byte alignment in // libyuv so make that the default. If the CPU supports AVX2, then we will use // that alignment instead. In the cases where AVX512 is used in libyuv, the // alignment requirements are the same as for AVX2. constexpr int kDefaultAlignmentBytes = …; #if defined(ARCH_CPU_X86_FAMILY) constexpr int kAvx2AlignmentBytes = …; #endif } // namespace bool IsCpuSupported() { … } int GetSimdMemoryAlignment() { … } } // namespace remoting