Common: Move CPU macros to types.h
This commit is contained in:
@ -10,15 +10,14 @@
|
||||
#include "common/assert.h"
|
||||
#include "common/log.h"
|
||||
#include "common/make_array.h"
|
||||
#include "common/platform.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
Log_SetChannel(GPU_SW);
|
||||
|
||||
#if defined(CPU_X64)
|
||||
#if defined(CPU_ARCH_X64)
|
||||
#include <emmintrin.h>
|
||||
#elif defined(CPU_AARCH64)
|
||||
#elif defined(CPU_ARCH_ARM64)
|
||||
#ifdef _MSC_VER
|
||||
#include <arm64_neon.h>
|
||||
#else
|
||||
@ -163,7 +162,7 @@ ALWAYS_INLINE void CopyOutRow16<GPUTexture::Format::RGBA5551, u16>(const u16* sr
|
||||
{
|
||||
u32 col = 0;
|
||||
|
||||
#if defined(CPU_X64)
|
||||
#if defined(CPU_ARCH_X64)
|
||||
const u32 aligned_width = Common::AlignDownPow2(width, 8);
|
||||
for (; col < aligned_width; col += 8)
|
||||
{
|
||||
@ -177,7 +176,7 @@ ALWAYS_INLINE void CopyOutRow16<GPUTexture::Format::RGBA5551, u16>(const u16* sr
|
||||
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst_ptr), value);
|
||||
dst_ptr += 8;
|
||||
}
|
||||
#elif defined(CPU_AARCH64)
|
||||
#elif defined(CPU_ARCH_ARM64)
|
||||
const u32 aligned_width = Common::AlignDownPow2(width, 8);
|
||||
for (; col < aligned_width; col += 8)
|
||||
{
|
||||
@ -202,7 +201,7 @@ ALWAYS_INLINE void CopyOutRow16<GPUTexture::Format::RGB565, u16>(const u16* src_
|
||||
{
|
||||
u32 col = 0;
|
||||
|
||||
#if defined(CPU_X64)
|
||||
#if defined(CPU_ARCH_X64)
|
||||
const u32 aligned_width = Common::AlignDownPow2(width, 8);
|
||||
for (; col < aligned_width; col += 8)
|
||||
{
|
||||
@ -217,7 +216,7 @@ ALWAYS_INLINE void CopyOutRow16<GPUTexture::Format::RGB565, u16>(const u16* src_
|
||||
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst_ptr), value);
|
||||
dst_ptr += 8;
|
||||
}
|
||||
#elif defined(CPU_AARCH64)
|
||||
#elif defined(CPU_ARCH_ARM64)
|
||||
const u32 aligned_width = Common::AlignDownPow2(width, 8);
|
||||
const uint16x8_t single_mask = vdupq_n_u16(0x1F);
|
||||
for (; col < aligned_width; col += 8)
|
||||
|
||||
Reference in New Issue
Block a user