@@ -46,6 +46,20 @@ if(NOT DEFINED SKIP_GMM_CHECK)
46
46
endif ()
47
47
endif (NOT DEFINED SKIP_GMM_CHECK)
48
48
49
+ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "^loongarch" )
50
+ find_path (SIMDE_INCLUDE_DIR
51
+ NAMES simde/simde-common.h # A key SIMDE header
52
+ PATHS /usr/include /usr/local/include # Default paths
53
+ DOC "Path to SIMDE headers"
54
+ )
55
+ if (SIMDE_INCLUDE_DIR)
56
+ include_directories (${SIMDE_INCLUDE_DIR} )
57
+ message (STATUS "Found SIMDE: ${SIMDE_INCLUDE_DIR} " )
58
+ else ()
59
+ message (FATAL_ERROR "SIMDE not found. Install it or set SIMDE_INCLUDE_DIR manually." )
60
+ endif ()
61
+ endif ()
62
+
49
63
message ("-- media -- PLATFORM = ${PLATFORM} " )
50
64
message ("-- media -- ARCH = ${ARCH} " )
51
65
message ("-- media -- CMAKE_CURRENT_LIST_DIR = ${CMAKE_CURRENT_LIST_DIR} " )
@@ -248,8 +262,11 @@ set_source_files_properties(${CP_COMMON_SHARED_SOURCES_} PROPERTIES LANGUAGE "CX
248
262
set_source_files_properties (${CP_COMMON_NEXT_SOURCES_} PROPERTIES LANGUAGE "CXX" )
249
263
set_source_files_properties (${CP_SOURCES_} PROPERTIES LANGUAGE "CXX" )
250
264
set_source_files_properties (${SOFTLET_DDI_SOURCES_} PROPERTIES LANGUAGE "CXX" )
265
+
266
+ if (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^loongarch" )
251
267
set_source_files_properties (${SOURCES_SSE2} PROPERTIES LANGUAGE "CXX" )
252
268
set_source_files_properties (${SOURCES_SSE4} PROPERTIES LANGUAGE "CXX" )
269
+ endif ()
253
270
254
271
# MHW settings
255
272
set (SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_
@@ -421,13 +438,15 @@ set (VP_PRIVATE_INCLUDE_DIRS_
421
438
${VP_PRIVATE_INCLUDE_DIRS_}
422
439
${SOFTLET_VP_PRIVATE_INCLUDE_DIRS_} )
423
440
441
+ if (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^loongarch" )
424
442
add_library (${LIB_NAME} _SSE2 OBJECT ${SOURCES_SSE2} )
425
443
target_compile_options (${LIB_NAME} _SSE2 PRIVATE -msse2)
426
444
target_include_directories (${LIB_NAME} _SSE2 BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_} ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_} )
427
445
428
446
add_library (${LIB_NAME} _SSE4 OBJECT ${SOURCES_SSE4} )
429
447
target_compile_options (${LIB_NAME} _SSE4 PRIVATE -msse4.1)
430
448
target_include_directories (${LIB_NAME} _SSE4 BEFORE PRIVATE ${SOFTLET_MOS_PREPEND_INCLUDE_DIRS_} ${MOS_PUBLIC_INCLUDE_DIRS_} ${SOFTLET_MOS_PUBLIC_INCLUDE_DIRS_} ${COMMON_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_} ${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_} )
449
+ endif ()
431
450
432
451
add_library (${LIB_NAME} _COMMON OBJECT ${COMMON_SOURCES_} ${SOFTLET_DDI_SOURCES_} )
433
452
set_property (TARGET ${LIB_NAME} _COMMON PROPERTY POSITION_INDEPENDENT_CODE 1)
@@ -603,6 +622,17 @@ target_include_directories(${LIB_NAME}_mos_softlet BEFORE PRIVATE
603
622
############## MOS LIB END ########################################
604
623
605
624
############## Media Driver Static and Shared Lib #################
625
+ if ( ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^loongarch" )
626
+ add_library (${LIB_NAME} SHARED
627
+ $<TARGET_OBJECTS:${LIB_NAME} _mos>
628
+ $<TARGET_OBJECTS:${LIB_NAME} _COMMON>
629
+ $<TARGET_OBJECTS:${LIB_NAME} _CODEC>
630
+ $<TARGET_OBJECTS:${LIB_NAME} _VP>
631
+ $<TARGET_OBJECTS:${LIB_NAME} _CP>
632
+ $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_VP>
633
+ $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_CODEC>
634
+ $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_COMMON>)
635
+ else ()
606
636
add_library (${LIB_NAME} SHARED
607
637
$<TARGET_OBJECTS:${LIB_NAME} _mos>
608
638
$<TARGET_OBJECTS:${LIB_NAME} _COMMON>
@@ -614,8 +644,20 @@ add_library(${LIB_NAME} SHARED
614
644
$<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_VP>
615
645
$<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_CODEC>
616
646
$<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_COMMON>)
647
+ endif ()
617
648
618
649
650
+ if ( ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^loongarch" )
651
+ add_library (${LIB_NAME_STATIC} STATIC
652
+ $<TARGET_OBJECTS:${LIB_NAME} _mos>
653
+ $<TARGET_OBJECTS:${LIB_NAME} _COMMON>
654
+ $<TARGET_OBJECTS:${LIB_NAME} _CODEC>
655
+ $<TARGET_OBJECTS:${LIB_NAME} _VP>
656
+ $<TARGET_OBJECTS:${LIB_NAME} _CP>
657
+ $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_VP>
658
+ $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_CODEC>
659
+ $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_COMMON>)
660
+ else ()
619
661
add_library (${LIB_NAME_STATIC} STATIC
620
662
$<TARGET_OBJECTS:${LIB_NAME} _mos>
621
663
$<TARGET_OBJECTS:${LIB_NAME} _COMMON>
@@ -627,6 +669,7 @@ add_library(${LIB_NAME_STATIC} STATIC
627
669
$<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_VP>
628
670
$<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_CODEC>
629
671
$<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_COMMON>)
672
+ endif ()
630
673
631
674
set_target_properties (${LIB_NAME_STATIC} PROPERTIES OUTPUT_NAME ${LIB_NAME} )
632
675
0 commit comments