@@ -46,6 +46,20 @@ if(NOT DEFINED SKIP_GMM_CHECK)
4646 endif ()
4747endif (NOT DEFINED SKIP_GMM_CHECK)
4848
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+
4963message ("-- media -- PLATFORM = ${PLATFORM} " )
5064message ("-- media -- ARCH = ${ARCH} " )
5165message ("-- media -- CMAKE_CURRENT_LIST_DIR = ${CMAKE_CURRENT_LIST_DIR} " )
@@ -248,8 +262,11 @@ set_source_files_properties(${CP_COMMON_SHARED_SOURCES_} PROPERTIES LANGUAGE "CX
248262set_source_files_properties (${CP_COMMON_NEXT_SOURCES_} PROPERTIES LANGUAGE "CXX" )
249263set_source_files_properties (${CP_SOURCES_} PROPERTIES LANGUAGE "CXX" )
250264set_source_files_properties (${SOFTLET_DDI_SOURCES_} PROPERTIES LANGUAGE "CXX" )
265+
266+ if (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^loongarch" )
251267set_source_files_properties (${SOURCES_SSE2} PROPERTIES LANGUAGE "CXX" )
252268set_source_files_properties (${SOURCES_SSE4} PROPERTIES LANGUAGE "CXX" )
269+ endif ()
253270
254271# MHW settings
255272set (SOFTLET_MHW_PRIVATE_INCLUDE_DIRS_
@@ -421,13 +438,15 @@ set (VP_PRIVATE_INCLUDE_DIRS_
421438 ${VP_PRIVATE_INCLUDE_DIRS_}
422439 ${SOFTLET_VP_PRIVATE_INCLUDE_DIRS_} )
423440
441+ if (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "^loongarch" )
424442add_library (${LIB_NAME} _SSE2 OBJECT ${SOURCES_SSE2} )
425443target_compile_options (${LIB_NAME} _SSE2 PRIVATE -msse2)
426444target_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_} )
427445
428446add_library (${LIB_NAME} _SSE4 OBJECT ${SOURCES_SSE4} )
429447target_compile_options (${LIB_NAME} _SSE4 PRIVATE -msse4.1)
430448target_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 ()
431450
432451add_library (${LIB_NAME} _COMMON OBJECT ${COMMON_SOURCES_} ${SOFTLET_DDI_SOURCES_} )
433452set_property (TARGET ${LIB_NAME} _COMMON PROPERTY POSITION_INDEPENDENT_CODE 1)
@@ -603,6 +622,17 @@ target_include_directories(${LIB_NAME}_mos_softlet BEFORE PRIVATE
603622############## MOS LIB END ########################################
604623
605624############## 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 ()
606636add_library (${LIB_NAME} SHARED
607637 $<TARGET_OBJECTS:${LIB_NAME} _mos>
608638 $<TARGET_OBJECTS:${LIB_NAME} _COMMON>
@@ -614,8 +644,20 @@ add_library(${LIB_NAME} SHARED
614644 $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_VP>
615645 $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_CODEC>
616646 $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_COMMON>)
647+ endif ()
617648
618649
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 ()
619661add_library (${LIB_NAME_STATIC} STATIC
620662 $<TARGET_OBJECTS:${LIB_NAME} _mos>
621663 $<TARGET_OBJECTS:${LIB_NAME} _COMMON>
@@ -627,6 +669,7 @@ add_library(${LIB_NAME_STATIC} STATIC
627669 $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_VP>
628670 $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_CODEC>
629671 $<TARGET_OBJECTS:${LIB_NAME} _SOFTLET_COMMON>)
672+ endif ()
630673
631674set_target_properties (${LIB_NAME_STATIC} PROPERTIES OUTPUT_NAME ${LIB_NAME} )
632675
0 commit comments