Enable dav1d LoongArch SIMD

This commit is contained in:
Basilisk-Dev 2026-05-11 09:48:44 -04:00 • committed by wuggy
commit 1e73896b07
13 changed files with 42 additions and 2 deletions

View file

@ -58,13 +58,21 @@
#define CONFIG_16BPC 1 #define CONFIG_16BPC 1
#define CONFIG_LOG 0 #define CONFIG_LOG 0
#define CONFIG_MACOS_KPERF 0 #define CONFIG_MACOS_KPERF 0
#if ARCH_LOONGARCH64
# define HAVE_ASM 1
#else
# define HAVE_ASM 0 # define HAVE_ASM 0
#endif
#define TRIM_DSP_FUNCTIONS 0 #define TRIM_DSP_FUNCTIONS 0
#define HAVE_ALIGNED_ALLOC 0 #define HAVE_ALIGNED_ALLOC 0
#define HAVE_DLSYM 0 #define HAVE_DLSYM 0
#define HAVE_ELF_AUX_INFO 0 #define HAVE_ELF_AUX_INFO 0
#if defined(__linux__)
# define HAVE_GETAUXVAL 1
#else
# define HAVE_GETAUXVAL 0 # define HAVE_GETAUXVAL 0
#endif
#define HAVE_MEMALIGN 0 #define HAVE_MEMALIGN 0
#define HAVE_POSIX_MEMALIGN 0 #define HAVE_POSIX_MEMALIGN 0
#define HAVE_PTHREAD_GETAFFINITY_NP 0 #define HAVE_PTHREAD_GETAFFINITY_NP 0

View file

@ -73,6 +73,25 @@ if CONFIG['OS_TARGET'] == 'WINNT':
else: else:
DEFINES['_GNU_SOURCE'] = True DEFINES['_GNU_SOURCE'] = True
if CONFIG['CPU_ARCH'] == 'loongarch64':
SOURCES += [
'/media/libdav1d/moz/loongarch_cdef.S',
'/media/libdav1d/moz/loongarch_cpu.c',
'/media/libdav1d/moz/loongarch_ipred.S',
'/media/libdav1d/moz/loongarch_itx.S',
'/media/libdav1d/moz/loongarch_loopfilter.S',
'/media/libdav1d/moz/loongarch_looprestoration.S',
'/media/libdav1d/moz/loongarch_looprestoration_inner_16bpc.c',
'/media/libdav1d/moz/loongarch_looprestoration_inner_8bpc.c',
'/media/libdav1d/moz/loongarch_mc.S',
'/media/libdav1d/moz/loongarch_msac.S',
'/media/libdav1d/moz/loongarch_refmvs.S',
]
ASFLAGS += [
'-I%s/dist/include' % OBJDIR,
'-I%s/media/libdav1d/src' % TOPSRCDIR,
]
EXPORTS.dav1d += [ EXPORTS.dav1d += [
'/media/libdav1d/src/include/dav1d/common.h', '/media/libdav1d/src/include/dav1d/common.h',
'/media/libdav1d/src/include/dav1d/data.h', '/media/libdav1d/src/include/dav1d/data.h',

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/cdef.S"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/cpu.c"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/ipred.S"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/itx.S"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/loopfilter.S"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/looprestoration.S"

View file

@ -0,0 +1,2 @@
#define BITDEPTH 16
#include "../src/src/loongarch/looprestoration_inner.c"

View file

@ -0,0 +1,2 @@
#define BITDEPTH 8
#include "../src/src/loongarch/looprestoration_inner.c"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/mc.S"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/msac.S"

View file

@ -0,0 +1 @@
#include "../src/src/loongarch/refmvs.S"