diff --git a/Tools/MediaDriverTools/Android/build/media_driver/mos_compat.h b/Tools/MediaDriverTools/Android/build/media_driver/mos_compat.h new file mode 100644 index 0000000000..89d4a3b0b4 --- /dev/null +++ b/Tools/MediaDriverTools/Android/build/media_driver/mos_compat.h @@ -0,0 +1,35 @@ +/* +* Copyright (c) 2022, Intel Corporation +* +* Permission is hereby granted, free of charge, to any person obtaining a +* copy of this software and associated documentation files (the "Software"), +* to deal in the Software without restriction, including without limitation +* the rights to use, copy, modify, merge, publish, distribute, sublicense, +* and/or sell copies of the Software, and to permit persons to whom the +* Software is furnished to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included +* in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +* OTHER DEALINGS IN THE SOFTWARE. +*/ + +#ifndef __MOS_COMPAT_H__ +#define __MOS_COMPAT_H__ + +// clib implementations (musl, uClibc) might provide backtrace(3) +// in different header files or not provide it all and rely on external +// implementations. So, we need to detect which header to be used. +#define Backtrace_FOUND 1 +#if Backtrace_FOUND +#include +#endif + +#endif // __MOS_COMPAT_H__ + diff --git a/cmrtlib/Android.mk b/cmrtlib/Android.mk new file mode 100644 index 0000000000..4dee8b3e63 --- /dev/null +++ b/cmrtlib/Android.mk @@ -0,0 +1,84 @@ +# Copyright(c) 2018 Intel Corporation + +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files(the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and / or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +LOCAL_PATH:= $(call my-dir) + + +$(info value of CMRT_BUILD_TYPE is: $(CMRT_BUILD_TYPE)) +$(info value of CMRT_ARCH is: $(CMRT_ARCH)) + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + agnostic/hardware/cm_device.cpp \ + agnostic/hardware/cm_device_export.cpp \ + agnostic/hardware/cm_kernel_debugger.cpp \ + agnostic/hardware/cm_perf_statistics.cpp \ + agnostic/hardware/cm_queue.cpp \ + agnostic/hardware/cm_surface_manager.cpp \ + agnostic/hardware/cm_timer.cpp \ + agnostic/share/cm_avs_state_msg_ex.cpp \ + agnostic/share/cm_printf_host.cpp \ + agnostic/share/cm_rt_helpers.cpp \ + linux/hardware/cm_device_export_os.cpp \ + linux/hardware/cm_device_os.cpp \ + linux/hardware/cm_surface_manager_os.cpp \ + linux/hardware/cm_timer_os.cpp \ + linux/share/cm_performance.cpp \ + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/proprietary/share \ + $(LOCAL_PATH)/agnostic/share \ + $(LOCAL_PATH)/agnostic/hardware \ + $(LOCAL_PATH)/linux/share \ + $(LOCAL_PATH)/linux/hardware + +LOCAL_CFLAGS += \ + -Wno-error \ + -Wno-unused-variable \ + -Wno-unused-parameter \ + -Wno-unused-private-field \ + -Wno-non-virtual-dtor \ + -DANDROID=1 \ + -DCM_RT_EXPORTS \ + -DISTDLIB_UMD \ + -DVPHAL \ + -D__CT__ \ + -Digfxcmrt_EXPORTS + +ifeq ($(CMRT_BUILD_TYPE), debug) + LOCAL_CFLAGS += \ + -D_DEBUG \ + -D__DEBUG \ + -O0 +else + LOCAL_CFLAGS += \ + -fno-strict-aliasing \ + -D_FORTIFY_SOURCE=2 +endif + + +LOCAL_MODULE := libigfxcmrt +LOCAL_PROPRIETARY_MODULE := true + +LOCAL_LDLIBS := -lc -lva -lva-android +LOCAL_SHARED_LIBRARIES := libc libdl libcutils liblog libutils libm libva libva-android + +include $(BUILD_SHARED_LIBRARY) diff --git a/cmrtlib/linux/hardware/cm_device_os.cpp b/cmrtlib/linux/hardware/cm_device_os.cpp index 36b98c13a0..91ef66975e 100644 --- a/cmrtlib/linux/hardware/cm_device_os.cpp +++ b/cmrtlib/linux/hardware/cm_device_os.cpp @@ -495,8 +495,10 @@ CmDevice_RT::CmDevice_RT( m_gtpinBufferUP1(nullptr), m_gtpinBufferUP2(nullptr), m_createOption(createOption), - m_driverStoreEnabled(0), - m_driFileDescriptor(0) +#if !defined(ANDROID) + m_driFileDescriptor(0), +#endif + m_driverStoreEnabled(0) { // New Surface Manager diff --git a/media_driver/Android.mk b/media_driver/Android.mk new file mode 100644 index 0000000000..cca350b6d6 --- /dev/null +++ b/media_driver/Android.mk @@ -0,0 +1,1960 @@ + +# Copyright(c) 2018 Intel Corporation + +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files(the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and / or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +LOCAL_PATH:= $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/av1/pipeline/decode_av1_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/avc/pipeline/decode_avc_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/hevc/pipeline/decode_hevc_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/jpeg/decode_jpeg_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/mpeg2/decode_mpeg2_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/vp8/pipeline/decode_vp8_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/vp9/pipeline/decode_vp9_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/av1/packet/encode_av1_vdenc_packet_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/features/encode_hevc_vdenc_feature_manager_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/packet/encode_hevc_vdenc_packet_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/packet/encode_huc_brc_update_packet_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/features/encode_vp9_vdenc_const_settings_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/features/encode_vp9_vdenc_feature_manager_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/packet/encode_vp9_dynamic_scal_packet_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/packet/encode_vp9_pak_integrate_packet_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/packet/encode_vp9_vdenc_packet_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/pipeline/encode_vp9_vdenc_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/pipeline/encode_vp9_vdenc_pipeline_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/hw/mhw_sfc_hwcmd_xe_lpm_plus_next.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/hw/mhw_vebox_hwcmd_xe_lpm_plus_next.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/hw/vdbox/mhw_vdbox_avp_hwcmd_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/hw/vdbox/mhw_vdbox_huc_hwcmd_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/hw/vdbox/mhw_vdbox_mfx_hwcmd_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/feature_manager/vp_feature_manager_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/packet/vp_render_sfc_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/packet/vp_vebox_cmd_packet_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/pipeline/vp_pipeline_adapter_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/platform_interface/vp_platform_interface_xe_lpm_plus.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/features/decode_av1_basic_feature_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/features/decode_av1_feature_manager_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/packet/decode_av1_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/packet/decode_av1_picture_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/packet/decode_av1_tile_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/pipeline/decode_av1_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/pipeline/decode_av1_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/pipeline/decode_av1_status_report_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/avc/packet/decode_avc_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/avc/packet/decode_avc_slice_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/avc/pipeline/decode_avc_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/avc/pipeline/decode_avc_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/mmc/decode_hevc_mem_compression_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_hevc_packet_back_end_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_hevc_packet_front_end_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_hevc_packet_long_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_hevc_packet_real_tile_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_hevc_picture_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_hevc_slice_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_hevc_tile_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet/decode_huc_s2l_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/pipeline/decode_hevc_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/pipeline/decode_hevc_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/jpeg/packet/decode_jpeg_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/jpeg/packet/decode_jpeg_picture_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/jpeg/pipeline/decode_jpeg_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/jpeg/pipeline/decode_jpeg_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/mmc/decode_mpeg2_mem_compression_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_mb_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_picture_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_slice_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/pipeline/decode_mpeg2_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/pipeline/decode_mpeg2_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/shared/decode_mem_compression_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/mmc/decode_vp8_mem_compression_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/packet/decode_vp8_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/packet/decode_vp8_picture_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/packet/decode_vp8_slice_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/pipeline/decode_vp8_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/pipeline/decode_vp8_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/mmc/decode_vp9_mem_compression_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/packet/decode_vp9_packet_back_end_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/packet/decode_vp9_packet_front_end_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/packet/decode_vp9_packet_single_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/packet/decode_vp9_picture_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/packet/decode_vp9_slice_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/packet/decode_vp9_tile_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/pipeline/decode_vp9_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/pipeline/decode_vp9_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features/encode_av1_basic_feature_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features/encode_av1_superres.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features/encode_av1_vdenc_const_settings_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features/encode_av1_vdenc_feature_manager_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features/preenc/encode_av1_vdenc_fullenc.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features/preenc/encode_av1_vdenc_preenc.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/packet/encode_av1_vdenc_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/avc/features/encode_avc_basic_feature_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/avc/features/encode_avc_vdenc_const_settings_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/avc/features/encode_avc_vdenc_feature_manager_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/avc/pipeline/encode_avc_vdenc_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/avc/pipeline/encode_avc_vdenc_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/features/encode_hevc_vdenc_const_settings_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/features/encode_hevc_vdenc_feature_manager_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/features/preenc/encode_hevc_vdenc_fullenc.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/features/preenc/encode_hevc_vdenc_preenc.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/jpeg/pipeline/encode_jpeg_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/jpeg/pipeline/encode_jpeg_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/shared/common/encode_mem_compression_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/vp9/packet/encode_vp9_dynamic_scal_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/vp9/packet/encode_vp9_vdenc_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/vp9/pipeline/encode_vp9_vdenc_pipeline_adapter_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/vp9/pipeline/encode_vp9_vdenc_pipeline_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/shared/codec_hw_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/shared/codec_mem_compression_xe_lpm_plus_base_next.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/hw/vdbox/mhw_vdbox_avp_impl_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/shared/mediaDecompress/media_mem_decompress_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/shared/mediacopy/media_blt_copy_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/shared/mediacopy/media_copy_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/shared/mediacopy/media_render_copy_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/shared/mediacopy/media_vebox_copy_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/vp/hal/feature_manager/vp_feature_manager_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/vp/hal/packet/vp_kernel_config_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/vp/hal/packet/vp_render_sfc_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/vp/hal/packet/vp_vebox_cmd_packet_xe_lpm_plus_base.cpp \ + ../media_softlet/agnostic/Xe_R/Xe_HPG_Base/hw/mhw_state_heap_hwcmd_xe_hpg.cpp \ + ../media_softlet/agnostic/Xe_R/Xe_HPG_Base/hw/mhw_state_heap_xe_hpg.cpp \ + ../media_softlet/agnostic/Xe_R/Xe_HPG_Base/renderhal/renderhal_xe_hpg_base.cpp \ + ../media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel/cmfcpatch/igvpkrn_xe_hpg_cmfcpatch.c \ + ../media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel/igvpkrn_isa_xe_hpg.c \ + ../media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel/igvpkrn_xe_hpg.c \ + ../media_softlet/agnostic/common/codec/hal/codechal_common.cpp \ + ../media_softlet/agnostic/common/codec/hal/codechal_debug.cpp \ + ../media_softlet/agnostic/common/codec/hal/codechal_debug_config_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/codechal_oca_debug.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/features/decode_av1_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/features/decode_av1_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/features/decode_av1_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/features/decode_av1_temporal_buffers.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/features/decode_av1_tile_coding.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/packet/decode_av1_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/packet/decode_av1_picture_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/packet/decode_av1_tile_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/av1/pipeline/decode_av1_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/features/decode_avc_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/features/decode_avc_downsampling_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/features/decode_avc_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/features/decode_avc_mv_buffers.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/features/decode_avc_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_slice_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/pipeline/decode_avc_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/avc/pipeline/decode_avc_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/features/decode_hevc_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/features/decode_hevc_downsampling_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/features/decode_hevc_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/features/decode_hevc_mv_buffers.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/features/decode_hevc_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/features/decode_hevc_tile_coding.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/mmc/decode_hevc_mem_compression.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_downsampling_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_packet_back_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_packet_front_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_packet_long.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_packet_real_tile.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_picture_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_hevc_slice_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/packet/decode_huc_s2l_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/pipeline/decode_hevc_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/pipeline/decode_hevc_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/scalability/decode_hevc_phase_back_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/scalability/decode_hevc_phase_front_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/scalability/decode_hevc_phase_long.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/scalability/decode_hevc_phase_real_tile.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/scalability/decode_hevc_phase_s2l.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/hevc/scalability/decode_hevc_scalability_option.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/bitstream/decode_jpeg_input_bitstream.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/features/decode_jpeg_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/features/decode_jpeg_downsampling_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/features/decode_jpeg_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/packet/decode_jpeg_downsampling_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/packet/decode_jpeg_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/packet/decode_jpeg_picture_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/pipeline/decode_jpeg_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/jpeg/pipeline/decode_jpeg_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/features/decode_mpeg2_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/features/decode_mpeg2_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/features/decode_mpeg2_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/mmc/decode_mpeg2_mem_compression.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/packet/decode_mpeg2_mb_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/packet/decode_mpeg2_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/packet/decode_mpeg2_picture_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/packet/decode_mpeg2_slice_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/pipeline/decode_mpeg2_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/mpeg2/pipeline/decode_mpeg2_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/bufferMgr/decode_allocator.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/decode_input_bitstream.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/decode_unique_id.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/features/decode_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/features/decode_downsampling_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/features/decode_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/features/decode_marker.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/features/decode_predication.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/hucItf/decode_huc_packet_creator.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/hucItf/huc_streamout_interface.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/mmc/decode_mem_compression.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/packet/decode_downsampling_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/packet/decode_huc.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/packet/decode_huc_copy_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/packet/decode_marker_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/packet/decode_predication_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/packet/decode_sub_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/packet/decode_sub_packet_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/pipeline/decode_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/pipeline/decode_sfc_histogram_postsubpipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/pipeline/decode_sub_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/pipeline/decode_sub_pipeline_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/pipeline/decode_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/scalability/decode_scalability_multipipe_next.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/scalability/decode_scalability_option.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/scalability/decode_scalability_singlepipe_next.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/shared/statusreport/decode_status_report.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/features/decode_vp8_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/features/decode_vp8_entropy_state.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/features/decode_vp8_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/features/decode_vp8_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/mmc/decode_vp8_mem_compression.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/packet/decode_vp8_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/packet/decode_vp8_picture_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/packet/decode_vp8_slice_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/pipeline/decode_vp8_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp8/pipeline/decode_vp8_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/features/decode_vp9_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/features/decode_vp9_downsampling_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/features/decode_vp9_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/features/decode_vp9_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/mmc/decode_vp9_mem_compression.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_huc_prob_update_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_vp9_downsampling_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_vp9_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_vp9_packet_back_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_vp9_packet_front_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_vp9_packet_single.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_vp9_picture_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/packet/decode_vp9_slice_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/pipeline/decode_vp9_buffer_update.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/pipeline/decode_vp9_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/pipeline/decode_vp9_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/scalability/decode_vp9_phase_back_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/scalability/decode_vp9_phase_front_end.cpp \ + ../media_softlet/agnostic/common/codec/hal/dec/vp9/scalability/decode_vp9_phase_single.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_brc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_segmentation.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_stream_in.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_tile.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_vdenc_const_settings.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_vdenc_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/features/encode_av1_vdenc_lpla_enc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/packet/encode_av1_brc_init_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/packet/encode_av1_brc_update_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/packet/encode_av1_pak_integrate_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/packet/encode_av1_vdenc_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/packet/encode_back_annotation_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/pipeline/encode_av1_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/pipeline/encode_av1_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/pipeline/encode_av1_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_brc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_header_packer.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_rounding.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_trellis.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_vdenc_const_settings.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_vdenc_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_vdenc_fullenc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_vdenc_preenc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_vdenc_stream_in_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/encode_avc_vdenc_weighted_prediction.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/roi/encode_avc_vdenc_brc_roi_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/roi/encode_avc_vdenc_cqp_roi_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/features/roi/encode_avc_vdenc_roi_interface.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/packet/encode_avc_huc_brc_init_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/packet/encode_avc_huc_brc_update_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/packet/encode_avc_vdenc_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/pipeline/encode_avc_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/pipeline/encode_avc_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/pipeline/encode_avc_vdenc_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/avc/pipeline/encode_avc_vdenc_pipeline_adapter.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_basic_feature_422.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_brc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_cqp.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_dss.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_header_packer.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_tile.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_vdenc_const_settings.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_vdenc_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_vdenc_lpla_enc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_vdenc_scc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_hevc_vdenc_weighted_prediction.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/encode_vdenc_lpla_analysis.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_arb.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_dirty.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_forcedeltaqp.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_forceqp.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_huc_forceqp.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_native.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_overlap.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_qpmap.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi/encode_hevc_vdenc_roi_strategy.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_hevc_tile_replay_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_hevc_vdenc_422_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_hevc_vdenc_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_huc_brc_init_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_huc_brc_update_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_huc_la_init_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_huc_la_update_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/packet/encode_pak_integrate_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/pipeline/encode_hevc_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/pipeline/encode_hevc_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/pipeline/encode_hevc_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/features/encode_jpeg_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/features/encode_jpeg_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/features/encode_jpeg_packer_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/packet/encode_jpeg_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/pipeline/encode_jpeg_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/pipeline/encode_jpeg_pipeline_adapter.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/pipeline/encode_jpeg_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/jpeg/pipeline/encode_jpeg_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/bitstreamWriter/bitstream_writer.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/bufferMgr/encode_allocator.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/bufferMgr/encode_recycle_res_queue.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/bufferMgr/encode_recycle_resource.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/bufferMgr/encode_tracked_buffer.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/bufferMgr/encode_tracked_buffer_queue.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/bufferMgr/encode_tracked_buffer_slot.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_lpla.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_preenc_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_preenc_const_settings.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_tile.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/mmc/encode_mem_compression.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/packet/encode_huc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/packet/encode_packet_utilities.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/packet/encode_preenc_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/pipeline/encode_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/pipeline/encode_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/scalability/encode_scalability_multipipe.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/scalability/encode_scalability_option.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/scalability/encode_scalability_singlepipe.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/shared/statusreport/encode_status_report.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_basic_feature.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_brc.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_cqp.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_hpu.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_pak.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_segmentation.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_tile.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_vdenc_const_settings.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/features/encode_vp9_vdenc_feature_manager.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/packet/encode_vp9_hpu_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/packet/encode_vp9_hpu_super_frame_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/packet/encode_vp9_huc_brc_init_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/packet/encode_vp9_huc_brc_update_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/packet/encode_vp9_pak_integrate_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/packet/encode_vp9_vdenc_packet.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/pipeline/encode_vp9_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/pipeline/encode_vp9_reference_frames.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/pipeline/encode_vp9_user_setting.cpp \ + ../media_softlet/agnostic/common/codec/hal/enc/vp9/pipeline/encode_vp9_vdenc_pipeline.cpp \ + ../media_softlet/agnostic/common/codec/hal/shared/codec_hw_next.cpp \ + ../media_softlet/agnostic/common/cp/cp_copy_interface.cpp \ + ../media_softlet/agnostic/common/cp/encodecp.cpp \ + ../media_softlet/agnostic/common/heap_manager/frame_tracker.cpp \ + ../media_softlet/agnostic/common/heap_manager/heap.cpp \ + ../media_softlet/agnostic/common/heap_manager/heap_manager.cpp \ + ../media_softlet/agnostic/common/heap_manager/memory_block.cpp \ + ../media_softlet/agnostic/common/heap_manager/memory_block_manager.cpp \ + ../media_softlet/agnostic/common/hw/mhw_block_manager.cpp \ + ../media_softlet/agnostic/common/hw/mhw_blt.cpp \ + ../media_softlet/agnostic/common/hw/mhw_memory_pool.cpp \ + ../media_softlet/agnostic/common/hw/mhw_state_heap.cpp \ + ../media_softlet/agnostic/common/hw/mhw_utilities_next.cpp \ + ../media_softlet/agnostic/common/os/memory_policy_manager.cpp \ + ../media_softlet/agnostic/common/os/mos_cmdbufmgr_next.cpp \ + ../media_softlet/agnostic/common/os/mos_commandbuffer_next.cpp \ + ../media_softlet/agnostic/common/os/mos_context_next.cpp \ + ../media_softlet/agnostic/common/os/mos_gpucontext_next.cpp \ + ../media_softlet/agnostic/common/os/mos_gpucontextmgr_next.cpp \ + ../media_softlet/agnostic/common/os/mos_graphicsresource_next.cpp \ + ../media_softlet/agnostic/common/os/mos_oca_rtlog_mgr.cpp \ + ../media_softlet/agnostic/common/os/mos_os.cpp \ + ../media_softlet/agnostic/common/os/mos_os_mock_adaptor.cpp \ + ../media_softlet/agnostic/common/os/mos_os_mock_adaptor_ext.cpp \ + ../media_softlet/agnostic/common/os/mos_os_next.cpp \ + ../media_softlet/agnostic/common/os/mos_os_virtualengine_next.cpp \ + ../media_softlet/agnostic/common/os/mos_os_virtualengine_scalability_next.cpp \ + ../media_softlet/agnostic/common/os/mos_os_virtualengine_singlepipe_next.cpp \ + ../media_softlet/agnostic/common/os/mos_user_setting.cpp \ + ../media_softlet/agnostic/common/os/mos_util_debug.cpp \ + ../media_softlet/agnostic/common/os/mos_utilities_inner.cpp \ + ../media_softlet/agnostic/common/os/mos_utilities_next.cpp \ + ../media_softlet/agnostic/common/os/share/mos_oca_util_debug.cpp \ + ../media_softlet/agnostic/common/os/user_setting/media_user_setting.cpp \ + ../media_softlet/agnostic/common/os/user_setting/media_user_setting_configure.cpp \ + ../media_softlet/agnostic/common/os/user_setting/media_user_setting_definition.cpp \ + ../media_softlet/agnostic/common/os/user_setting/media_user_setting_value.cpp \ + ../media_softlet/agnostic/common/renderhal/renderhal.cpp \ + ../media_softlet/agnostic/common/renderhal/renderhal_platform_interface_next.cpp \ + ../media_softlet/agnostic/common/shared/bufferMgr/media_allocator.cpp \ + ../media_softlet/agnostic/common/shared/features/media_feature.cpp \ + ../media_softlet/agnostic/common/shared/features/media_feature_manager.cpp \ + ../media_softlet/agnostic/common/shared/media_debug_config_manager.cpp \ + ../media_softlet/agnostic/common/shared/media_debug_dumper.cpp \ + ../media_softlet/agnostic/common/shared/media_debug_fast_dump.cpp \ + ../media_softlet/agnostic/common/shared/media_debug_interface.cpp \ + ../media_softlet/agnostic/common/shared/media_render_common.cpp \ + ../media_softlet/agnostic/common/shared/media_sfc_interface/media_sfc_interface.cpp \ + ../media_softlet/agnostic/common/shared/media_sfc_interface/media_sfc_render.cpp \ + ../media_softlet/agnostic/common/shared/media_sfc_interface/media_vdbox_sfc_render.cpp \ + ../media_softlet/agnostic/common/shared/mediacontext/media_context.cpp \ + ../media_softlet/agnostic/common/shared/mediacopy/media_blt_copy_next.cpp \ + ../media_softlet/agnostic/common/shared/mediacopy/media_copy.cpp \ + ../media_softlet/agnostic/common/shared/mediacopy/media_copy_wrapper.cpp \ + ../media_softlet/agnostic/common/shared/mediacopy/media_render_copy_next.cpp \ + ../media_softlet/agnostic/common/shared/mediacopy/media_vebox_copy_next.cpp \ + ../media_softlet/agnostic/common/shared/mmc/media_mem_compression.cpp \ + ../media_softlet/agnostic/common/shared/mmc/media_mem_decompression_next.cpp \ + ../media_softlet/agnostic/common/shared/null_hardware_next.cpp \ + ../media_softlet/agnostic/common/shared/oca_rtlog_section_mgr.cpp \ + ../media_softlet/agnostic/common/shared/packet/media_cmd_packet.cpp \ + ../media_softlet/agnostic/common/shared/packet/media_packet_next.cpp \ + ../media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp \ + ../media_softlet/agnostic/common/shared/pipeline/media_pipeline.cpp \ + ../media_softlet/agnostic/common/shared/pipeline/media_user_setting.cpp \ + ../media_softlet/agnostic/common/shared/profiler/media_perf_profiler.cpp \ + ../media_softlet/agnostic/common/shared/scalability/media_scalability.cpp \ + ../media_softlet/agnostic/common/shared/scalability/media_scalability_factory.cpp \ + ../media_softlet/agnostic/common/shared/scalability/media_scalability_multipipe.cpp \ + ../media_softlet/agnostic/common/shared/scalability/media_scalability_singlepipe_next.cpp \ + ../media_softlet/agnostic/common/shared/statusreport/media_status_report.cpp \ + ../media_softlet/agnostic/common/shared/task/media_cmd_task.cpp \ + ../media_softlet/agnostic/common/shared/task/media_task.cpp \ + ../media_softlet/agnostic/common/vp/cm_fc_ld/DepGraph.cpp \ + ../media_softlet/agnostic/common/vp/cm_fc_ld/PatchInfoLinker.cpp \ + ../media_softlet/agnostic/common/vp/cm_fc_ld/PatchInfoReader.cpp \ + ../media_softlet/agnostic/common/vp/cm_fc_ld/cm_fc_ld.cpp \ + ../media_softlet/agnostic/common/vp/hal/bufferMgr/vp_allocator.cpp \ + ../media_softlet/agnostic/common/vp/hal/bufferMgr/vp_hdr_resource_manager.cpp \ + ../media_softlet/agnostic/common/vp/hal/bufferMgr/vp_resource_manager.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/hw_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/hw_filter_pipe.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/sw_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/sw_filter_handle.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/sw_filter_pipe.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/vp_feature_manager.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/vp_kernelset.cpp \ + ../media_softlet/agnostic/common/vp/hal/feature_manager/vp_obj_factories.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_cgc_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_csc_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_di_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_dn_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_fc_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_hdr_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_hdr_render_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_procamp_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_rot_mir_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_scaling_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_ste_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/features/vp_tcc_filter.cpp \ + ../media_softlet/agnostic/common/vp/hal/mmc/vp_mem_compression.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_cmd_packet.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_kernel_config.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_packet_pipe.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_cmd_packet.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_hdr_kernel.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_ief.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_sfc_base.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_vebox_hdr_3dlut_kernel.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_render_vebox_hvs_kernel.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet.cpp \ + ../media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_base.cpp \ + ../media_softlet/agnostic/common/vp/hal/pipeline/vp_base.cpp \ + ../media_softlet/agnostic/common/vp/hal/pipeline/vp_feature_report.cpp \ + ../media_softlet/agnostic/common/vp/hal/pipeline/vp_packet_reuse_manager.cpp \ + ../media_softlet/agnostic/common/vp/hal/pipeline/vp_pipeline.cpp \ + ../media_softlet/agnostic/common/vp/hal/pipeline/vp_pipeline_adapter.cpp \ + ../media_softlet/agnostic/common/vp/hal/pipeline/vp_pipeline_adapter_base.cpp \ + ../media_softlet/agnostic/common/vp/hal/platform_interface/vp_platform_interface.cpp \ + ../media_softlet/agnostic/common/vp/hal/scalability/vp_scalability_option.cpp \ + ../media_softlet/agnostic/common/vp/hal/scalability/vp_scalability_singlepipe_next.cpp \ + ../media_softlet/agnostic/common/vp/hal/shared/scalability/vp_scalability_multipipe_next.cpp \ + ../media_softlet/agnostic/common/vp/hal/statusreport/vp_status_report.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/hal_ddi_share/vp_hal_ddi_utils.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/hal_ddi_share/vp_user_setting.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/vp_debug.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/vp_debug_config_manager.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/vp_debug_interface.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/vp_dumper.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/vp_user_feature_control.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/vp_utils.cpp \ + ../media_softlet/agnostic/common/vp/hal/utils/vp_visa.cpp \ + ../media_softlet/agnostic/common/vp/hal/vp_common.c \ + ../media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c \ + ../media_softlet/agnostic/common/vp/kdll/hal_kernelrules_next.c \ + ../media_softlet/linux/Xe_M_plus/ddi/media_libva_caps_mtl.cpp \ + ../media_softlet/linux/Xe_M_plus/ddi/media_libva_caps_mtl_base.cpp \ + ../media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp \ + ../media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_av1_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_base_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_functions.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_hevc_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_jpeg_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_mpeg2_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_trace_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_vp8_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/dec/ddi_decode_vp9_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/ddi_encode_av1_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/ddi_encode_avc_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/ddi_encode_base_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/ddi_encode_functions.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/ddi_encode_hevc_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/ddi_encode_jpeg_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/ddi_encode_vp9_specific.cpp \ + ../media_softlet/linux/common/codec/ddi/enc/media_libvpx_vp9_next.cpp \ + ../media_softlet/linux/common/codec/ddi/shared/create_codechal_setting.cpp \ + ../media_softlet/linux/common/codec/ddi/shared/ddi_codec_base_specific.cpp \ + ../media_softlet/linux/common/cp/ddi/ddi_cp_caps_interface.cpp \ + ../media_softlet/linux/common/cp/ddi/ddi_cp_interface_next.cpp \ + ../media_softlet/linux/common/cp/decodecp_interface.cpp \ + ../media_softlet/linux/common/ddi/ddi_media_functions.cpp \ + ../media_softlet/linux/common/ddi/media_capstable_specific.cpp \ + ../media_softlet/linux/common/ddi/media_libva_caps_next.cpp \ + ../media_softlet/linux/common/ddi/media_libva_common_next.cpp \ + ../media_softlet/linux/common/ddi/media_libva_interface_next.cpp \ + ../media_softlet/linux/common/ddi/media_libva_util_next.cpp \ + ../media_softlet/linux/common/media_interfaces/media_interfaces_next.cpp \ + ../media_softlet/linux/common/os/hwinfo_linux.cpp \ + ../media_softlet/linux/common/os/i915/mos_bufmgr.c \ + ../media_softlet/linux/common/os/i915/mos_bufmgr_api.c \ + ../media_softlet/linux/common/os/i915/xf86drm.c \ + ../media_softlet/linux/common/os/i915/xf86drmHash.c \ + ../media_softlet/linux/common/os/i915/xf86drmMode.c \ + ../media_softlet/linux/common/os/i915/xf86drmRandom.c \ + ../media_softlet/linux/common/os/mos_auxtable_mgr.cpp \ + ../media_softlet/linux/common/os/mos_commandbuffer_specific_next.cpp \ + ../media_softlet/linux/common/os/mos_context_specific_next.cpp \ + ../media_softlet/linux/common/os/mos_decompression_base.cpp \ + ../media_softlet/linux/common/os/mos_gpucontext_specific_next.cpp \ + ../media_softlet/linux/common/os/mos_gpucontext_specific_next_ext.cpp \ + ../media_softlet/linux/common/os/mos_graphicsresource_specific_next.cpp \ + ../media_softlet/linux/common/os/mos_interface.cpp \ + ../media_softlet/linux/common/os/mos_mediacopy_base.cpp \ + ../media_softlet/linux/common/os/mos_oca_rtlog_mgr_specific.cpp \ + ../media_softlet/linux/common/os/mos_oca_specific.cpp \ + ../media_softlet/linux/common/os/mos_os_mock_adaptor_specific.cpp \ + ../media_softlet/linux/common/os/mos_os_specific_next.cpp \ + ../media_softlet/linux/common/os/mos_os_virtualengine_scalability_specific_next.cpp \ + ../media_softlet/linux/common/os/mos_os_virtualengine_singlepipe_specific_next.cpp \ + ../media_softlet/linux/common/os/mos_user_setting_specific.cpp \ + ../media_softlet/linux/common/os/mos_vma.c \ + ../media_softlet/linux/common/os/osservice/mos_util_debug_specific.cpp \ + ../media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp \ + ../media_softlet/linux/common/os/user_setting/media_user_setting_configure_specific.cpp \ + ../media_softlet/linux/common/shared/hal_oca_interface_next.cpp \ + ../media_softlet/linux/common/shared/skuwa_dumper_specific.c \ + ../media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp \ + ../media_softlet/linux/common/vp/ddi/ddi_vp_tools.cpp \ + ../media_softlet/linux/common/vp/hal/vphal_common_specific_next.c \ + ../media_softlet/linux/xe_lpm_plus/ddi/caps_register_specific_xe_lpm_plus.cpp \ + ../media_softlet/media_interface/media_interfaces_mtl/media_interfaces_mtl.cpp \ + agnostic/Xe_M/Xe_HPM/codec/hal/codechal_decode_vc1_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/codec/hal/codechal_hw_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/codec/hal/codechal_kernel_olp_mdf_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/codec/hal/codechal_mmc_encode_avc_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/codec/hal/codechal_vdenc_avc_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/codec/hal/codechal_vdenc_vp9_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/codec/kernel/XE_HPM_VC1_OLP.c \ + agnostic/Xe_M/Xe_HPM/codec/kernel/Xe_Hpm_Film_Grain.c \ + agnostic/Xe_M/Xe_HPM/hw/mhw_vebox_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/hw/vdbox/mhw_vdbox_avp_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/hw/vdbox/mhw_vdbox_huc_hwcmd_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/vp/hal/vphal_render_vebox_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/vp/hal/vphal_renderer_xe_hpm.cpp \ + agnostic/Xe_M/Xe_HPM/vp/hal/vphal_xe_hpm.cpp \ + agnostic/Xe_M/Xe_XPM/codec/hal/codechal_decode_vc1_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/codec/hal/codechal_hw_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/codec/hal/codechal_kernel_olp_mdf_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/codec/kernelisa/Xe_XPM_Film_Grain.c \ + agnostic/Xe_M/Xe_XPM/codec/kernelisa/Xe_XPM_VC1_OLP.c \ + agnostic/Xe_M/Xe_XPM/hw/mhw_mi_hwcmd_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/mhw_sfc_hwcmd_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/mhw_sfc_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/mhw_state_heap_hwcmd_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/mhw_state_heap_xe_xpm.c \ + agnostic/Xe_M/Xe_XPM/hw/mhw_vebox_hwcmd_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/mhw_vebox_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/vdbox/mhw_vdbox_avp_hwcmd_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/vdbox/mhw_vdbox_avp_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/vdbox/mhw_vdbox_hcp_hwcmd_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/vdbox/mhw_vdbox_hcp_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/vdbox/mhw_vdbox_mfx_hwcmd_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/hw/vdbox/mhw_vdbox_mfx_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_debug_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_render_composite_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_render_sfc_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_render_vebox_memdecomp_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_render_vebox_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_render_vebox_xe_xpm_denoise.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_renderer_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/hal/vphal_xe_xpm.cpp \ + agnostic/Xe_M/Xe_XPM/vp/kdll/hal_kerneldll_xe_xpm.c \ + agnostic/Xe_M/Xe_XPM/vp/kdll/hal_kernelrules_xe_xpm.c \ + agnostic/Xe_M/Xe_XPM/vp/kernel/cmfcpatch/igvpkrn_xe_xpm_cmfcpatch.c \ + agnostic/Xe_M/Xe_XPM/vp/kernel/igvpkrn_isa_xe_xpm.c \ + agnostic/Xe_M/Xe_XPM/vp/kernel/igvpkrn_xe_xpm.c \ + agnostic/Xe_R/Xe_HP/hw/render/mhw_render_xe_hp.cpp \ + agnostic/Xe_R/Xe_HPG/hw/render/mhw_render_xe_hpg.cpp \ + agnostic/Xe_R/Xe_HP_base/hw/blt/mhw_blt_xe_hp_base.cpp \ + agnostic/Xe_R/Xe_HP_base/hw/render/mhw_render_hwcmd_xe_hp_base.cpp \ + agnostic/Xe_R/Xe_HP_base/hw/render/mhw_render_xe_hp_base.cpp \ + agnostic/common/cm/cm_array.cpp \ + agnostic/common/cm/cm_buffer_rt.cpp \ + agnostic/common/cm/cm_command_buffer.cpp \ + agnostic/common/cm/cm_def.cpp \ + agnostic/common/cm/cm_device_rt_base.cpp \ + agnostic/common/cm/cm_dsh.cpp \ + agnostic/common/cm/cm_event_ex_base.cpp \ + agnostic/common/cm/cm_event_rt.cpp \ + agnostic/common/cm/cm_execution_adv.cpp \ + agnostic/common/cm/cm_global_api.cpp \ + agnostic/common/cm/cm_group_space.cpp \ + agnostic/common/cm/cm_hal.cpp \ + agnostic/common/cm/cm_hal_dump.cpp \ + agnostic/common/cm/cm_hal_hashtable.cpp \ + agnostic/common/cm/cm_hal_vebox.cpp \ + agnostic/common/cm/cm_ish_base.cpp \ + agnostic/common/cm/cm_kernel_data.cpp \ + agnostic/common/cm/cm_kernel_ex.cpp \ + agnostic/common/cm/cm_kernel_rt.cpp \ + agnostic/common/cm/cm_log.cpp \ + agnostic/common/cm/cm_media_state.cpp \ + agnostic/common/cm/cm_mem.cpp \ + agnostic/common/cm/cm_mem_c_impl.cpp \ + agnostic/common/cm/cm_mem_sse2_impl.cpp \ + agnostic/common/cm/cm_perf.cpp \ + agnostic/common/cm/cm_printf_host.cpp \ + agnostic/common/cm/cm_program.cpp \ + agnostic/common/cm/cm_queue_rt.cpp \ + agnostic/common/cm/cm_sampler8x8_state_rt.cpp \ + agnostic/common/cm/cm_sampler_rt.cpp \ + agnostic/common/cm/cm_scratch_space.cpp \ + agnostic/common/cm/cm_ssh.cpp \ + agnostic/common/cm/cm_state_buffer.cpp \ + agnostic/common/cm/cm_surface.cpp \ + agnostic/common/cm/cm_surface_2d_rt_base.cpp \ + agnostic/common/cm/cm_surface_2d_up_rt.cpp \ + agnostic/common/cm/cm_surface_3d_rt.cpp \ + agnostic/common/cm/cm_surface_manager_base.cpp \ + agnostic/common/cm/cm_surface_sampler.cpp \ + agnostic/common/cm/cm_surface_sampler8x8.cpp \ + agnostic/common/cm/cm_surface_state.cpp \ + agnostic/common/cm/cm_surface_state_manager.cpp \ + agnostic/common/cm/cm_surface_vme.cpp \ + agnostic/common/cm/cm_task_internal.cpp \ + agnostic/common/cm/cm_task_rt.cpp \ + agnostic/common/cm/cm_thread_space_rt.cpp \ + agnostic/common/cm/cm_tracker.cpp \ + agnostic/common/cm/cm_vebox_data.cpp \ + agnostic/common/cm/cm_vebox_rt.cpp \ + agnostic/common/cm/cm_visa.cpp \ + agnostic/common/cm/cm_wrapper.cpp \ + agnostic/common/codec/hal/codechal_allocator.cpp \ + agnostic/common/codec/hal/codechal_debug_encode_par.cpp \ + agnostic/common/codec/hal/codechal_debug_misc.cpp \ + agnostic/common/codec/hal/codechal_decode_avc.cpp \ + agnostic/common/codec/hal/codechal_decode_downsampling.cpp \ + agnostic/common/codec/hal/codechal_decode_hevc.cpp \ + agnostic/common/codec/hal/codechal_decode_histogram.cpp \ + agnostic/common/codec/hal/codechal_decode_histogram_vebox.cpp \ + agnostic/common/codec/hal/codechal_decode_jpeg.cpp \ + agnostic/common/codec/hal/codechal_decode_mpeg2.cpp \ + agnostic/common/codec/hal/codechal_decode_nv12top010.cpp \ + agnostic/common/codec/hal/codechal_decode_scalability.cpp \ + agnostic/common/codec/hal/codechal_decode_sfc.cpp \ + agnostic/common/codec/hal/codechal_decode_sfc_avc.cpp \ + agnostic/common/codec/hal/codechal_decode_sfc_hevc.cpp \ + agnostic/common/codec/hal/codechal_decode_sfc_jpeg.cpp \ + agnostic/common/codec/hal/codechal_decode_singlepipe_virtualengine.cpp \ + agnostic/common/codec/hal/codechal_decode_vc1.cpp \ + agnostic/common/codec/hal/codechal_decode_vp8.cpp \ + agnostic/common/codec/hal/codechal_decode_vp9.cpp \ + agnostic/common/codec/hal/codechal_decoder.cpp \ + agnostic/common/codec/hal/codechal_encode_allocator.cpp \ + agnostic/common/codec/hal/codechal_encode_avc.cpp \ + agnostic/common/codec/hal/codechal_encode_avc_base.cpp \ + agnostic/common/codec/hal/codechal_encode_csc_ds.cpp \ + agnostic/common/codec/hal/codechal_encode_hevc.cpp \ + agnostic/common/codec/hal/codechal_encode_hevc_base.cpp \ + agnostic/common/codec/hal/codechal_encode_jpeg.cpp \ + agnostic/common/codec/hal/codechal_encode_mpeg2.cpp \ + agnostic/common/codec/hal/codechal_encode_scalability.cpp \ + agnostic/common/codec/hal/codechal_encode_sfc_base.cpp \ + agnostic/common/codec/hal/codechal_encode_singlepipe_virtualengine.cpp \ + agnostic/common/codec/hal/codechal_encode_sw_scoreboard.cpp \ + agnostic/common/codec/hal/codechal_encode_tracked_buffer.cpp \ + agnostic/common/codec/hal/codechal_encode_tracked_buffer_hevc.cpp \ + agnostic/common/codec/hal/codechal_encode_vp8.cpp \ + agnostic/common/codec/hal/codechal_encode_wp.cpp \ + agnostic/common/codec/hal/codechal_encoder_base.cpp \ + agnostic/common/codec/hal/codechal_huc_cmd_initializer.cpp \ + agnostic/common/codec/hal/codechal_hw.cpp \ + agnostic/common/codec/hal/codechal_kernel_base.cpp \ + agnostic/common/codec/hal/codechal_kernel_hme.cpp \ + agnostic/common/codec/hal/codechal_kernel_intra_dist.cpp \ + agnostic/common/codec/hal/codechal_memdecomp.cpp \ + agnostic/common/codec/hal/codechal_mmc.cpp \ + agnostic/common/codec/hal/codechal_mmc_decode_avc.cpp \ + agnostic/common/codec/hal/codechal_mmc_decode_hevc.cpp \ + agnostic/common/codec/hal/codechal_mmc_decode_jpeg.cpp \ + agnostic/common/codec/hal/codechal_mmc_decode_mpeg2.cpp \ + agnostic/common/codec/hal/codechal_mmc_decode_vc1.cpp \ + agnostic/common/codec/hal/codechal_mmc_decode_vp8.cpp \ + agnostic/common/codec/hal/codechal_mmc_decode_vp9.cpp \ + agnostic/common/codec/hal/codechal_mmc_encode_avc.cpp \ + agnostic/common/codec/hal/codechal_mmc_encode_hevc.cpp \ + agnostic/common/codec/hal/codechal_mmc_encode_mpeg2.cpp \ + agnostic/common/codec/hal/codechal_mmc_encode_vp8.cpp \ + agnostic/common/codec/hal/codechal_mmc_encode_vp9.cpp \ + agnostic/common/codec/hal/codechal_utilities.cpp \ + agnostic/common/codec/hal/codechal_vdenc_avc.cpp \ + agnostic/common/codec/hal/codechal_vdenc_hevc.cpp \ + agnostic/common/codec/hal/codechal_vdenc_vp9_base.cpp \ + agnostic/common/hw/mhw_blt_legacy.cpp \ + agnostic/common/hw/mhw_mi.cpp \ + agnostic/common/hw/mhw_render_legacy.c \ + agnostic/common/hw/mhw_sfc.cpp \ + agnostic/common/hw/mhw_state_heap_legacy.c \ + agnostic/common/hw/mhw_utilities.c \ + agnostic/common/hw/mhw_vebox.cpp \ + agnostic/common/hw/mhw_vebox_hwcmd_g9_X.cpp \ + agnostic/common/hw/vdbox/mhw_vdbox_hcp_interface.cpp \ + agnostic/common/hw/vdbox/mhw_vdbox_huc_interface.cpp \ + agnostic/common/hw/vdbox/mhw_vdbox_mfx_interface.cpp \ + agnostic/common/hw/vdbox/mhw_vdbox_vdenc_interface.cpp \ + agnostic/common/os/mos_cmdbufmgr.cpp \ + agnostic/common/os/mos_commandbuffer.cpp \ + agnostic/common/os/mos_context.cpp \ + agnostic/common/os/mos_gpucontext.cpp \ + agnostic/common/os/mos_gpucontextmgr.cpp \ + agnostic/common/os/mos_graphicsresource.cpp \ + agnostic/common/os/mos_os_virtualengine.cpp \ + agnostic/common/os/mos_os_virtualengine_scalability.cpp \ + agnostic/common/os/mos_os_virtualengine_singlepipe.cpp \ + agnostic/common/os/mos_util_user_interface.cpp \ + agnostic/common/os/mos_utilities.cpp \ + agnostic/common/os/mos_utilities_usersetting.cpp \ + agnostic/common/renderhal/renderhal_common.cpp \ + agnostic/common/renderhal/renderhal_dsh.cpp \ + agnostic/common/renderhal/renderhal_legacy.cpp \ + agnostic/common/renderhal/renderhal_platform_interface_legacy.cpp \ + agnostic/common/shared/media_debug_interface_misc.cpp \ + agnostic/common/shared/media_perf_profiler_legacy.cpp \ + agnostic/common/shared/mediacopy/media_blt_copy.cpp \ + agnostic/common/shared/mediacopy/media_render_copy.cpp \ + agnostic/common/shared/mediacopy/media_vebox_copy.cpp \ + agnostic/common/shared/null_hardware.cpp \ + agnostic/common/vp/hal/vphal.cpp \ + agnostic/common/vp/hal/vphal_common.c \ + agnostic/common/vp/hal/vphal_ddi.c \ + agnostic/common/vp/hal/vphal_debug.c \ + agnostic/common/vp/hal/vphal_mdf_wrapper.cpp \ + agnostic/common/vp/hal/vphal_render_16alignment.cpp \ + agnostic/common/vp/hal/vphal_render_common.c \ + agnostic/common/vp/hal/vphal_render_composite.cpp \ + agnostic/common/vp/hal/vphal_render_fast1ton.cpp \ + agnostic/common/vp/hal/vphal_render_hdr_base.cpp \ + agnostic/common/vp/hal/vphal_render_hdr_g11.cpp \ + agnostic/common/vp/hal/vphal_render_hdr_g9_base.cpp \ + agnostic/common/vp/hal/vphal_render_ief.cpp \ + agnostic/common/vp/hal/vphal_render_renderstate.cpp \ + agnostic/common/vp/hal/vphal_render_sfc_base.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_base.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_denoise.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_iecp.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_memdecomp.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_procamp.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_ste.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_tcc.cpp \ + agnostic/common/vp/hal/vphal_render_vebox_util_base.c \ + agnostic/common/vp/hal/vphal_renderer.cpp \ + agnostic/common/vp/kdll/hal_kerneldll.c \ + agnostic/g12/g12_base/hw/render/mhw_render_g12_X.cpp \ + agnostic/g12/g12_base/hw/render/mhw_render_hwcmd_g12_X.cpp \ + agnostic/gen11/cm/cm_hal_g11.cpp \ + agnostic/gen11/codec/hal/codechal_debug_encode_par_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_avc_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_hevc_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_histogram_vebox_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_jpeg_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_mpeg2_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_vc1_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_vp8_g11.cpp \ + agnostic/gen11/codec/hal/codechal_decode_vp9_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_avc_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_csc_ds_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_hevc_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_hevc_table_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_jpeg_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_mpeg2_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_sfc_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_sw_scoreboard_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_vp8_g11.cpp \ + agnostic/gen11/codec/hal/codechal_encode_wp_g11.cpp \ + agnostic/gen11/codec/hal/codechal_huc_cmd_initializer_g11.cpp \ + agnostic/gen11/codec/hal/codechal_hw_g11_X.cpp \ + agnostic/gen11/codec/hal/codechal_kernel_hme_g11.cpp \ + agnostic/gen11/codec/hal/codechal_vdenc_avc_g11.cpp \ + agnostic/gen11/codec/hal/codechal_vdenc_hevc_g11.cpp \ + agnostic/gen11/codec/hal/codechal_vdenc_vp9_g11.cpp \ + agnostic/gen11/codec/kernel/igcodeckrn_g11.c \ + agnostic/gen11/hw/mhw_mi_g11_X.cpp \ + agnostic/gen11/hw/mhw_mi_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/mhw_render_g11_X.cpp \ + agnostic/gen11/hw/mhw_render_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/mhw_sfc_g11_X.cpp \ + agnostic/gen11/hw/mhw_sfc_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/mhw_state_heap_g11.c \ + agnostic/gen11/hw/mhw_state_heap_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/mhw_vebox_g11_X.cpp \ + agnostic/gen11/hw/mhw_vebox_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/vdbox/mhw_vdbox_hcp_g11_X.cpp \ + agnostic/gen11/hw/vdbox/mhw_vdbox_hcp_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/vdbox/mhw_vdbox_huc_g11_X.cpp \ + agnostic/gen11/hw/vdbox/mhw_vdbox_huc_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_g11_X.cpp \ + agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_hwcmd_g11_X.cpp \ + agnostic/gen11/hw/vdbox/mhw_vdbox_vdenc_hwcmd_g11_X.cpp \ + agnostic/gen11/renderhal/renderhal_g11.cpp \ + agnostic/gen11/vp/hal/vphal_render_composite_g11.cpp \ + agnostic/gen11/vp/hal/vphal_render_sfc_g11_base.cpp \ + agnostic/gen11/vp/hal/vphal_render_vebox_g11_base.cpp \ + agnostic/gen11/vp/hal/vphal_renderer_g11.cpp \ + agnostic/gen11/vp/kdll/hal_kernelrules_g11.c \ + agnostic/gen11_icllp/codec/hal/codechal_decode_downsampling_g11_icllp.cpp \ + agnostic/gen11_icllp/codec/hal/codechal_encode_avc_g11_lp.cpp \ + agnostic/gen11_icllp/codec/hal/codechal_encode_jpeg_g11_jsl_ehl.cpp \ + agnostic/gen11_icllp/codec/hal/codechal_memdecomp_g11_icllp.cpp \ + agnostic/gen11_icllp/codec/hal/codechal_vdenc_avc_g11_jsl_ehl.cpp \ + agnostic/gen11_icllp/codec/hal/codechal_vdenc_hevc_g11_jsl_ehl.cpp \ + agnostic/gen11_icllp/codec/hal/codechal_vdenc_vp9_g11_jsl_ehl.cpp \ + agnostic/gen11_icllp/codec/kernel/igcodeckrn_g11_icllp.c \ + agnostic/gen11_icllp/vp/hal/vphal_g11_icllp.cpp \ + agnostic/gen11_icllp/vp/hal/vphal_renderer_g11_icllp.cpp \ + agnostic/gen11_icllp/vp/kernel/igvpkrn_g11_icllp.c \ + agnostic/gen11_icllp/vp/kernel/igvpkrn_isa_g11_icllp.c \ + agnostic/gen11_jsl_ehl/renderhal/renderhal_g11_jsl_ehl.cpp \ + agnostic/gen11_jsl_ehl/vp/hal/vphal_g11_jsl_ehl.cpp \ + agnostic/gen11_jsl_ehl/vp/hal/vphal_renderer_g11_jsl_ehl.cpp \ + agnostic/gen12/cm/cm_hal_g12.cpp \ + agnostic/gen12/codec/hal/codechal_debug_encode_par_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_avc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_downsampling_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_hevc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_hevc_long_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_histogram_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_jpeg_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_mpeg2_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_scalability_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_sfc_avc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_sfc_hevc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_sfc_jpeg_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_sfc_vp9_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_vc1_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_vp8_g12.cpp \ + agnostic/gen12/codec/hal/codechal_decode_vp9_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_avc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_csc_ds_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_csc_ds_mdf_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_hevc_brc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_hevc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_hevc_mbenc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_hevc_table_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_jpeg_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_mpeg2_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_sfc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_sw_scoreboard_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_sw_scoreboard_mdf_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_wp_g12.cpp \ + agnostic/gen12/codec/hal/codechal_encode_wp_mdf_g12.cpp \ + agnostic/gen12/codec/hal/codechal_hw_g12_X.cpp \ + agnostic/gen12/codec/hal/codechal_kernel_hme_g12.cpp \ + agnostic/gen12/codec/hal/codechal_kernel_hme_mdf_g12.cpp \ + agnostic/gen12/codec/hal/codechal_kernel_intra_dist_mdf_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_avc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_hevc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_jpeg_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_mpeg2_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_vc1_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_vc1_g12_ext.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_vp8_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_decode_vp9_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_encode_avc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_encode_hevc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_encode_jpeg_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_encode_mpeg2_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_encode_vp9_g12.cpp \ + agnostic/gen12/codec/hal/codechal_mmc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_vdenc_avc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_vdenc_hevc_g12.cpp \ + agnostic/gen12/codec/hal/codechal_vdenc_vp9_g12.cpp \ + agnostic/gen12/codec/kernel/igcodeckrn_g12.c \ + agnostic/gen12/codec/kernelisa/Gen12LP_CoarseIntra_genx.c \ + agnostic/gen12/codec/kernelisa/Gen12LP_DS_Convert_genx.c \ + agnostic/gen12/codec/kernelisa/Gen12LP_Init_Scoreboard_genx.c \ + agnostic/gen12/codec/kernelisa/Gen12LP_WeightedPrediction_genx.c \ + agnostic/gen12/codec/kernelisa/Gen12LP_hme_genx.c \ + agnostic/gen12/codec/kernelisa/Gen12_HEVC_BRC_INIT.c \ + agnostic/gen12/codec/kernelisa/Gen12_HEVC_BRC_LCUQP.c \ + agnostic/gen12/codec/kernelisa/Gen12_HEVC_BRC_RESET.c \ + agnostic/gen12/codec/kernelisa/Gen12_HEVC_BRC_UPDATE.c \ + agnostic/gen12/codec/kernelisa/Gen12_HEVC_B_LCU32.c \ + agnostic/gen12/codec/kernelisa/Gen12_HEVC_B_LCU64.c \ + agnostic/gen12/hw/mhw_mi_g12_X.cpp \ + agnostic/gen12/hw/mhw_mi_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/mhw_sfc_g12_X.cpp \ + agnostic/gen12/hw/mhw_sfc_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/mhw_state_heap_g12.c \ + agnostic/gen12/hw/mhw_state_heap_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/mhw_vebox_g12_X.cpp \ + agnostic/gen12/hw/mhw_vebox_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_avp_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_avp_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_avp_interface.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_hcp_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_hcp_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_huc_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_huc_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_hwcmd_g12_X.cpp \ + agnostic/gen12/hw/vdbox/mhw_vdbox_vdenc_hwcmd_g12_X.cpp \ + agnostic/gen12/vp/hal/vphal_render_composite_g12.cpp \ + agnostic/gen12/vp/hal/vphal_render_hdr_3dlut_g12.cpp \ + agnostic/gen12/vp/hal/vphal_render_sfc_g12_base.cpp \ + agnostic/gen12/vp/hal/vphal_render_vebox_g12_base.cpp \ + agnostic/gen12/vp/hal/vphal_render_vebox_memdecomp_g12.cpp \ + agnostic/gen12/vp/hal/vphal_renderer_g12.cpp \ + agnostic/gen12_tgllp/vp/hal/vphal_g12_tgllp.cpp \ + agnostic/gen12_tgllp/vp/hal/vphal_renderer_g12_tgllp.cpp \ + agnostic/gen12_tgllp/vp/kdll/hal_kernelrules_g12lp.c \ + agnostic/gen12_tgllp/vp/kdll/hal_kernelrules_g12lpcmfc.c \ + agnostic/gen12_tgllp/vp/kernel/cmfc/igvpkrn_g12_tgllp_cmfc.c \ + agnostic/gen12_tgllp/vp/kernel/cmfccmlpch/igvpkrn_g12_tgllp_cmfccmlpch.c \ + agnostic/gen12_tgllp/vp/kernel/cmfcpatch/igvpkrn_g12_tgllp_cmfcpatch.c \ + agnostic/gen12_tgllp/vp/kernel/igvpkrn_isa_g12_tgllp.c \ + agnostic/gen8/cm/cm_hal_g8.cpp \ + agnostic/gen8/codec/hal/codechal_decode_vc1_g8.cpp \ + agnostic/gen8/codec/hal/codechal_encode_avc_g8.cpp \ + agnostic/gen8/codec/hal/codechal_encode_csc_ds_g8.cpp \ + agnostic/gen8/codec/hal/codechal_encode_mpeg2_g8.cpp \ + agnostic/gen8/codec/hal/codechal_encode_wp_g8.cpp \ + agnostic/gen8/codec/hal/codechal_fei_avc_g8.cpp \ + agnostic/gen8/codec/hal/codechal_hw_g8_X.cpp \ + agnostic/gen8/codec/hal/codechal_kernel_hme_g8.cpp \ + agnostic/gen8/codec/kernel/igcodeckrn_g8.c \ + agnostic/gen8/hw/mhw_mi_g8_X.cpp \ + agnostic/gen8/hw/mhw_mi_hwcmd_g8_X.cpp \ + agnostic/gen8/hw/mhw_render_g8_X.cpp \ + agnostic/gen8/hw/mhw_render_hwcmd_g8_X.cpp \ + agnostic/gen8/hw/mhw_state_heap_g8.c \ + agnostic/gen8/hw/mhw_state_heap_hwcmd_g8_X.cpp \ + agnostic/gen8/hw/mhw_vebox_g8_X.cpp \ + agnostic/gen8/hw/mhw_vebox_hwcmd_g8_X.cpp \ + agnostic/gen8/renderhal/renderhal_g8.cpp \ + agnostic/gen8/vp/hal/vphal_g8.cpp \ + agnostic/gen8/vp/hal/vphal_render_composite_g8.cpp \ + agnostic/gen8/vp/hal/vphal_render_vebox_g8_base.cpp \ + agnostic/gen8/vp/hal/vphal_renderer_g8.cpp \ + agnostic/gen8/vp/kdll/hal_kerneldll_g8.c \ + agnostic/gen8/vp/kdll/hal_kernelrules_g8.c \ + agnostic/gen8/vp/kernel/igvpkrn_g8.c \ + agnostic/gen8_bdw/hw/vdbox/mhw_vdbox_mfx_g8_bdw.cpp \ + agnostic/gen8_bdw/hw/vdbox/mhw_vdbox_mfx_hwcmd_g8_bdw.cpp \ + agnostic/gen9/cm/cm_hal_g9.cpp \ + agnostic/gen9/codec/hal/codechal_debug_encode_par_g9.cpp \ + agnostic/gen9/codec/hal/codechal_decode_downsampling_g9.cpp \ + agnostic/gen9/codec/hal/codechal_decode_histogram_vebox_g9.cpp \ + agnostic/gen9/codec/hal/codechal_decode_nv12top010_g9.cpp \ + agnostic/gen9/codec/hal/codechal_decode_nv12top010_kernel_g9.cpp \ + agnostic/gen9/codec/hal/codechal_decode_vc1_g9.cpp \ + agnostic/gen9/codec/hal/codechal_encode_avc_g9.cpp \ + agnostic/gen9/codec/hal/codechal_encode_csc_ds_g9.cpp \ + agnostic/gen9/codec/hal/codechal_encode_hevc_g9.cpp \ + agnostic/gen9/codec/hal/codechal_encode_mpeg2_g9.cpp \ + agnostic/gen9/codec/hal/codechal_encode_vp8_g9.cpp \ + agnostic/gen9/codec/hal/codechal_encode_wp_g9.cpp \ + agnostic/gen9/codec/hal/codechal_fei_avc_g9.cpp \ + agnostic/gen9/codec/hal/codechal_hw_g9_X.cpp \ + agnostic/gen9/codec/hal/codechal_kernel_hme_g9.cpp \ + agnostic/gen9/codec/hal/codechal_memdecomp_g9.cpp \ + agnostic/gen9/codec/hal/codechal_vdenc_avc_g9.cpp \ + agnostic/gen9/codec/kernel/igcodeckrn_g9.c \ + agnostic/gen9/hw/mhw_mi_g9_X.cpp \ + agnostic/gen9/hw/mhw_mi_hwcmd_g9_X.cpp \ + agnostic/gen9/hw/mhw_render_g9_X.cpp \ + agnostic/gen9/hw/mhw_render_hwcmd_g9_X.cpp \ + agnostic/gen9/hw/mhw_sfc_g9_X.cpp \ + agnostic/gen9/hw/mhw_sfc_hwcmd_g9_X.cpp \ + agnostic/gen9/hw/mhw_state_heap_g9.c \ + agnostic/gen9/hw/mhw_state_heap_hwcmd_g9_X.cpp \ + agnostic/gen9/hw/mhw_vebox_g9_X.cpp \ + agnostic/gen9/renderhal/renderhal_g9.cpp \ + agnostic/gen9/vp/hal/vphal_g9.cpp \ + agnostic/gen9/vp/hal/vphal_render_composite_g9.cpp \ + agnostic/gen9/vp/hal/vphal_render_sfc_g9_base.cpp \ + agnostic/gen9/vp/hal/vphal_render_vebox_g9_base.cpp \ + agnostic/gen9/vp/hal/vphal_renderer_g9.cpp \ + agnostic/gen9/vp/kdll/hal_kernelrules_g9.c \ + agnostic/gen9/vp/kernel/igvpkrn_g9.c \ + agnostic/gen9/vp/kernel/igvpkrn_isa_g9.c \ + agnostic/gen9_bxt/codec/hal/codechal_decode_nv12top010_g9_bxt.cpp \ + agnostic/gen9_bxt/codec/hal/codechal_decode_nv12top010_kernel_g9_bxt.cpp \ + agnostic/gen9_bxt/codec/hal/codechal_encode_avc_g9_bxt.cpp \ + agnostic/gen9_bxt/codec/hal/codechal_encode_hevc_g9_bxt.cpp \ + agnostic/gen9_bxt/codec/hal/codechal_hw_g9_bxt.cpp \ + agnostic/gen9_bxt/codec/hal/codechal_vdenc_avc_g9_bxt.cpp \ + agnostic/gen9_bxt/codec/kernel/igcodeckrn_g9_bxt.c \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_hcp_g9_bxt.cpp \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_hcp_hwcmd_g9_bxt.cpp \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_huc_g9_bxt.cpp \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_huc_hwcmd_g9_bxt.cpp \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_mfx_g9_bxt.cpp \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_mfx_hwcmd_g9_bxt.cpp \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_vdenc_g9_bxt.cpp \ + agnostic/gen9_bxt/hw/vdbox/mhw_vdbox_vdenc_hwcmd_g9_bxt.cpp \ + agnostic/gen9_bxt/vp/hal/vphal_g9_bxt.cpp \ + agnostic/gen9_cml/vp/kernel/igvpkrn_g9_cml.c \ + agnostic/gen9_cml/vp/kernel/tgp/igvpkrn_g9_cml_tgp.c \ + agnostic/gen9_cmpv/vp/kernel/igvpkrn_g9_cmpv.c \ + agnostic/gen9_glk/codec/hal/codechal_decode_nv12top010_g9_glk.cpp \ + agnostic/gen9_glk/codec/hal/codechal_decode_nv12top010_kernel_g9_glk.cpp \ + agnostic/gen9_glk/codec/hal/codechal_encode_hevc_g9_glk.cpp \ + agnostic/gen9_glk/hw/vdbox/mhw_vdbox_hcp_hwcmd_g9_glk.cpp \ + agnostic/gen9_glk/hw/vdbox/mhw_vdbox_huc_hwcmd_g9_glk.cpp \ + agnostic/gen9_glk/vp/hal/vphal_g9_glk.cpp \ + agnostic/gen9_kbl/codec/hal/codechal_encode_avc_g9_kbl.cpp \ + agnostic/gen9_kbl/codec/hal/codechal_encode_hevc_g9_kbl.cpp \ + agnostic/gen9_kbl/codec/hal/codechal_hw_g9_kbl.cpp \ + agnostic/gen9_kbl/codec/hal/codechal_vdenc_avc_g9_kbl.cpp \ + agnostic/gen9_kbl/codec/kernel/igcodeckrn_g9_kbl.c \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_hcp_g9_kbl.cpp \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_hcp_hwcmd_g9_kbl.cpp \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_huc_g9_kbl.cpp \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_huc_hwcmd_g9_kbl.cpp \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_mfx_g9_kbl.cpp \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_mfx_hwcmd_g9_kbl.cpp \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_vdenc_g9_kbl.cpp \ + agnostic/gen9_kbl/hw/vdbox/mhw_vdbox_vdenc_hwcmd_g9_kbl.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/AvcEncFei_Mfe_gen9.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernelBase.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_DownScaling.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_I_16x16Mode.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_I_16x16Sad.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_I_32x32.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_I_8x8.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_I_8x8Mode.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_PB_32x32.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_PB_8x8MbEnc.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/CMRTKernel_PB_8x8Pak.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/HevcEncFei_I_gen9.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/HevcEncFei_PB_gen9.cpp \ + agnostic/gen9_skl/codec/cmrt_kernel/Hme_Downscale_gen9.cpp \ + agnostic/gen9_skl/codec/hal/codechal_encode_avc_g9_skl.cpp \ + agnostic/gen9_skl/codec/hal/codechal_encode_hevc_g9_skl.cpp \ + agnostic/gen9_skl/codec/hal/codechal_encode_mpeg2_g9_skl.cpp \ + agnostic/gen9_skl/codec/hal/codechal_fei_avc_g9_skl.cpp \ + agnostic/gen9_skl/codec/hal/codechal_fei_hevc_g9_skl.cpp \ + agnostic/gen9_skl/codec/hal/codechal_vdenc_avc_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_hcp_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_hcp_hwcmd_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_huc_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_huc_hwcmd_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_mfx_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_mfx_hwcmd_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_vdenc_g9_skl.cpp \ + agnostic/gen9_skl/hw/vdbox/mhw_vdbox_vdenc_hwcmd_g9_skl.cpp \ + linux/Xe_M/ddi/media_libva_caps_dg2.cpp \ + linux/Xe_M/ddi/media_libva_caps_pvc.cpp \ + linux/Xe_M/ddi/media_libva_caps_xehp_sdv.cpp \ + linux/Xe_M/ddi/media_sku_wa_xe.cpp \ + linux/Xe_M/ddi/media_sysinfo_xe.cpp \ + linux/common/cm/ddi/media_libva_cm.c \ + linux/common/cm/hal/cm_command_buffer_os.cpp \ + linux/common/cm/hal/cm_debug_os.cpp \ + linux/common/cm/hal/cm_device_rt.cpp \ + linux/common/cm/hal/cm_event_ex.cpp \ + linux/common/cm/hal/cm_event_rt_os.cpp \ + linux/common/cm/hal/cm_ftrace.cpp \ + linux/common/cm/hal/cm_global_api_os.cpp \ + linux/common/cm/hal/cm_hal_os.cpp \ + linux/common/cm/hal/cm_queue_rt_os.cpp \ + linux/common/cm/hal/cm_surface_2d_rt.cpp \ + linux/common/cm/hal/cm_surface_2d_wrapper.cpp \ + linux/common/cm/hal/cm_surface_manager.cpp \ + linux/common/cm/hal/cm_surface_state_manager_os.cpp \ + linux/common/cm/hal/cm_task_internal_os.cpp \ + linux/common/cm/hal/cm_task_rt_os.cpp \ + linux/common/cm/hal/cm_wrapper_os.cpp \ + linux/common/cm/hal/osservice/cm_ish.cpp \ + linux/common/cm/hal/osservice/cm_mem_os.cpp \ + linux/common/cm/hal/osservice/cm_mem_os_c_impl.cpp \ + linux/common/cm/hal/osservice/cm_mem_os_sse4_impl.cpp \ + linux/common/codec/ddi/media_ddi_decode_av1.cpp \ + linux/common/codec/ddi/media_ddi_decode_avc.cpp \ + linux/common/codec/ddi/media_ddi_decode_base.cpp \ + linux/common/codec/ddi/media_ddi_decode_hevc.cpp \ + linux/common/codec/ddi/media_ddi_decode_jpeg.cpp \ + linux/common/codec/ddi/media_ddi_decode_mpeg2.cpp \ + linux/common/codec/ddi/media_ddi_decode_vc1.cpp \ + linux/common/codec/ddi/media_ddi_decode_vp8.cpp \ + linux/common/codec/ddi/media_ddi_decode_vp9.cpp \ + linux/common/codec/ddi/media_ddi_encode_av1.cpp \ + linux/common/codec/ddi/media_ddi_encode_avc.cpp \ + linux/common/codec/ddi/media_ddi_encode_base.cpp \ + linux/common/codec/ddi/media_ddi_encode_fei_avc.cpp \ + linux/common/codec/ddi/media_ddi_encode_fei_hevc.cpp \ + linux/common/codec/ddi/media_ddi_encode_hevc.cpp \ + linux/common/codec/ddi/media_ddi_encode_jpeg.cpp \ + linux/common/codec/ddi/media_ddi_encode_mpeg2.cpp \ + linux/common/codec/ddi/media_ddi_encode_vp8.cpp \ + linux/common/codec/ddi/media_ddi_encode_vp9.cpp \ + linux/common/codec/ddi/media_libva_decoder.cpp \ + linux/common/codec/ddi/media_libva_encoder.cpp \ + linux/common/codec/ddi/media_libvpx_vp9.cpp \ + linux/common/codec/hal/codechal_secure_decode_interface.cpp \ + linux/common/cp/ddi/media_ddi_prot.cpp \ + linux/common/cp/ddi/media_libva_caps_cp_interface.cpp \ + linux/common/cp/ddi/media_libva_cp_interface.cpp \ + linux/common/cp/hw/mhw_cp_interface.cpp \ + linux/common/cp/os/mos_os_cp_interface_specific.cpp \ + linux/common/ddi/media_ddi_base.cpp \ + linux/common/ddi/media_libva.cpp \ + linux/common/ddi/media_libva_apo_decision.cpp \ + linux/common/ddi/media_libva_caps.cpp \ + linux/common/ddi/media_libva_common.cpp \ + linux/common/ddi/media_libva_interface.cpp \ + linux/common/ddi/media_libva_util.cpp \ + linux/common/hw/mhw_mi_linux.cpp \ + linux/common/media_interfaces/media_interfaces.cpp \ + linux/common/os/memory_policy_manager_specific.cpp \ + linux/common/os/mos_commandbuffer_specific.cpp \ + linux/common/os/mos_context_specific.cpp \ + linux/common/os/mos_decompression.cpp \ + linux/common/os/mos_gpucontext_specific.cpp \ + linux/common/os/mos_gpucontext_specific_ext.cpp \ + linux/common/os/mos_graphicsresource_specific.cpp \ + linux/common/os/mos_mediacopy.cpp \ + linux/common/os/mos_os_specific.c \ + linux/common/os/mos_os_virtualengine_scalability_specific.cpp \ + linux/common/os/mos_os_virtualengine_singlepipe_specific.cpp \ + linux/common/os/mos_util_devult_specific.cpp \ + linux/common/os/mos_utilities_specific_usersetting.cpp \ + linux/common/renderhal/renderhal_dsh_specific.c \ + linux/common/renderhal/renderhal_linux.cpp \ + linux/common/shared/hal_oca_interface.cpp \ + linux/common/shared/skuwa_dump_specific.c \ + linux/common/vp/ddi/media_libva_vp.c \ + linux/common/vp/ddi/media_libva_vp_tools.c \ + linux/common/vp/hal/vphal_common_specific.c \ + linux/common/vp/hal/vphal_render_common_specific.c \ + linux/gen11/codec/ddi/media_ddi_decode_hevc_g11.cpp \ + linux/gen11/ddi/media_libva_caps_g11.cpp \ + linux/gen11/ddi/media_sku_wa_g11.cpp \ + linux/gen11/ddi/media_sysinfo_g11.cpp \ + linux/gen12/codec/ddi/media_ddi_decode_hevc_g12.cpp \ + linux/gen12/ddi/media_libva_caps_g12.cpp \ + linux/gen12/ddi/media_sku_wa_g12.cpp \ + linux/gen12/ddi/media_sysinfo_g12.cpp \ + linux/gen8/ddi/media_libva_caps_g8.cpp \ + linux/gen8/ddi/media_sku_wa_g8.cpp \ + linux/gen8/ddi/media_sysinfo_g8.cpp \ + linux/gen9/ddi/media_libva_caps_g9.cpp \ + linux/gen9/ddi/media_sku_wa_g9.cpp \ + linux/gen9/ddi/media_sysinfo_g9.cpp \ + linux/gen9_bxt/ddi/media_libva_caps_g9_bxt.cpp \ + linux/gen9_cfl/ddi/media_libva_caps_g9_cfl.cpp \ + linux/gen9_glk/ddi/media_libva_caps_g9_glk.cpp \ + linux/gen9_kbl/ddi/media_libva_caps_g9_kbl.cpp \ + linux/gen9_skl/ddi/media_libva_caps_g9_skl.cpp \ + media_interface/media_interfaces_dg2/media_interfaces_dg2.cpp \ + media_interface/media_interfaces_m11_icllp/media_interfaces_g11_icllp.cpp \ + media_interface/media_interfaces_m11_jsl_ehl/media_interfaces_g11_jsl_ehl.cpp \ + media_interface/media_interfaces_m12_adln/media_interfaces_g12_adln.cpp \ + media_interface/media_interfaces_m12_adlp/media_interfaces_g12_adlp.cpp \ + media_interface/media_interfaces_m12_adls/media_interfaces_g12_adls.cpp \ + media_interface/media_interfaces_m12_dg1/media_interfaces_g12_dg1.cpp \ + media_interface/media_interfaces_m12_rkl/media_interfaces_g12_rkl.cpp \ + media_interface/media_interfaces_m12_tgllp/media_interfaces_g12_tgllp.cpp \ + media_interface/media_interfaces_m8_bdw/media_interfaces_g8_bdw.cpp \ + media_interface/media_interfaces_m9_bxt/media_interfaces_g9_bxt.cpp \ + media_interface/media_interfaces_m9_cfl/media_interfaces_g9_cfl.cpp \ + media_interface/media_interfaces_m9_glk/media_interfaces_g9_glk.cpp \ + media_interface/media_interfaces_m9_kbl/media_interfaces_g9_kbl.cpp \ + media_interface/media_interfaces_m9_skl/media_interfaces_g9_skl.cpp \ + media_interface/media_interfaces_xehp_sdv/media_interfaces_xehp_sdv.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/features/encode_av1_basic_feature_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/features/encode_av1_segmentation_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/features/encode_av1_vdenc_const_settings_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/features/encode_av1_vdenc_feature_manager_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_adapter_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/hevc/features/encode_hevc_vdenc_feature_manager_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_adapter_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/shared/codechal_hw_next_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/shared/mediacopy/media_blt_copy_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/shared/mediacopy/media_copy_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/shared/mediacopy/media_render_copy_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/feature_manager/vp_feature_manager_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/packet/vp_vebox_cmd_packet_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/pipeline/vp_pipeline_adapter_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/platform_interface/vp_platform_interface_xe_hpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_slice_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_slice_xe_m_base_packet.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_xe_m_base_packet.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/pipeline/decode_avc_pipeline_adapter_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/pipeline/decode_avc_pipeline_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/mmc/decode_hevc_mem_compression_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_back_end_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_back_end_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_front_end_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_front_end_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_long_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_long_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_real_tile_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_real_tile_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_picture_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_picture_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_slice_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_slice_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_hevc_tile_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_huc_s2l_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet/decode_huc_s2l_xe_m_base_packet.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/pipeline/decode_hevc_pipeline_adapter_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/pipeline/decode_hevc_pipeline_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/packet/decode_jpeg_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/packet/decode_jpeg_picture_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/packet/decode_jpeg_picture_xe_m_base_packet.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/packet/decode_jpeg_xe_m_base_packet.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/pipeline/decode_jpeg_pipeline_adapter_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/pipeline/decode_jpeg_pipeline_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/mmc/decode_mpeg2_mem_compression_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_mb_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_mb_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_picture_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_picture_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_slice_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet/decode_mpeg2_slice_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/pipeline/decode_mpeg2_pipeline_adapter_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/pipeline/decode_mpeg2_pipeline_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/shared/decode_input_bitstream_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/shared/pipeline/decode_sfc_histogram_postsubpipeline_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/features/decode_vp9_basic_feature_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/features/decode_vp9_feature_manager_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/hucitf/decode_huc_prob_update_creator_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/mmc/decode_vp9_mem_compression_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_huc_prob_update_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_packet_back_end_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_packet_back_end_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_packet_front_end_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_packet_front_end_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_packet_single_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_packet_single_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_picture_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_picture_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_slice_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_slice_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet/decode_vp9_tile_packet_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/pipeline/decode_vp9_buffer_update_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/pipeline/decode_vp9_pipeline_adapter_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/pipeline/decode_vp9_pipeline_m12.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc/av1/packet/encode_av1_vdenc_packet_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_adapter_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc/av1/pipeline/encode_av1_vdenc_pipeline_xe_m_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc/shared/encode_mem_compression_g12.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/feature_manager/vp_feature_manager_xe_xpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/packet/vp_vebox_cmd_packet_xe_xpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/pipeline/vp_pipeline_adapter_xe_xpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/platform_interface/vp_platform_interface_xe_xpm.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal/enc/hevc/features/encode_hevc_vdenc_const_settings_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal/enc/hevc/features/encode_hevc_vdenc_feature_manager_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_adapter_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal/enc/hevc/pipeline/encode_hevc_vdenc_pipeline_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/shared/mediacopy/media_blt_copy_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/shared/mediacopy/media_copy_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/vp/hal/feature_manager/vp_feature_manager_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/vp/hal/packet/vp_render_sfc_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_M/Xe_XPM_base/vp/hal/packet/vp_vebox_cmd_packet_xe_xpm_base.cpp \ + media_softlet/agnostic/Xe_R/Xe_HP/renderhal/renderhal_xe_hp.cpp \ + media_softlet/agnostic/Xe_R/Xe_HPG/renderhal/renderhal_xe_hpg.cpp \ + media_softlet/agnostic/Xe_R/Xe_HP_Base/renderhal/renderhal_xe_hp_base.cpp \ + media_softlet/agnostic/common/codec/hal/dec/shared/scalability/decode_scalability_multipipe.cpp \ + media_softlet/agnostic/common/codec/hal/dec/shared/scalability/decode_scalability_singlepipe.cpp \ + media_softlet/agnostic/common/shared/media_sfc_interface/media_sfc_interface_legacy.cpp \ + media_softlet/agnostic/common/shared/media_sfc_interface/media_sfc_render_legacy.cpp \ + media_softlet/agnostic/common/shared/packet/media_packet.cpp \ + media_softlet/agnostic/common/shared/scalability/media_scalability_singlepipe.cpp \ + media_softlet/agnostic/common/vp/hal/packet/vp_render_sfc_base_legacy.cpp \ + media_softlet/agnostic/common/vp/hal/packet/vp_vebox_cmd_packet_legacy.cpp \ + media_softlet/agnostic/common/vp/hal/pipeline/vp_pipeline_adapter_legacy.cpp \ + media_softlet/agnostic/common/vp/hal/shared/scalability/vp_scalability_multipipe.cpp \ + media_softlet/agnostic/common/vp/hal/shared/scalability/vp_scalability_singlepipe.cpp \ + media_softlet/agnostic/g12/g12_0/renderhal/renderhal_g12_0.cpp \ + media_softlet/agnostic/g12/g12_1/renderhal/renderhal_g12_1.cpp \ + media_softlet/agnostic/g12/g12_base/renderhal/renderhal_g12_base.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/features/decode_av1_basic_feature_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/features/decode_av1_feature_manager_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/features/decode_av1_filmgrain_feature_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/features/decode_av1_reference_frames_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/features/decode_av1_temporal_buffers_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/features/decode_av1_tile_coding_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/packet/decode_av1_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/packet/decode_av1_picture_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/packet/decode_av1_tile_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_applynoise_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_grv_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp1_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp2_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/pipeline/decode_av1_pipeline_adapter_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/pipeline/decode_av1_pipeline_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/pipeline/decode_filmgrain_postsubpipeline_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/pipeline/decode_filmgrain_presubpipeline_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/av1/pipeline/decode_filmgrain_surf_init_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/shared/decode_marker_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/shared/decode_mem_compression_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/dec/shared/decode_predication_packet_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/shared/codec_mem_compression_g12.cpp \ + media_softlet/agnostic/gen12/codec/hal/shared/codec_mem_compression_g12_next.cpp \ + media_softlet/agnostic/gen12/vp/hal/vp_pipeline_adapter_g12.cpp \ + media_softlet/agnostic/gen12/vp/hal/vp_vebox_cmd_packet_g12.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/av1/features/decode_av1_feature_manager_g12_base.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/av1/packet/decode_av1_packet_g12_base.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/av1/packet/decode_av1_picture_packet_g12_base.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/av1/packet/decode_av1_tile_packet_g12_base.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/av1/pipeline/decode_av1_pipeline_g12_base.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/shared/hucitf/decode_huc_packet_creator_g12.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/shared/hucitf/huc_streamout_interface_g12.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/shared/packet/decode_huc_copy_packet_g12.cpp \ + media_softlet/agnostic/gen12_base/codec/hal/dec/shared/packet/decode_huc_g12_base.cpp \ + media_softlet/agnostic/gen12_tgllp/vp/hal/platform_interface/vp_platform_interface_g12_tgllp.cpp \ + media_softlet/agnostic/m12/m12/vp/hal/packet/vp_kernel_config_m12_base.cpp \ + media_softlet/agnostic/m12/m12/vp/hal/packet/vp_render_sfc_m12.cpp \ + media_softlet/agnostic/m12/m12_0/shared/mediacopy/media_copy_m12_0.cpp \ + media_softlet/agnostic/m12/m12_0/vp/hal/feature_manager/vp_feature_manager_m12_0.cpp \ + +LOCAL_SHARED_LIBRARIES := \ + libsync \ + libcutils \ + libutils \ + libdrm \ + libva \ + liblog \ + libgmm_umd \ + +LOCAL_CPPFLAGS = \ + -DDRV_I915 \ + -DOTC_GRALLOC \ + -DANDROID_VERSION=800 \ + -fexceptions \ + -frtti \ + -std=c++14 \ + -DCLASS_TRACE=0 \ + -DENABLE_KERNELS \ + -Wno-error \ + -Wno-ignored-qualifiers \ + -Wno-unused-parameter \ + -Wno-missing-braces \ + -Wno-overloaded-virtual \ + -Wno-unused-variable \ + -Wno-missing-field-initializers \ + -Wno-unused-function \ + -Wno-logical-op-parentheses \ + -Wno-implicit-fallthrough \ + -Wno-comment \ + -Wno-unused-private-field \ + -Wno-unused-value \ + -Wno-parentheses-equality \ + -Wno-unused-label \ + -Wno-parentheses \ + -Wno-c++11-narrowing \ + -Wno-unused-lambda-capture \ + -Wno-unreachable-code-loop-increment \ + -Wno-delete-incomplete \ + -DHEVC_FEI_ENABLE_CMRT \ + -DIGFX_DG2_SUPPORTED \ + -DIGFX_GEN11_ICLLP_SUPPORTED \ + -DIGFX_GEN11_JSL_SUPPORTED \ + -DIGFX_GEN11_SUPPORTED \ + -DIGFX_GEN12_ADLN_SUPPORTED \ + -DIGFX_GEN12_ADLP_SUPPORTED \ + -DIGFX_GEN12_ADLS_SUPPORTED \ + -DIGFX_GEN12_DG1_SUPPORTED \ + -DIGFX_GEN12_RKL_SUPPORTED \ + -DIGFX_GEN12_SUPPORTED \ + -DIGFX_GEN12_TGLLP_CMFCPATCH_SUPPORTED \ + -DIGFX_GEN12_TGLLP_CMFC_SUPPORTED \ + -DIGFX_GEN12_TGLLP_SUPPORTED \ + -DIGFX_GEN12_TGLLP_SWSB_SUPPORTED \ + -DIGFX_GEN8_BDW_SUPPORTED \ + -DIGFX_GEN8_SUPPORTED \ + -DIGFX_GEN9_BXT_SUPPORTED \ + -DIGFX_GEN9_CFL_SUPPORTED \ + -DIGFX_GEN9_CML_SUPPORTED \ + -DIGFX_GEN9_CMPV_SUPPORTED \ + -DIGFX_GEN9_GLK_SUPPORTED \ + -DIGFX_GEN9_KBL_SUPPORTED \ + -DIGFX_GEN9_SKL_SUPPORTED \ + -DIGFX_GEN9_SUPPORTED \ + -DIGFX_MTL_SUPPORTED \ + -DIGFX_XEHP_SDV_CMFCPATCH_SUPPORTED \ + -DIGFX_XEHP_SDV_SUPPORTED \ + -DIGFX_XE_HPG_CMFCPATCH_SUPPORTED \ + -DIGFX_XE_HPG_SUPPORTED \ + -DMEDIA_VERSION=\"23.2.4\" \ + -DMEDIA_VERSION_DETAILS=\"cf942344b\" \ + -DVEBOX_AUTO_DENOISE_SUPPORTED=1 \ + -DX11_FOUND \ + -D_AV1_DECODE_SUPPORTED \ + -D_AV1_ENCODE_VDENC_SUPPORTED \ + -D_AVC_DECODE_SUPPORTED \ + -D_AVC_ENCODE_VDENC_SUPPORTED \ + -D_AVC_ENCODE_VME_SUPPORTED \ + -D_COMMON_ENCODE_SUPPORTED \ + -D_DECODE_PROCESSING_SUPPORTED \ + -D_HEVC_DECODE_SUPPORTED \ + -D_HEVC_ENCODE_VDENC_SUPPORTED \ + -D_HEVC_ENCODE_VME_SUPPORTED \ + -D_JPEG_DECODE_SUPPORTED \ + -D_JPEG_ENCODE_SUPPORTED \ + -D_MANUAL_SOFTLET_ \ + -D_MMC_SUPPORTED \ + -D_MPEG2_DECODE_SUPPORTED \ + -D_MPEG2_ENCODE_VME_SUPPORTED \ + -D_VC1_DECODE_SUPPORTED \ + -D_VP8_DECODE_SUPPORTED \ + -D_VP8_ENCODE_SUPPORTED \ + -D_VP9_DECODE_SUPPORTED \ + -D_VP9_ENCODE_VDENC_SUPPORTED \ + -D__STDC_CONSTANT_MACROS \ + -D__STDC_LIMIT_MACROS \ + -D__VPHAL_SFC_SUPPORTED=1 \ + -DiHD_drv_video_EXPORTS \ + -DGMM_LIB_DLL + +LOCAL_CONLYFLAGS = -x c++ +LOCAL_CFLAGS = $(LOCAL_CPPFLAGS) + +LOCAL_C_INCLUDES = \ + $(LOCAL_PATH)/agnostic/common/cm \ + $(LOCAL_PATH)/agnostic/common/codec/hal \ + $(LOCAL_PATH)/agnostic/common/codec/kernel \ + $(LOCAL_PATH)/agnostic/common/codec/shared \ + $(LOCAL_PATH)/agnostic/common/os \ + $(LOCAL_PATH)/agnostic/common/vp/hal \ + $(LOCAL_PATH)/agnostic/common/hw \ + $(LOCAL_PATH)/agnostic/common/shared \ + $(LOCAL_PATH)/agnostic/common/shared/mediacopy \ + $(LOCAL_PATH)/agnostic/common/media_interfaces \ + $(LOCAL_PATH)/agnostic/common/renderhal \ + $(LOCAL_PATH)/agnostic/common/vp/kdll \ + $(LOCAL_PATH)/agnostic/common/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen8/codec/hal \ + $(LOCAL_PATH)/agnostic/gen8/codec/kernel \ + $(LOCAL_PATH)/agnostic/gen8/renderhal \ + $(LOCAL_PATH)/agnostic/gen8/cm \ + $(LOCAL_PATH)/agnostic/gen8/vp/hal \ + $(LOCAL_PATH)/agnostic/gen8/vp/kernel \ + $(LOCAL_PATH)/agnostic/gen8/hw \ + $(LOCAL_PATH)/agnostic/gen8/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen8_bdw/codec/hal \ + $(LOCAL_PATH)/agnostic/gen8_bdw/renderhal \ + $(LOCAL_PATH)/agnostic/gen8_bdw/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen9/codec/hal \ + $(LOCAL_PATH)/agnostic/gen9/codec/kernel \ + $(LOCAL_PATH)/agnostic/gen9/renderhal \ + $(LOCAL_PATH)/agnostic/gen9/cm \ + $(LOCAL_PATH)/agnostic/gen9/vp/hal \ + $(LOCAL_PATH)/agnostic/gen9/vp/kernel \ + $(LOCAL_PATH)/agnostic/gen9/hw \ + $(LOCAL_PATH)/agnostic/gen9/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen9_bxt/codec/hal \ + $(LOCAL_PATH)/agnostic/gen9_bxt/codec/kernel \ + $(LOCAL_PATH)/agnostic/gen9_bxt/vp/hal \ + $(LOCAL_PATH)/agnostic/gen9_bxt/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen9_skl/codec/hal \ + $(LOCAL_PATH)/agnostic/gen9_skl/codec/cmrt_kernel \ + $(LOCAL_PATH)/agnostic/gen9_skl/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen9_glk/codec/hal \ + $(LOCAL_PATH)/agnostic/gen9_glk/vp/hal \ + $(LOCAL_PATH)/agnostic/gen9_glk/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen9_kbl/codec/hal \ + $(LOCAL_PATH)/agnostic/gen9_kbl/codec/kernel \ + $(LOCAL_PATH)/agnostic/gen9_kbl/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen11/codec/hal \ + $(LOCAL_PATH)/agnostic/gen11/codec/kernel \ + $(LOCAL_PATH)/agnostic/gen11/codec/share \ + $(LOCAL_PATH)/agnostic/gen11/renderhal \ + $(LOCAL_PATH)/agnostic/gen11/cm \ + $(LOCAL_PATH)/agnostic/gen11/vp/hal \ + $(LOCAL_PATH)/agnostic/gen11/hw \ + $(LOCAL_PATH)/agnostic/gen11/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen11_icllp/codec/hal \ + $(LOCAL_PATH)/agnostic/gen11_icllp/codec/kernel \ + $(LOCAL_PATH)/agnostic/gen11_icllp/vp/hal \ + $(LOCAL_PATH)/agnostic/gen11_icllp/vp/kernel \ + $(LOCAL_PATH)/agnostic/gen11_jsl_ehl/vp/hal \ + $(LOCAL_PATH)/agnostic/gen11_jsl_ehl/renderhal \ + $(LOCAL_PATH)/agnostic/gen12/codec/hal \ + $(LOCAL_PATH)/agnostic/gen12/codec/kernel \ + $(LOCAL_PATH)/agnostic/gen12/codec/kernelisa \ + $(LOCAL_PATH)/agnostic/gen12/codec/shared \ + $(LOCAL_PATH)/agnostic/gen12/hw/vdbox \ + $(LOCAL_PATH)/agnostic/gen12/hw \ + $(LOCAL_PATH)/agnostic/gen12/vp/hal \ + $(LOCAL_PATH)/agnostic/gen12/cm \ + $(LOCAL_PATH)/agnostic/gen12 \ + $(LOCAL_PATH)/agnostic/gen12_tgllp \ + $(LOCAL_PATH)/agnostic/gen12_tgllp/vp/hal \ + $(LOCAL_PATH)/agnostic/gen12_tgllp/vp/kernel/cmfc \ + $(LOCAL_PATH)/agnostic/gen12_tgllp/vp/kernel/cmfccmlpch \ + $(LOCAL_PATH)/agnostic/gen12_tgllp/vp/kernel/cmfcpatch \ + $(LOCAL_PATH)/agnostic/gen12_tgllp/vp/kernel \ + $(LOCAL_PATH)/agnostic/gen12_tgllp/vp/kernel/swsb \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/hw/vdbox \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/codec/hal \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/codec/kernelisa \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/vp/hal \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/vp/kernel/cmfcpatch \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/vp/kernel \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/hw \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM/codec/hal \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM/codec/kernel \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM/vp/hal \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM/hw \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM/hw/vdbox \ + $(LOCAL_PATH)/agnostic/Xe_R/Xe_HP_base/hw/render \ + $(LOCAL_PATH)/agnostic/Xe_R/Xe_HP_base/hw/blt \ + $(LOCAL_PATH)/agnostic/Xe_R/Xe_HP/hw/render \ + $(LOCAL_PATH)/agnostic/Xe_R/Xe_HPG/hw/render \ + $(LOCAL_PATH)/agnostic/g12/g12_base/hw/render \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/av1/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/av1/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/av1/features \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/av1 \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/shared \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/shared \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/shared \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/av1/features \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/av1/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/dec/av1/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/codec/hal/shared \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12/vp/hal \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12_tgllp/vp/hal/platform_interface \ + $(LOCAL_PATH)/media_softlet/agnostic/g12/g12_base/renderhal \ + $(LOCAL_PATH)/media_softlet/agnostic/g12/g12_1/renderhal \ + $(LOCAL_PATH)/media_softlet/agnostic/g12/g12_0/renderhal \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/codec/hal \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_XPM/codec/kernelisa \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM/codec/hal \ + $(LOCAL_PATH)/agnostic/Xe_M/Xe_HPM/codec/kernel \ + $(LOCAL_PATH)/linux/common/cm/ddi \ + $(LOCAL_PATH)/linux/common/cm/hal/osservice \ + $(LOCAL_PATH)/linux/common/cm/hal \ + $(LOCAL_PATH)/linux/common/ddi \ + $(LOCAL_PATH)/linux/common/codec/ddi \ + $(LOCAL_PATH)/linux/common/cp/ddi \ + $(LOCAL_PATH)/linux/common/cp/os \ + $(LOCAL_PATH)/linux/common/cp/hw \ + $(LOCAL_PATH)/linux/common/cp/shared \ + $(LOCAL_PATH)/linux/common/vp/ddi \ + $(LOCAL_PATH)/linux/common/hw \ + $(LOCAL_PATH)/linux/common/os \ + $(LOCAL_PATH)/linux/gen8/ddi \ + $(LOCAL_PATH)/linux/gen9/ddi \ + $(LOCAL_PATH)/linux/gen9_bxt/ddi \ + $(LOCAL_PATH)/linux/gen9_skl/ddi \ + $(LOCAL_PATH)/linux/gen9_kbl/ddi \ + $(LOCAL_PATH)/linux/gen9_glk/ddi \ + $(LOCAL_PATH)/linux/gen9_cfl/ddi \ + $(LOCAL_PATH)/linux/gen11/codec/ddi \ + $(LOCAL_PATH)/linux/gen11/ddi \ + $(LOCAL_PATH)/linux/gen12/codec/ddi \ + $(LOCAL_PATH)/linux/gen12/ddi \ + $(LOCAL_PATH)/linux/Xe_M/ddi \ + $(LOCAL_PATH)/media_softlet/agnostic/common/codec/hal/dec/shared/scalability \ + $(LOCAL_PATH)/media_softlet/agnostic/common/shared/scalability \ + $(LOCAL_PATH)/media_softlet/agnostic/common/shared/media_sfc_interface \ + $(LOCAL_PATH)/media_softlet/agnostic/common/vp/hal/shared/scalability \ + $(LOCAL_PATH)/media_softlet/agnostic/common/vp/hal/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/common/vp/hal/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12_base/codec/hal/dec/av1/features \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12_base/codec/hal/dec/av1/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12_base/codec/hal/dec/av1/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12_base/codec/hal/dec/shared/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12_base/codec/hal/dec/shared/hucitf \ + $(LOCAL_PATH)/media_softlet/agnostic/gen12_base/codec/hal \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/platform_interface \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM/vp/hal/feature_manager \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal/enc/hevc/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal/enc/hevc/features \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal/enc \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/codec/hal \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/shared/mediacopy \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/vp/hal/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/vp/hal/feature_manager \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_XPM_base/hw \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/av1/features \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/hevc/features \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/enc/hevc/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/codec/hal/shared \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/hw \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/hw/vdbox \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/platform_interface \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/vp/hal/feature_manager \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_HPM/shared/mediacopy \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc/mmc \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/hevc \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/mmc \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/hucitf \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9/features \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/vp9 \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2/mmc \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/mpeg2 \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/jpeg \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/shared/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/shared \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc/av1/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc/av1/pipeline \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc/shared \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/enc \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_R/Xe_HPC/renderhal \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_R/Xe_HPG/renderhal \ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_R/Xe_HP_Base/renderhal\ + $(LOCAL_PATH)/media_softlet/agnostic/Xe_R/Xe_HP/renderhal \ + $(LOCAL_PATH)/media_softlet/agnostic/m12/m12/vp/hal/packet \ + $(LOCAL_PATH)/media_softlet/agnostic/m12/m12_0/shared/mediacopy \ + $(LOCAL_PATH)/media_softlet/agnostic/m12/m12_0/vp/hal/feature_manager \ + $(LOCAL_PATH)/media_interface/media_interfaces_m12_adln \ + $(LOCAL_PATH)/media_interface/media_interfaces_m12_dg1 \ + $(LOCAL_PATH)/media_interface/media_interfaces_m12_rkl\ + $(LOCAL_PATH)/media_interface/media_interfaces_m9_cfl \ + $(LOCAL_PATH)/media_interface/media_interfaces_m12_adls \ + $(LOCAL_PATH)/media_interface/media_interfaces_m9_skl \ + $(LOCAL_PATH)/media_interface/media_interfaces_m12_adlp \ + $(LOCAL_PATH)/media_interface/media_interfaces_m11_jsl_ehl \ + $(LOCAL_PATH)/media_interface/media_interfaces_m8_bdw \ + $(LOCAL_PATH)/media_interface/media_interfaces_pvc \ + $(LOCAL_PATH)/media_interface/media_interfaces_dg2 \ + $(LOCAL_PATH)/media_interface/media_interfaces_m9_bxt \ + $(LOCAL_PATH)/media_interface/media_interfaces_xehp_sdv \ + $(LOCAL_PATH)/media_interface/media_interfaces_m9_glk \ + $(LOCAL_PATH)/media_interface/media_interfaces_m9_kbl \ + $(LOCAL_PATH)/media_interface/media_interfaces_m10_cnl \ + $(LOCAL_PATH)/media_interface/media_interfaces_m11_icllp \ + $(LOCAL_PATH)/media_interface/media_interfaces_m12_tgllp \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/os \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/os/private \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/os/share \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/os/user_setting \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/classtrace \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/statusreport \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/mediacontext \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/task \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/classtrace \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/bufferMgr \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/profiler \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/scalability \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/mediacopy \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/shared/media_sfc_interface \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/media_interfaces \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/statusreport \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/bufferMgr \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/scalability \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/shared/hucItf \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/mpeg2/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/mpeg2/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/mpeg2/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/mpeg2/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/av1/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/av1/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/av1/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/jpeg/bitstream \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/jpeg/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/jpeg/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/jpeg/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp9/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp9/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp9/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp9/scalability \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp9/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/avc/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/avc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/avc/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp8/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp8/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp8/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/vp8/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/hevc/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/hevc/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/hevc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/hevc/scalability \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/dec/hevc/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/shared \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/statusreport \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/bufferMgr \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/bitstreamWriter \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/scalability \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/shared/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/av1/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/av1/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/av1/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/jpeg/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/jpeg/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/jpeg/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/vp9/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/vp9/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/vp9/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/avc/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/avc/features/roi \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/avc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/avc/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/hevc/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/hevc/features/roi \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/hevc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal/enc/hevc/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/codec/hal \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/renderhal \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/media_bin_mgr \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/statusreport \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/shared/scalability \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/platform_interface \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/bufferMgr \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/scalability \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/feature_manager \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/utils \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/utils/hal_ddi_share \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/hal/utils \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/vp/cm_fc_ld \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/cp \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/hw \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/hw/vdbox \ + $(LOCAL_PATH)/../media_softlet/agnostic/common/hw \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_R/Xe_HPG/renderhal \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_R/Xe_HPG_Base/renderhal \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel/cmfcpatch \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_R/Xe_HPG_Base/hw \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/mpeg2 \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/av1/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/jpeg \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/vp9/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/avc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/vp8/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/dec/hevc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/av1/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/av1/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/vp9/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/codec/hal/enc/hevc/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/platform_interface \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/vp/hal/feature_manager \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/hw/vdbox \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus/hw \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/shared/mediacopy \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/shared/mediaDecompress \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/shared \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/mpeg2/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/av1/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/jpeg/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/jpeg/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp9/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/avc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/avc/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/vp8/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/mmc \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/dec/hevc/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/shared \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/shared/common \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features/preenc \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/av1/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/jpeg/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/vp9/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/vp9/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/avc/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/avc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/features/preenc \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/features \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/codec/hal/enc/hevc/pipeline \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/vp/hal/packet \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/vp/hal/feature_manager \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/hw \ + $(LOCAL_PATH)/../media_softlet/agnostic/Xe_M_plus/Xe_LPM_plus_base/hw/vdbox \ + $(LOCAL_PATH)/../media_softlet/linux/Xe_M_plus/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/common/os \ + $(LOCAL_PATH)/../media_softlet/linux/common/os/osservice \ + $(LOCAL_PATH)/../media_softlet/linux/common/os/i915_production \ + $(LOCAL_PATH)/../media_softlet/linux/common/os/i915_production/include \ + $(LOCAL_PATH)/../media_softlet/linux/common/os/i915/include/uapi \ + $(LOCAL_PATH)/../media_softlet/linux/common/os/i915/include \ + $(LOCAL_PATH)/../media_softlet/linux/common/os \ + $(LOCAL_PATH)/../media_softlet/linux/common/codec/ddi/dec \ + $(LOCAL_PATH)/../media_softlet/linux/common/codec/ddi/shared \ + $(LOCAL_PATH)/../media_softlet/linux/common/codec/ddi/enc \ + $(LOCAL_PATH)/../media_softlet/linux/common/vp/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/common/cp/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/common/cp \ + $(LOCAL_PATH)/../media_softlet/linux/common/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/decode/mpeg2/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/decode/av1/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/decode/jpeg/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/decode/vp9/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/decode/avc/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/decode/vp8/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/decode/hevc/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/encode/av1/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/encode/jpeg/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/encode/vp9/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/encode/avc/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/encode/hevc/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/vp/ddi \ + $(LOCAL_PATH)/../media_softlet/linux/xe_lpm_plus_r0/ddi \ + $(LOCAL_PATH)/../media_common/agnostic/common/os \ + $(LOCAL_PATH)/../media_common/agnostic/common/os/user_setting \ + $(LOCAL_PATH)/../media_common/agnostic/common/codec/shared \ + $(LOCAL_PATH)/../media_common/agnostic/common/cp \ + $(LOCAL_PATH)/../media_common/agnostic/common/heap_manager \ + $(LOCAL_PATH)/../media_common/agnostic/common/hw \ + $(LOCAL_PATH)/../media_common/agnostic/common/hw/vdbox \ + $(LOCAL_PATH)/../media_common/agnostic/common/media_interfaces \ + $(LOCAL_PATH)/../media_common/agnostic/common/renderhal \ + $(LOCAL_PATH)/../media_common/agnostic/common/shared \ + $(LOCAL_PATH)/../media_common/agnostic/common/vp/hal \ + $(LOCAL_PATH)/../media_common/agnostic/common/vp/kdll \ + $(LOCAL_PATH)/../media_common/agnostic/common/vp/kernel \ + $(LOCAL_PATH)/../media_common/agnostic/common/hw \ + $(LOCAL_PATH)/../media_common/linux/common/os \ + $(LOCAL_PATH)/../media_common/linux/common/codec \ + $(LOCAL_PATH)/../media_common/linux/common/cp/os \ + $(LOCAL_PATH)/../media_common/linux/common/cp/ddi \ + $(LOCAL_PATH)/../cmrtlib/linux/hardware \ + $(LOCAL_PATH)/../Tools/MediaDriverTools/Android/build/media_driver \ + + +#LOCAL_CPP_FEATURES := rtti exceptions + +LOCAL_MODULE := i965_drv_video +LOCAL_PROPRIETARY_MODULE := true + +include $(BUILD_SHARED_LIBRARY) diff --git a/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c b/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c index aac78eec7f..c31a00ccf2 100644 --- a/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c +++ b/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c @@ -34,7 +34,7 @@ #if EMUL || VPHAL_LIB #include #include "support.h" -#elif LINUX +#elif LINUX || ANDROID #else // !(EMUL | VPHAL_LIB) && !LINUX #endif // EMUL | VPHAL_LIB @@ -754,4 +754,4 @@ KernelDll_GetComponentKernel(Kdll_State *pState, #ifdef __cplusplus } -#endif // __cplusplus \ No newline at end of file +#endif // __cplusplus diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_vp9_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_vp9_g12.cpp index 82d2bb6bc3..267551a49a 100644 --- a/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_vp9_g12.cpp +++ b/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_vp9_g12.cpp @@ -3473,39 +3473,128 @@ void CodechalVdencVp9StateG12::fill_pad_with_value(PMOS_SURFACE psSurface, uint3 uint32_t pitch = psSurface->dwPitch; uint32_t UVPlaneOffset = psSurface->UPlaneOffset.iSurfaceOffset; uint32_t YPlaneOffset = psSurface->dwOffset; + uint32_t pad_rows = aligned_height - real_height; + uint32_t y_plane_size = pitch * real_height; + uint32_t uv_plane_size = pitch * real_height / 2; MOS_LOCK_PARAMS lockFlags; MOS_ZeroMemory(&lockFlags, sizeof(MOS_LOCK_PARAMS)); lockFlags.WriteOnly = 1; - uint8_t *src_data = (uint8_t *)m_osInterface->pfnLockResource(m_osInterface, &(psSurface->OsResource), &lockFlags); - - if (!src_data) + // padding for the linear format buffer. + if (psSurface->OsResource.TileType == MOS_TILE_LINEAR) { - return; - } + uint8_t *src_data = (uint8_t *)m_osInterface->pfnLockResource(m_osInterface, &(psSurface->OsResource), &lockFlags); - uint32_t pad_rows = aligned_height - real_height; + if (!src_data) + return; - uint8_t *src_data_y = src_data + YPlaneOffset; - uint32_t y_plane_size = pitch * real_height; - uint8_t *src_data_y_end = src_data_y + y_plane_size; - uint32_t y_pitch = pitch; - for (uint32_t i = 0; i < pad_rows; i++) - { - MOS_SecureMemcpy(src_data_y_end + i * y_pitch, y_pitch, src_data_y_end - y_pitch, y_pitch); - } + uint8_t *src_data_y = src_data + YPlaneOffset; + uint8_t *src_data_y_end = src_data_y + y_plane_size; + for (uint32_t i = 0; i < pad_rows; i++) + { + MOS_SecureMemcpy(src_data_y_end + i * pitch, pitch, src_data_y_end - pitch, pitch); + } - uint8_t *src_data_uv = src_data + UVPlaneOffset; - uint32_t uv_plane_size = pitch * real_height / 2; - uint8_t *src_data_uv_end = src_data_uv + uv_plane_size; - uint32_t uv_pitch = pitch / 2; - for (uint32_t i = 0; i < pad_rows; i++) - { - MOS_SecureMemcpy(src_data_uv_end + i * uv_pitch, uv_pitch, src_data_uv_end - uv_pitch, uv_pitch); + uint8_t *src_data_uv = src_data + UVPlaneOffset; + uint8_t *src_data_uv_end = src_data_uv + uv_plane_size; + for (uint32_t i = 0; i < pad_rows / 2; i++) + { + MOS_SecureMemcpy(src_data_uv_end + i * pitch, pitch, src_data_uv_end - pitch, pitch); + } + + m_osInterface->pfnUnlockResource(m_osInterface, &(psSurface->OsResource)); } + else if (psSurface->OsResource.TileType == MOS_TILE_Y) + { + // we don't copy out the tiled buffer to linear and padding on the tiled buffer directly. + lockFlags.TiledAsTiled = 1; + + uint8_t *src_data = (uint8_t *)m_osInterface->pfnLockResource(m_osInterface, &(psSurface->OsResource), &lockFlags); + if (!src_data) + return; + + uint8_t* padding_data = (uint8_t *)MOS_AllocMemory(pitch); - m_osInterface->pfnUnlockResource(m_osInterface, &(psSurface->OsResource)); + int32_t LinearOffset; + int32_t TileOffset; + int32_t x; + int32_t y; + + int32_t swizzleflags = 0; // 0 for MOS_TILE_Y + + // copy out the last Y row data. + y = (YPlaneOffset + y_plane_size - pitch) / pitch; + for (x = 0, LinearOffset = 0; x < static_cast(pitch); x++, LinearOffset++) + { + TileOffset = Mos_SwizzleOffsetWrapper( + x, + y, + pitch, + MOS_TILE_Y, + false, + swizzleflags); + if (TileOffset < psSurface->OsResource.iSize) + *(padding_data + LinearOffset) = *(src_data + TileOffset); + } + + // padding the unaligned region for Y. + y = (YPlaneOffset + y_plane_size) / pitch; + for (uint32_t i = 0; i < pad_rows; y++, i++) + { + LinearOffset = 0; + for (x = 0; x < static_cast(pitch); x++, LinearOffset++) + { + TileOffset = Mos_SwizzleOffsetWrapper( + x, + y, + pitch, + MOS_TILE_Y, + false, + swizzleflags); + if (TileOffset < psSurface->OsResource.iSize) + *(src_data + TileOffset) = *(padding_data + LinearOffset); + } + } + + // copy out the last UV row data. + y = (UVPlaneOffset + uv_plane_size - pitch) / pitch; + for (x = 0, LinearOffset = 0; x < static_cast(pitch); x++, LinearOffset++) + { + TileOffset = Mos_SwizzleOffsetWrapper( + x, + y, + pitch, + MOS_TILE_Y, + false, + swizzleflags); + if (TileOffset < psSurface->OsResource.iSize) + *(padding_data + LinearOffset) = *(src_data + TileOffset); + } + + // padding the unaligned region for UV. + y = (UVPlaneOffset + uv_plane_size) / pitch; + for (uint32_t i = 0; i < pad_rows / 2; y++, i++) + { + LinearOffset = 0; + for (x = 0; x < static_cast(pitch); x++, LinearOffset++) + { + TileOffset = Mos_SwizzleOffsetWrapper( + x, + y, + pitch, + MOS_TILE_Y, + false, + swizzleflags); + if (TileOffset < psSurface->OsResource.iSize) + *(src_data + TileOffset) = *(padding_data + LinearOffset); + } + } + + MOS_FreeMemory(padding_data); + padding_data = nullptr; + m_osInterface->pfnUnlockResource(m_osInterface, &(psSurface->OsResource)); + } } } diff --git a/media_driver/linux/gen12/ddi/media_libva_caps_g12.cpp b/media_driver/linux/gen12/ddi/media_libva_caps_g12.cpp index 362f2d9bc9..399a455f38 100644 --- a/media_driver/linux/gen12/ddi/media_libva_caps_g12.cpp +++ b/media_driver/linux/gen12/ddi/media_libva_caps_g12.cpp @@ -1366,7 +1366,8 @@ VAStatus MediaLibvaCapsG12::QuerySurfaceAttributes( VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2 | - VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC; + 0x00100000; + //VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC; #else attribs[i].value.value.i = VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR | diff --git a/media_driver/linux/ult/libdrm_mock/mos_bufmgr_api_mock.c b/media_driver/linux/ult/libdrm_mock/mos_bufmgr_api_mock.c index b75c3ed3ea..7c7d0ac0a1 100644 --- a/media_driver/linux/ult/libdrm_mock/mos_bufmgr_api_mock.c +++ b/media_driver/linux/ult/libdrm_mock/mos_bufmgr_api_mock.c @@ -48,16 +48,16 @@ struct mos_linux_bo * mos_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment, int mem_type) + unsigned long size, unsigned int alignment, int mem_type, unsigned int pat_index, bool cpu_cacheable) { - return bufmgr->bo_alloc(bufmgr, name, size, alignment, mem_type); + return bufmgr->bo_alloc(bufmgr, name, size, alignment, mem_type, pat_index, cpu_cacheable); } struct mos_linux_bo * mos_bo_alloc_for_render(struct mos_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment, int mem_type) + unsigned long size, unsigned int alignment, int mem_type, unsigned int pat_index, bool cpu_cacheable) { - return bufmgr->bo_alloc_for_render(bufmgr, name, size, alignment, mem_type); + return bufmgr->bo_alloc_for_render(bufmgr, name, size, alignment, mem_type, pat_index, cpu_cacheable); } struct mos_linux_bo * @@ -77,10 +77,10 @@ mos_bo_alloc_userptr(struct mos_bufmgr *bufmgr, struct mos_linux_bo * mos_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, int x, int y, int cpp, uint32_t *tiling_mode, - unsigned long *pitch, unsigned long flags, int mem_type) + unsigned long *pitch, unsigned long flags, int mem_type, unsigned int pat_index, bool cpu_cacheable) { return bufmgr->bo_alloc_tiled(bufmgr, name, x, y, cpp, - tiling_mode, pitch, flags, mem_type); + tiling_mode, pitch, flags, mem_type, pat_index, cpu_cacheable); } void diff --git a/media_driver/linux/ult/libdrm_mock/mos_bufmgr_mock.c b/media_driver/linux/ult/libdrm_mock/mos_bufmgr_mock.c index 4b9d960752..a8d471c3b5 100644 --- a/media_driver/linux/ult/libdrm_mock/mos_bufmgr_mock.c +++ b/media_driver/linux/ult/libdrm_mock/mos_bufmgr_mock.c @@ -879,8 +879,12 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, uint32_t tiling_mode, unsigned long stride, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { + MOS_UNUSED(pat_index); + MOS_UNUSED(cpu_cacheable); struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *) bufmgr; struct mos_bo_gem *bo_gem; unsigned int page_size = getpagesize(); @@ -1049,13 +1053,17 @@ mos_gem_bo_alloc_for_render(struct mos_bufmgr *bufmgr, const char *name, unsigned long size, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { return mos_gem_bo_alloc_internal(bufmgr, name, size, I915_TILING_NONE, 0, BO_ALLOC_FOR_RENDER, alignment, - mem_type); + mem_type, + pat_index, + cpu_cacheable); } static struct mos_linux_bo * @@ -1063,17 +1071,19 @@ mos_gem_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, unsigned long size, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { return mos_gem_bo_alloc_internal(bufmgr, name, size, 0, - I915_TILING_NONE, 0, 0, mem_type); + I915_TILING_NONE, 0, 0, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * mos_gem_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, int x, int y, int cpp, uint32_t *tiling_mode, unsigned long *pitch, unsigned long flags, - int mem_type) + int mem_type, unsigned int pat_index, bool cpu_cacheable) { struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr; unsigned long size, stride; @@ -1116,7 +1126,7 @@ mos_gem_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, if (tiling == I915_TILING_NONE) stride = 0; return mos_gem_bo_alloc_internal(bufmgr, name, size, flags, - tiling, stride, 0, mem_type); + tiling, stride, 0, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * diff --git a/media_softlet/agnostic/common/os/mos_interface.h b/media_softlet/agnostic/common/os/mos_interface.h index 7d067da858..7b4f9eafda 100644 --- a/media_softlet/agnostic/common/os/mos_interface.h +++ b/media_softlet/agnostic/common/os/mos_interface.h @@ -308,6 +308,21 @@ class MosInterface static GMM_CLIENT_CONTEXT *GetGmmClientContext( MOS_STREAM_HANDLE streamState); + //! + //! \brief Get PAT index from gmm + //! + //! \param [in] gmmClient + //! GMM client context + //! \param [in] gmmResourceInfo + //! gmm resource info + //! + //! \return unsigned int + //! Pat index + //! + static unsigned int GetPATIndexFromGmm( + GMM_CLIENT_CONTEXT *gmmClient, + GMM_RESOURCE_INFO *gmmResourceInfo); + //! //! \brief Get current Gpu context priority //! \details Get current Gpu context priority diff --git a/media_softlet/agnostic/common/os/mos_utilities.h b/media_softlet/agnostic/common/os/mos_utilities.h index 1725d1381f..215a1aaa6b 100644 --- a/media_softlet/agnostic/common/os/mos_utilities.h +++ b/media_softlet/agnostic/common/os/mos_utilities.h @@ -2042,6 +2042,14 @@ class MosUtilities int32_t extFlags); #endif + static int32_t MosSwizzleOffsetWrapper( + int32_t OffsetX, + int32_t OffsetY, + int32_t Pitch, + MOS_TILE_TYPE TileFormat, + int32_t CsxSwizzle, + int32_t flags); + //! //! \brief Wrapper function for SwizzleOffset //! \details Wrapper function for SwizzleOffset in Mos @@ -3215,6 +3223,8 @@ do{ \ #define Mos_SwizzleData(pSrc, pDst, SrcTiling, DstTiling, iHeight, iPitch, extFlags) \ MosUtilities::MosSwizzleData(pSrc, pDst, SrcTiling, DstTiling, iHeight, iPitch, extFlags) +#define Mos_SwizzleOffsetWrapper(OffsetX, OffsetY, Pitch, TileFormat, CsxSwizzle, Flags) \ + MosUtilities::MosSwizzleOffsetWrapper(OffsetX, OffsetY, Pitch, TileFormat, CsxSwizzle, Flags) //------------------------------------------------------------------------------ // trace //------------------------------------------------------------------------------ diff --git a/media_softlet/agnostic/common/os/mos_utilities_next.cpp b/media_softlet/agnostic/common/os/mos_utilities_next.cpp index 7a41ff1702..7e78008175 100644 --- a/media_softlet/agnostic/common/os/mos_utilities_next.cpp +++ b/media_softlet/agnostic/common/os/mos_utilities_next.cpp @@ -710,6 +710,17 @@ __inline int32_t MosUtilities::MosSwizzleOffset( return(SwizzledOffset); } +int32_t MosUtilities::MosSwizzleOffsetWrapper( + int32_t OffsetX, + int32_t OffsetY, + int32_t Pitch, + MOS_TILE_TYPE TileFormat, + int32_t CsxSwizzle, + int32_t Flags) +{ + return Mos_SwizzleOffset(OffsetX, OffsetY, Pitch, TileFormat, CsxSwizzle, Flags); +} + void MosUtilities::MosSwizzleData( uint8_t *pSrc, uint8_t *pDst, diff --git a/media_softlet/agnostic/common/vp/hal/bufferMgr/vp_allocator.cpp b/media_softlet/agnostic/common/vp/hal/bufferMgr/vp_allocator.cpp index d355951abb..0855f649fa 100644 --- a/media_softlet/agnostic/common/vp/hal/bufferMgr/vp_allocator.cpp +++ b/media_softlet/agnostic/common/vp/hal/bufferMgr/vp_allocator.cpp @@ -733,7 +733,7 @@ MOS_STATUS VpAllocator::AllocParamsInitType( VP_FUNC_CALL(); VP_PUBLIC_CHK_NULL_RETURN(surface); -#if !EMUL && !LINUX +#if !EMUL && !LINUX && !ANDROID // Need to reallocate surface according to expected tiletype instead of tiletype of the surface what we have if ( surface != nullptr && surface->OsResource.pGmmResInfo != nullptr && diff --git a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c index d8f7d429ac..cd3dd3067b 100644 --- a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c +++ b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c @@ -35,7 +35,7 @@ #if EMUL || VPHAL_LIB #include #include "support.h" -#elif LINUX +#elif LINUX || ANDROID #else // !(EMUL | VPHAL_LIB) && !LINUX #endif // EMUL | VPHAL_LIB @@ -3918,7 +3918,7 @@ bool KernelDll_BuildKernel_CmFc(Kdll_State *pState, Kdll_SearchState *pSearchSta VP_RENDER_FUNCTION_ENTER; // Disable pop-up box window for STL assertion to avoid VM hang in auto test. -#if (!LINUX) +#if (!LINUX && !ANDROID) uint32_t prevErrorMode = ::SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); #if defined(_MSC_VER) ::_set_error_mode(_OUT_TO_STDERR); @@ -4048,7 +4048,7 @@ bool KernelDll_BuildKernel_CmFc(Kdll_State *pState, Kdll_SearchState *pSearchSta res = true; finish: -#if (!LINUX) +#if (!LINUX && !ANDROID) ::SetErrorMode(prevErrorMode); #endif return res; @@ -4454,4 +4454,4 @@ bool KernelDll_SetupFunctionPointers_Ext( #ifdef __cplusplus } -#endif // __cplusplus \ No newline at end of file +#endif // __cplusplus diff --git a/media_softlet/linux/Xe_M_plus/ddi/media_libva_caps_mtl_base.cpp b/media_softlet/linux/Xe_M_plus/ddi/media_libva_caps_mtl_base.cpp index 3949d5b55a..23db443669 100644 --- a/media_softlet/linux/Xe_M_plus/ddi/media_libva_caps_mtl_base.cpp +++ b/media_softlet/linux/Xe_M_plus/ddi/media_libva_caps_mtl_base.cpp @@ -1887,7 +1887,8 @@ VAStatus MediaLibvaCapsMtlBase::QuerySurfaceAttributes( VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2 | - VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC; + 0x00100000; + //VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC; #else attribs[i].value.value.i = VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR | diff --git a/media_softlet/linux/common/ddi/media_libva_util_next.cpp b/media_softlet/linux/common/ddi/media_libva_util_next.cpp index 5b14516a00..e3c49eef85 100644 --- a/media_softlet/linux/common/ddi/media_libva_util_next.cpp +++ b/media_softlet/linux/common/ddi/media_libva_util_next.cpp @@ -734,16 +734,19 @@ VAStatus MediaLibvaUtilNext::CreateInternalSurface( params.memType = MemoryPolicyManager::UpdateMemoryPolicy(&memPolicyPar); + unsigned int patIndex = MosInterface::GetPATIndexFromGmm(mediaDrvCtx->pGmmClientContext, gmmResourceInfo); + bool isCpuCacheable = gmmResourceInfo->GetResFlags().Info.Cacheable; + if ( params.tileFormat == I915_TILING_NONE ) { - bo = mos_bo_alloc(mediaDrvCtx->pDrmBufMgr, "MEDIA", gmmSize, 4096, params.memType); + bo = mos_bo_alloc(mediaDrvCtx->pDrmBufMgr, "MEDIA", gmmSize, 4096, params.memType, patIndex, isCpuCacheable); params.pitch = gmmPitch; } else { unsigned long ulPitch = 0; bo = mos_bo_alloc_tiled(mediaDrvCtx->pDrmBufMgr, "MEDIA", gmmPitch, (gmmSize + gmmPitch -1)/gmmPitch, 1, ¶ms.tileFormat, - (unsigned long *)&ulPitch, 0, params.memType); + (unsigned long *)&ulPitch, 0, params.memType, patIndex, isCpuCacheable); params.pitch = ulPitch; } @@ -1658,8 +1661,11 @@ VAStatus MediaLibvaUtilNext::Allocate2DBuffer( mem_type = MemoryPolicyManager::UpdateMemoryPolicy(&memPolicyPar); + unsigned int patIndex = MosInterface::GetPATIndexFromGmm(mediaBuffer->pMediaCtx->pGmmClientContext, gmmResourceInfo); + bool isCpuCacheable = gmmResourceInfo->GetResFlags().Info.Cacheable; + MOS_LINUX_BO *bo; - bo = mos_bo_alloc(bufmgr, "Media 2D Buffer", gmmSize, 4096, mem_type); + bo = mos_bo_alloc(bufmgr, "Media 2D Buffer", gmmSize, 4096, mem_type, patIndex, isCpuCacheable); mediaBuffer->bMapped = false; if (bo) @@ -1731,7 +1737,11 @@ VAStatus MediaLibvaUtilNext::AllocateBuffer( memPolicyPar.preferredMemType = mediaBuffer->bUseSysGfxMem ? MOS_MEMPOOL_SYSTEMMEMORY : 0; mem_type = MemoryPolicyManager::UpdateMemoryPolicy(&memPolicyPar); - MOS_LINUX_BO *bo = mos_bo_alloc(bufmgr, "Media Buffer", size, 4096, mem_type); + + unsigned int patIndex = MosInterface::GetPATIndexFromGmm(mediaBuffer->pMediaCtx->pGmmClientContext, mediaBuffer->pGmmResourceInfo); + bool isCpuCacheable = mediaBuffer->pGmmResourceInfo->GetResFlags().Info.Cacheable; + + MOS_LINUX_BO *bo = mos_bo_alloc(bufmgr, "Media Buffer", size, 4096, mem_type, patIndex, isCpuCacheable); mediaBuffer->bMapped = false; if (bo) { diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr.h index fbecca3648..906cdaa9f0 100644 --- a/media_softlet/linux/common/os/i915/include/mos_bufmgr.h +++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr.h @@ -37,6 +37,7 @@ #include #include #include +#include #include "libdrm_macros.h" #include "igfxfmid.h" @@ -170,13 +171,17 @@ struct mos_aub_annotation { #define BO_ALLOC_FOR_RENDER (1<<0) +#define PAT_INDEX_INVALID ((uint32_t)-1) + struct mos_linux_bo *mos_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment, int mem_type); + unsigned long size, unsigned int alignment, int mem_type, unsigned int pat_index = PAT_INDEX_INVALID, bool cpu_cacheable = true); struct mos_linux_bo *mos_bo_alloc_for_render(struct mos_bufmgr *bufmgr, const char *name, unsigned long size, unsigned int alignment, - int mem_type); + int mem_type, + unsigned int pat_index = PAT_INDEX_INVALID, + bool cpu_cacheable = true); struct mos_linux_bo *mos_bo_alloc_userptr(struct mos_bufmgr *bufmgr, const char *name, void *addr, uint32_t tiling_mode, @@ -188,7 +193,9 @@ struct mos_linux_bo *mos_bo_alloc_tiled(struct mos_bufmgr *bufmgr, uint32_t *tiling_mode, unsigned long *pitch, unsigned long flags, - int mem_type); + int mem_type, + unsigned int pat_index = PAT_INDEX_INVALID, + bool cpu_cacheable = true); void mos_bo_reference(struct mos_linux_bo *bo); void mos_bo_unreference(struct mos_linux_bo *bo); int mos_bo_map(struct mos_linux_bo *bo, int write_enable); diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h index 873d78373e..dcbf71025c 100644 --- a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h +++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h @@ -48,7 +48,7 @@ struct mos_bufmgr { * using bo_map() or drm_intel_gem_bo_map_gtt() to be used by the CPU. */ struct mos_linux_bo *(*bo_alloc) (struct mos_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment, int mem_type); + unsigned long size, unsigned int alignment, int mem_type, unsigned int pat_index, bool cpu_cacheable); /** * Allocate a buffer object, hinting that it will be used as a @@ -60,7 +60,9 @@ struct mos_bufmgr { const char *name, unsigned long size, unsigned int alignment, - int mem_type); + int mem_type, + unsigned int pat_index, + bool cpu_cacheable); /** * Allocate a buffer object from an existing user accessible @@ -95,7 +97,9 @@ struct mos_bufmgr { uint32_t *tiling_mode, unsigned long *pitch, unsigned long flags, - int mem_type); + int mem_type, + unsigned int pat_index, + bool cpu_cacheable); /** Takes a reference on a buffer object */ void (*bo_reference) (struct mos_linux_bo *bo); diff --git a/media_softlet/linux/common/os/i915/include/uapi/README b/media_softlet/linux/common/os/i915/include/uapi/README index 20c0ec4fbd..3d675095a1 100644 --- a/media_softlet/linux/common/os/i915/include/uapi/README +++ b/media_softlet/linux/common/os/i915/include/uapi/README @@ -13,45 +13,55 @@ $ make headers_install INSTALL_HDR_PATH=/path/to/install The last update was done at the following kernel commit: -commit 1cc064dce4ed0ff111b6d6cb06b3cccf1cba29f5 -Author: Umesh Nerlige Ramappa -Date: Thu Mar 23 15:58:59 2023 -0700 - - drm/i915/perf: Add support for OA media units - - MTL introduces additional OA units dedicated to media use cases. Add - support for programming these OA units by passing the media engine class - and instance parameters. - - UMD specific changes for GPUvis support: - https://patchwork.freedesktop.org/patch/522827/?series=114023 - https://patchwork.freedesktop.org/patch/522822/?series=114023 - https://patchwork.freedesktop.org/patch/522826/?series=114023 - https://patchwork.freedesktop.org/patch/522828/?series=114023 - https://patchwork.freedesktop.org/patch/522816/?series=114023 - https://patchwork.freedesktop.org/patch/522825/?series=114023 - - v2: (Ashutosh) - - check for IP_VER(12, 70) instead of MTL - - remove PERF_GROUP_OAG comment in mtl_oa_base - - remove oa_buffer.group - - use engine->oa_group->type in engine_supports_oa_format - - remove fw_domains and use FORCEWAKE_ALL - - remove MPES/MPEC comment - - s/xehp/mtl/ in b counter validation function name - - remove engine_supports_oa in __oa_engine_group - - remove warn_ON from __oam_engine_group - - refactor oa_init_groups and oa_init_regs - - assign g->type correctly - - use enum oa_type definition - - v3: (Ashutosh) - - Drop oa_unit_functional as engine_supports_oa is enough - - v4: - - s/DRM_DEBUG/drm_dbg/ - - Signed-off-by: Umesh Nerlige Ramappa - Reviewed-by: Ashutosh Dixit - Link: https://patchwork.freedesktop.org/patch/msgid/20230323225901.3743681-10-umesh.nerlige.ramappa@intel.com +commit 81b1b599dfd71c958418dad586fa72c8d30d1065 +Author: Fei Yang +Date: Tue Jun 6 12:00:42 2023 +0200 + + drm/i915: Allow user to set cache at BO creation + + To comply with the design that buffer objects shall have immutable + cache setting through out their life cycle, {set, get}_caching ioctl's + are no longer supported from MTL onward. With that change caching + policy can only be set at object creation time. The current code + applies a default (platform dependent) cache setting for all objects. + However this is not optimal for performance tuning. The patch extends + the existing gem_create uAPI to let user set PAT index for the object + at creation time. + The new extension is platform independent, so UMD's can switch to using + this extension for older platforms as well, while {set, get}_caching are + still supported on these legacy paltforms for compatibility reason. + However, since PAT index was not clearly defined for platforms prior to + GEN12 (TGL), so we are limiting this externsion to GEN12+ platforms + only. See ext_set_pat() in for the implementation details. + + The documentation related to the PAT/MOCS tables is currently available + for Tiger Lake here: + https://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/tiger-lake.html + + The documentation for other platforms is currently being updated. + + BSpec: 45101 + + Mesa support has been submitted in this merge request: + https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22878 + + The media driver supprt has bin submitted in this merge request: + https://github.com/intel/media-driver/pull/1680 + + The IGT test related to this change is + igt@gem_create@create-ext-set-pat + + Signed-off-by: Fei Yang + Cc: Chris Wilson + Cc: Matt Roper + Cc: Andi Shyti + Reviewed-by: Andi Shyti + Acked-by: Jordan Justen + Tested-by: Jordan Justen + Acked-by: Carl Zhang + Tested-by: Lihao Gu + Signed-off-by: Andi Shyti + Acked-by: Tvrtko Ursulin + Acked-by: Slawomir Milczarek + Link: https://patchwork.freedesktop.org/patch/msgid/20230606100042.482345-2-andi.shyti@linux.intel.com diff --git a/media_softlet/linux/common/os/i915/include/uapi/i915_drm.h b/media_softlet/linux/common/os/i915/include/uapi/i915_drm.h index c77b55ff6b..0a5c814455 100644 --- a/media_softlet/linux/common/os/i915/include/uapi/i915_drm.h +++ b/media_softlet/linux/common/os/i915/include/uapi/i915_drm.h @@ -280,7 +280,16 @@ enum drm_i915_pmu_engine_sample { #define I915_PMU_ENGINE_SEMA(class, instance) \ __I915_PMU_ENGINE(class, instance, I915_SAMPLE_SEMA) -#define __I915_PMU_OTHER(x) (__I915_PMU_ENGINE(0xff, 0xff, 0xf) + 1 + (x)) +/* + * Top 4 bits of every non-engine counter are GT id. + */ +#define __I915_PMU_GT_SHIFT (60) + +#define ___I915_PMU_OTHER(gt, x) \ + (((__u64)__I915_PMU_ENGINE(0xff, 0xff, 0xf) + 1 + (x)) | \ + ((__u64)(gt) << __I915_PMU_GT_SHIFT)) + +#define __I915_PMU_OTHER(x) ___I915_PMU_OTHER(0, x) #define I915_PMU_ACTUAL_FREQUENCY __I915_PMU_OTHER(0) #define I915_PMU_REQUESTED_FREQUENCY __I915_PMU_OTHER(1) @@ -290,6 +299,12 @@ enum drm_i915_pmu_engine_sample { #define I915_PMU_LAST /* Deprecated - do not use */ I915_PMU_RC6_RESIDENCY +#define __I915_PMU_ACTUAL_FREQUENCY(gt) ___I915_PMU_OTHER(gt, 0) +#define __I915_PMU_REQUESTED_FREQUENCY(gt) ___I915_PMU_OTHER(gt, 1) +#define __I915_PMU_INTERRUPTS(gt) ___I915_PMU_OTHER(gt, 2) +#define __I915_PMU_RC6_RESIDENCY(gt) ___I915_PMU_OTHER(gt, 3) +#define __I915_PMU_SOFTWARE_GT_AWAKE_TIME(gt) ___I915_PMU_OTHER(gt, 4) + /* Each region is a minimum of 16k, and there are at most 255 of them. */ #define I915_NR_TEX_REGIONS 255 /* table size 2k - maximum due to use @@ -659,7 +674,8 @@ typedef struct drm_i915_irq_wait { * If the IOCTL is successful, the returned parameter will be set to one of the * following values: * * 0 if HuC firmware load is not complete, - * * 1 if HuC firmware is authenticated and running. + * * 1 if HuC firmware is loaded and fully authenticated, + * * 2 if HuC firmware is loaded and authenticated for clear media only */ #define I915_PARAM_HUC_STATUS 42 @@ -771,6 +787,25 @@ typedef struct drm_i915_irq_wait { */ #define I915_PARAM_OA_TIMESTAMP_FREQUENCY 57 +/* + * Query the status of PXP support in i915. + * + * The query can fail in the following scenarios with the listed error codes: + * -ENODEV = PXP support is not available on the GPU device or in the + * kernel due to missing component drivers or kernel configs. + * + * If the IOCTL is successful, the returned parameter will be set to one of + * the following values: + * 1 = PXP feature is supported and is ready for use. + * 2 = PXP feature is supported but should be ready soon (pending + * initialization of non-i915 system dependencies). + * + * NOTE: When param is supported (positive return values), user space should + * still refer to the GEM PXP context-creation UAPI header specs to be + * aware of possible failure due to system state machine at the time. + */ +#define I915_PARAM_PXP_STATUS 58 + /* Must be kept compact -- no holes and well documented */ /** @@ -1225,7 +1260,7 @@ struct drm_i915_gem_exec_object2 { * * See struct drm_i915_gem_create_ext for the rules when dealing with * alignment restrictions with I915_MEMORY_CLASS_DEVICE, on devices with - * minimum page sizes + * minimum page sizes, like DG2. */ __u64 offset; @@ -2096,6 +2131,21 @@ struct drm_i915_gem_context_param { * * -ENODEV: feature not available * -EPERM: trying to mark a recoverable or not bannable context as protected + * -ENXIO: A dependency such as a component driver or firmware is not yet + * loaded so user space may need to attempt again. Depending on the + * device, this error may be reported if protected context creation is + * attempted very early after kernel start because the internal timeout + * waiting for such dependencies is not guaranteed to be larger than + * required (numbers differ depending on system and kernel config): + * - ADL/RPL: dependencies may take up to 3 seconds from kernel start + * while context creation internal timeout is 250 milisecs + * - MTL: dependencies may take up to 8 seconds from kernel start + * while context creation internal timeout is 250 milisecs + * NOTE: such dependencies happen once, so a subsequent call to create a + * protected context after a prior successful call will not experience + * such timeouts and will not return -ENXIO (unless the driver is reloaded, + * or, depending on the device, resumes from a suspended state). + * -EIO: The firmware did not succeed in creating the protected context. */ #define I915_CONTEXT_PARAM_PROTECTED_CONTENT 0xd /* Must be kept compact -- no holes and well documented */ @@ -2672,9 +2722,11 @@ enum drm_i915_oa_format { I915_OA_FORMAT_A12_B8_C8, I915_OA_FORMAT_A32u40_A4u32_B8_C8, + /* DG2 */ I915_OAR_FORMAT_A32u40_A4u32_B8_C8, I915_OA_FORMAT_A24u40_A14u32_B8_C8, + /* MTL OAM */ I915_OAM_FORMAT_MPEC8u64_B8_C8, I915_OAM_FORMAT_MPEC8u32_B8_C8, @@ -3540,12 +3592,12 @@ struct drm_i915_gem_create_ext { * * The (page-aligned) allocated size for the object will be returned. * - * On some platforms the kernel will always use 64K or larger + * On platforms like DG2/ATS the kernel will always use 64K or larger * pages for I915_MEMORY_CLASS_DEVICE. The kernel also requires a * minimum of 64K GTT alignment for such objects. * * NOTE: Previously the ABI here required a minimum GTT alignment of 2M - * , due to how the hardware implemented 64K GTT page support, + * on DG2/ATS, due to how the hardware implemented 64K GTT page support, * where we had the following complications: * * 1) The entire PDE (which covers a 2MB virtual address range), must @@ -3580,7 +3632,7 @@ struct drm_i915_gem_create_ext { * Only valid when placing objects in I915_MEMORY_CLASS_DEVICE, and only * strictly required on configurations where some subset of the device * memory is directly visible/mappable through the CPU (which we also - * call small BAR). Note that this is quite + * call small BAR), like on some DG2+ systems. Note that this is quite * undesirable, but due to various factors like the client CPU, BIOS etc * it's something we can expect to see in the wild. See * &drm_i915_memory_region_info.probed_cpu_visible_size for how to @@ -3628,9 +3680,13 @@ struct drm_i915_gem_create_ext { * * For I915_GEM_CREATE_EXT_PROTECTED_CONTENT usage see * struct drm_i915_gem_create_ext_protected_content. + * + * For I915_GEM_CREATE_EXT_SET_PAT usage see + * struct drm_i915_gem_create_ext_set_pat. */ #define I915_GEM_CREATE_EXT_MEMORY_REGIONS 0 #define I915_GEM_CREATE_EXT_PROTECTED_CONTENT 1 +#define I915_GEM_CREATE_EXT_SET_PAT 2 __u64 extensions; }; @@ -3745,6 +3801,43 @@ struct drm_i915_gem_create_ext_protected_content { __u32 flags; }; +/** + * struct drm_i915_gem_create_ext_set_pat - The + * I915_GEM_CREATE_EXT_SET_PAT extension. + * + * If this extension is provided, the specified caching policy (PAT index) is + * applied to the buffer object. + * + * Below is an example on how to create an object with specific caching policy: + * + * .. code-block:: C + * + * struct drm_i915_gem_create_ext_set_pat set_pat_ext = { + * .base = { .name = I915_GEM_CREATE_EXT_SET_PAT }, + * .pat_index = 0, + * }; + * struct drm_i915_gem_create_ext create_ext = { + * .size = PAGE_SIZE, + * .extensions = (uintptr_t)&set_pat_ext, + * }; + * + * int err = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE_EXT, &create_ext); + * if (err) ... + */ +struct drm_i915_gem_create_ext_set_pat { + /** @base: Extension link. See struct i915_user_extension. */ + struct i915_user_extension base; + /** + * @pat_index: PAT index to be set + * PAT index is a bit field in Page Table Entry to control caching + * behaviors for GPU accesses. The definition of PAT index is + * platform dependent and can be found in hardware specifications, + */ + __u32 pat_index; + /** @rsvd: reserved for future use */ + __u32 rsvd; +}; + /* ID of the protected content session managed by i915 when PXP is active */ #define I915_PROTECTED_CONTENT_DEFAULT_SESSION 0xf diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr.c b/media_softlet/linux/common/os/i915/mos_bufmgr.c index 660a4e1482..50c1068ec0 100644 --- a/media_softlet/linux/common/os/i915/mos_bufmgr.c +++ b/media_softlet/linux/common/os/i915/mos_bufmgr.c @@ -346,6 +346,16 @@ struct mos_bo_gem { * Memory Type on created the surfaces for local/system memory */ int mem_region; + + /** + * PAT Index + */ + unsigned int pat_index; + + /** + * Is cpu cacheable + */ + bool cpu_cacheable; }; struct mos_exec_info { @@ -1007,11 +1017,14 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, uint32_t tiling_mode, unsigned long stride, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *) bufmgr; struct mos_bo_gem *bo_gem; unsigned int page_size = getpagesize(); + static bool support_pat_index = true; int ret; struct mos_gem_bo_bucket *bucket; bool alloc_from_cache; @@ -1034,7 +1047,13 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, } else { bo_size = bucket->size; } - + if (!support_pat_index) + { + /* For old kernel without pat index support, + * We need to reset pat_index for bo reuse policy + */ + pat_index = PAT_INDEX_INVALID; + } pthread_mutex_lock(&bufmgr_gem->lock); /* Get a buffer out of the cache if available */ retry: @@ -1075,7 +1094,11 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, bucket); goto retry; } - + if (bo_gem->pat_index != pat_index) + { + mos_gem_bo_free(&bo_gem->bo); + goto retry; + } if (mos_gem_bo_set_tiling_internal(&bo_gem->bo, tiling_mode, stride)) { @@ -1098,8 +1121,10 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, bo_gem->bo.size = bo_size; bo_gem->mem_region = I915_MEMORY_CLASS_SYSTEM; + bo_gem->pat_index = PAT_INDEX_INVALID; + bo_gem->cpu_cacheable = true; - if(bufmgr_gem->has_lmem && + if (bufmgr_gem->has_lmem && (mem_type == MOS_MEMPOOL_VIDEOMEMORY || mem_type == MOS_MEMPOOL_DEVICEMEMORY)) { struct drm_i915_gem_memory_class_instance mem_region; memclear(mem_region); @@ -1124,15 +1149,48 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, bo_gem->bo.handle = bo_gem->gem_handle; bo_gem->mem_region = I915_MEMORY_CLASS_DEVICE; } - else { - struct drm_i915_gem_create create; - memclear(create); - create.size = bo_size; - ret = drmIoctl(bufmgr_gem->fd, - DRM_IOCTL_I915_GEM_CREATE, - &create); - bo_gem->gem_handle = create.handle; - bo_gem->bo.handle = bo_gem->gem_handle; + else + { + ret = -EINVAL; + if (support_pat_index && pat_index != PAT_INDEX_INVALID) + { + struct drm_i915_gem_create_ext_set_pat set_pat_ext; + memclear(set_pat_ext); + set_pat_ext.base.name = I915_GEM_CREATE_EXT_SET_PAT; + set_pat_ext.pat_index = pat_index; + + struct drm_i915_gem_create_ext create; + memclear(create); + create.size = bo_size; + create.extensions = (uintptr_t)(&set_pat_ext); + ret = drmIoctl(bufmgr_gem->fd, + DRM_IOCTL_I915_GEM_CREATE_EXT, + &create); + bo_gem->gem_handle = create.handle; + bo_gem->bo.handle = bo_gem->gem_handle; + bo_gem->pat_index = pat_index; + if (ret != 0) + { + /* For old kernel without pat_index support, + * DRM_IOCTL_I915_GEM_CREATE_EXT with unknown + * set_pat_ext extension will return -EINVAL + * support_pat_index need to be set false. + */ + support_pat_index = false; + } + } + if (ret != 0) + { + struct drm_i915_gem_create create; + memclear(create); + create.size = bo_size; + ret = drmIoctl(bufmgr_gem->fd, + DRM_IOCTL_I915_GEM_CREATE, + &create); + bo_gem->gem_handle = create.handle; + bo_gem->bo.handle = bo_gem->gem_handle; + bo_gem->pat_index = PAT_INDEX_INVALID; + } } if (ret != 0) { free(bo_gem); @@ -1174,6 +1232,11 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, bo_gem->reusable = true; bo_gem->use_48b_address_range = bufmgr_gem->bufmgr.bo_use_48b_address_range ? true : false; + if (bo_gem->pat_index != PAT_INDEX_INVALID) + { + bo_gem->cpu_cacheable = cpu_cacheable; + } + mos_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem, alignment); if (bufmgr_gem->use_softpin) @@ -1192,12 +1255,14 @@ mos_gem_bo_alloc_for_render(struct mos_bufmgr *bufmgr, const char *name, unsigned long size, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { return mos_gem_bo_alloc_internal(bufmgr, name, size, I915_TILING_NONE, 0, BO_ALLOC_FOR_RENDER, - alignment, mem_type); + alignment, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * @@ -1205,17 +1270,19 @@ mos_gem_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, unsigned long size, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { return mos_gem_bo_alloc_internal(bufmgr, name, size, 0, - I915_TILING_NONE, 0, 0, mem_type); + I915_TILING_NONE, 0, 0, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * mos_gem_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, int x, int y, int cpp, uint32_t *tiling_mode, unsigned long *pitch, unsigned long flags, - int mem_type) + int mem_type, unsigned int pat_index, bool cpu_cacheable) { struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr; unsigned long size, stride; @@ -1259,7 +1326,7 @@ mos_gem_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, stride = 0; return mos_gem_bo_alloc_internal(bufmgr, name, size, flags, - tiling, stride, 0, mem_type); + tiling, stride, 0, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * @@ -1304,10 +1371,12 @@ mos_gem_bo_alloc_userptr(struct mos_bufmgr *bufmgr, return nullptr; } - bo_gem->gem_handle = userptr.handle; - bo_gem->bo.handle = bo_gem->gem_handle; - bo_gem->bo.bufmgr = bufmgr; - bo_gem->is_userptr = true; + bo_gem->gem_handle = userptr.handle; + bo_gem->bo.handle = bo_gem->gem_handle; + bo_gem->bo.bufmgr = bufmgr; + bo_gem->is_userptr = true; + bo_gem->pat_index = PAT_INDEX_INVALID; + bo_gem->cpu_cacheable = true; #ifdef __cplusplus bo_gem->bo.virt = addr; #else @@ -1486,6 +1555,8 @@ mos_bufmgr_bo_gem_create_from_name(struct mos_bufmgr *bufmgr, #endif bo_gem->bo.bufmgr = bufmgr; bo_gem->name = name; + bo_gem->pat_index = PAT_INDEX_INVALID; + bo_gem->cpu_cacheable = true; atomic_set(&bo_gem->refcount, 1); bo_gem->validate_index = -1; bo_gem->gem_handle = open_arg.handle; @@ -1761,7 +1832,7 @@ map_wc(struct mos_linux_bo *bo) } else { - mmap_arg.flags = I915_MMAP_OFFSET_WC; + mmap_arg.flags = I915_MMAP_OFFSET_WC; } ret = drmIoctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_MMAP_OFFSET, @@ -1895,6 +1966,11 @@ drm_export int mos_gem_bo_map(struct mos_linux_bo *bo, int write_enable) #endif return 0; } + /* If cpu cacheable is false, it means bo is Non-Coherent. */ + if (!bo_gem->cpu_cacheable) + { + return mos_gem_bo_map_wc(bo); + } pthread_mutex_lock(&bufmgr_gem->lock); @@ -1915,7 +1991,7 @@ drm_export int mos_gem_bo_map(struct mos_linux_bo *bo, int write_enable) } else { - mmap_arg.flags = I915_MMAP_OFFSET_WB; + mmap_arg.flags = I915_MMAP_OFFSET_WB; } ret = drmIoctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_MMAP_OFFSET, @@ -3445,8 +3521,9 @@ mos_gem_bo_create_from_prime(struct mos_bufmgr *bufmgr, int prime_fd, int size) bo_gem->bo.handle = handle; bo_gem->bo.bufmgr = bufmgr; - bo_gem->gem_handle = handle; - + bo_gem->gem_handle = handle; + bo_gem->pat_index = PAT_INDEX_INVALID; + bo_gem->cpu_cacheable = true; atomic_set(&bo_gem->refcount, 1); bo_gem->name = "prime"; diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c index 1ee613a8cd..516609f63b 100644 --- a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c +++ b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c @@ -49,7 +49,7 @@ struct mos_linux_bo * mos_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment, int mem_type) + unsigned long size, unsigned int alignment, int mem_type, unsigned int pat_index, bool cpu_cacheable) { if(!bufmgr) { @@ -59,7 +59,7 @@ mos_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, if (bufmgr->bo_alloc) { - return bufmgr->bo_alloc(bufmgr, name, size, alignment, mem_type); + return bufmgr->bo_alloc(bufmgr, name, size, alignment, mem_type, pat_index, cpu_cacheable); } else { @@ -70,7 +70,7 @@ mos_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, struct mos_linux_bo * mos_bo_alloc_for_render(struct mos_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment, int mem_type) + unsigned long size, unsigned int alignment, int mem_type, unsigned int pat_index, bool cpu_cacheable) { if(!bufmgr) { @@ -80,7 +80,7 @@ mos_bo_alloc_for_render(struct mos_bufmgr *bufmgr, const char *name, if (bufmgr->bo_alloc_for_render) { - return bufmgr->bo_alloc_for_render(bufmgr, name, size, alignment, mem_type); + return bufmgr->bo_alloc_for_render(bufmgr, name, size, alignment, mem_type, pat_index, cpu_cacheable); } else { @@ -119,7 +119,7 @@ struct mos_linux_bo * mos_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, int x, int y, int cpp, uint32_t *tiling_mode, unsigned long *pitch, unsigned long flags, - int mem_type) + int mem_type, unsigned int pat_index, bool cpu_cacheable) { if(!bufmgr) { @@ -130,7 +130,7 @@ mos_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, if (bufmgr->bo_alloc_tiled) { return bufmgr->bo_alloc_tiled(bufmgr, name, x, y, cpp, - tiling_mode, pitch, flags, mem_type); + tiling_mode, pitch, flags, mem_type, pat_index, cpu_cacheable); } else { diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c index 3bc4f25295..a0e713e634 100644 --- a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c +++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c @@ -1054,8 +1054,12 @@ mos_gem_bo_alloc_internal(struct mos_bufmgr *bufmgr, uint32_t tiling_mode, unsigned long stride, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { + MOS_UNUSED(pat_index); + MOS_UNUSED(cpu_cacheable); struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *) bufmgr; struct mos_bo_gem *bo_gem; unsigned int page_size = getpagesize(); @@ -1237,12 +1241,14 @@ mos_gem_bo_alloc_for_render(struct mos_bufmgr *bufmgr, const char *name, unsigned long size, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { return mos_gem_bo_alloc_internal(bufmgr, name, size, I915_TILING_NONE, 0, BO_ALLOC_FOR_RENDER, - alignment, mem_type); + alignment, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * @@ -1250,17 +1256,19 @@ mos_gem_bo_alloc(struct mos_bufmgr *bufmgr, const char *name, unsigned long size, unsigned int alignment, - int mem_type) + int mem_type, + unsigned int pat_index, + bool cpu_cacheable) { return mos_gem_bo_alloc_internal(bufmgr, name, size, 0, - I915_TILING_NONE, 0, 0, mem_type); + I915_TILING_NONE, 0, 0, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * mos_gem_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, int x, int y, int cpp, uint32_t *tiling_mode, unsigned long *pitch, unsigned long flags, - int mem_type) + int mem_type, unsigned int pat_index, bool cpu_cacheable) { struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr; unsigned long size, stride; @@ -1304,7 +1312,7 @@ mos_gem_bo_alloc_tiled(struct mos_bufmgr *bufmgr, const char *name, stride = 0; return mos_gem_bo_alloc_internal(bufmgr, name, size, flags, - tiling, stride, 0, mem_type); + tiling, stride, 0, mem_type, pat_index, cpu_cacheable); } static struct mos_linux_bo * diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h index 9f7d908653..5ed0cc463f 100644 --- a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h +++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h @@ -48,7 +48,7 @@ struct mos_bufmgr { * using bo_map() or drm_intel_gem_bo_map_gtt() to be used by the CPU. */ struct mos_linux_bo *(*bo_alloc) (struct mos_bufmgr *bufmgr, const char *name, - unsigned long size, unsigned int alignment, int mem_type); + unsigned long size, unsigned int alignment, int mem_type, unsigned int pat_index, bool cpu_cacheable); /** * Allocate a buffer object, hinting that it will be used as a @@ -60,7 +60,9 @@ struct mos_bufmgr { const char *name, unsigned long size, unsigned int alignment, - int mem_type); + int mem_type, + unsigned int pat_index, + bool cpu_cacheable); /** * Allocate a buffer object from an existing user accessible @@ -95,7 +97,9 @@ struct mos_bufmgr { uint32_t *tiling_mode, unsigned long *pitch, unsigned long flags, - int mem_type); + int mem_type, + unsigned int pat_index, + bool cpu_cacheable); /** Takes a reference on a buffer object */ void (*bo_reference) (struct mos_linux_bo *bo); diff --git a/media_softlet/linux/common/os/mos_graphicsresource_specific_next.cpp b/media_softlet/linux/common/os/mos_graphicsresource_specific_next.cpp index 453a57670f..d419944409 100644 --- a/media_softlet/linux/common/os/mos_graphicsresource_specific_next.cpp +++ b/media_softlet/linux/common/os/mos_graphicsresource_specific_next.cpp @@ -74,6 +74,13 @@ MOS_STATUS GraphicsResourceSpecificNext::Allocate(OsContextNext* osContextPtr, C return MOS_STATUS_INVALID_HANDLE; } + GMM_CLIENT_CONTEXT *gmmClientContext = pOsContextSpecific->GetGmmClientContext(); + if (nullptr == gmmClientContext) + { + MOS_OS_ASSERTMESSAGE("Get GMM Client Context failed."); + return MOS_STATUS_INVALID_HANDLE; + } + MOS_STATUS status = MOS_STATUS_SUCCESS; uint32_t tileFormatLinux = I915_TILING_NONE; uint32_t alignedHeight = params.m_height; @@ -250,6 +257,9 @@ MOS_STATUS GraphicsResourceSpecificNext::Allocate(OsContextNext* osContextPtr, C char bufName[m_maxBufNameLength]; MosUtilities::MosSecureStrcpy(bufName, m_maxBufNameLength, params.m_name.c_str()); + unsigned int patIndex = MosInterface::GetPATIndexFromGmm(gmmClientContext, gmmResourceInfoPtr); + bool isCpuCacheable = gmmResourceInfoPtr->GetResFlags().Info.Cacheable; + MOS_TraceEventExt(EVENT_RESOURCE_ALLOCATE, EVENT_TYPE_START, nullptr, 0, nullptr, 0); if (nullptr != params.m_pSystemMemory) { @@ -264,7 +274,7 @@ MOS_STATUS GraphicsResourceSpecificNext::Allocate(OsContextNext* osContextPtr, C // Only Linear and Y TILE supported else if (tileFormatLinux == I915_TILING_NONE) { - boPtr = mos_bo_alloc(pOsContextSpecific->m_bufmgr, bufName, bufSize, 4096, mem_type); + boPtr = mos_bo_alloc(pOsContextSpecific->m_bufmgr, bufName, bufSize, 4096, mem_type, patIndex, isCpuCacheable); } else { @@ -276,7 +286,9 @@ MOS_STATUS GraphicsResourceSpecificNext::Allocate(OsContextNext* osContextPtr, C &tileFormatLinux, &linuxPitch, 0, - mem_type); + mem_type, + patIndex, + isCpuCacheable); bufPitch = (uint32_t)linuxPitch; } @@ -628,6 +640,8 @@ MOS_STATUS GraphicsResourceSpecificNext::AllocateExternalResource( GMM_RESCREATE_PARAMS gmmParams; GMM_RESOURCE_INFO *gmmResourceInfo = nullptr; GMM_RESOURCE_TYPE resourceType = RESOURCE_2D; + unsigned int patIndex = PAT_INDEX_INVALID; + bool isCpuCacheable = true; MosUtilities::MosZeroMemory(&gmmParams, sizeof(gmmParams)); @@ -725,6 +739,7 @@ MOS_STATUS GraphicsResourceSpecificNext::AllocateExternalResource( } gmmParams.Flags.Info.LocalOnly = MEDIA_IS_SKU(&perStreamParameters->m_skuTable, FtrLocalMemory); + MOS_OS_CHK_NULL_RETURN(perStreamParameters->pGmmClientContext); resource->pGmmResInfo = gmmResourceInfo = perStreamParameters->pGmmClientContext->CreateResInfoObject(&gmmParams); MOS_OS_CHK_NULL_RETURN(gmmResourceInfo); @@ -758,10 +773,13 @@ MOS_STATUS GraphicsResourceSpecificNext::AllocateExternalResource( iSize = GFX_ULONG_CAST(gmmResourceInfo->GetSizeSurface()); iHeight = gmmResourceInfo->GetBaseHeight(); + patIndex = MosInterface::GetPATIndexFromGmm(perStreamParameters->pGmmClientContext, gmmResourceInfo); + isCpuCacheable = gmmResourceInfo->GetResFlags().Info.Cacheable; + // Only Linear and Y TILE supported if (tileformat_linux == I915_TILING_NONE) { - bo = mos_bo_alloc(perStreamParameters->bufmgr, bufname, iSize, 4096, MOS_MEMPOOL_VIDEOMEMORY); + bo = mos_bo_alloc(perStreamParameters->bufmgr, bufname, iSize, 4096, MOS_MEMPOOL_VIDEOMEMORY, patIndex, isCpuCacheable); } else { @@ -773,7 +791,9 @@ MOS_STATUS GraphicsResourceSpecificNext::AllocateExternalResource( &tileformat_linux, &ulPitch, 0, - MOS_MEMPOOL_VIDEOMEMORY); + MOS_MEMPOOL_VIDEOMEMORY, + patIndex, + isCpuCacheable); iPitch = (int32_t)ulPitch; } diff --git a/media_softlet/linux/common/os/mos_interface.cpp b/media_softlet/linux/common/os/mos_interface.cpp index 56e96064ca..276fad89ed 100644 --- a/media_softlet/linux/common/os/mos_interface.cpp +++ b/media_softlet/linux/common/os/mos_interface.cpp @@ -1601,6 +1601,8 @@ MOS_STATUS MosInterface::ConvertResourceFromDdi( resource->iWidth = mediaSurface->iWidth; resource->iHeight = mediaSurface->iHeight; resource->iPitch = mediaSurface->iPitch; + // Use surface bo size as resource size since we need real bounds checking when fill padding for the surface. + resource->iSize = mediaSurface->bo->size; resource->iCount = mediaSurface->iRefCount; resource->isTiled = mediaSurface->isTiled; resource->TileType = LinuxToMosTileType(mediaSurface->TileType); @@ -1655,6 +1657,7 @@ MOS_STATUS MosInterface::ConvertResourceFromDdi( MOS_OS_ASSERTMESSAGE("MOS: unsupported media format for surface."); break; } + resource->iSize = mediaBuffer->bo->size; resource->iCount = mediaBuffer->iRefCount; resource->isTiled = 0; resource->TileType = LinuxToMosTileType(mediaBuffer->TileType); @@ -2640,6 +2643,25 @@ GMM_CLIENT_CONTEXT *MosInterface::GetGmmClientContext( return nullptr; } +unsigned int MosInterface::GetPATIndexFromGmm( + GMM_CLIENT_CONTEXT *gmmClient, + GMM_RESOURCE_INFO *gmmResourceInfo) +{ + if (gmmClient && gmmResourceInfo) + { + // GetDriverProtectionBits funtion could hide gmm details info, + // and we should use GetDriverProtectionBits to replace CachePolicyGetPATIndex in future. + // isCompressionEnable could be false temparaily. + bool isCompressionEnable = false; + return gmmClient->CachePolicyGetPATIndex( + gmmResourceInfo, + gmmResourceInfo->GetCachePolicyUsage(), + &isCompressionEnable, + gmmResourceInfo->GetResFlags().Info.Cacheable); + } + return PAT_INDEX_INVALID; +} + void MosInterface::GetGpuPriority(MOS_STREAM_HANDLE streamState, int32_t* pPriority) { MOS_OS_FUNCTION_ENTER; diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp index 369c13c8b1..e39d8e5edd 100644 --- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp +++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp @@ -40,7 +40,7 @@ #include #include #include -#include "mos_compat.h" // libc variative definitions: backtrace +//#include "mos_compat.h" // libc variative definitions: backtrace #include "mos_user_setting.h" #include "mos_utilities_specific.h" #include "mos_utilities.h" @@ -1526,7 +1526,8 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap) std::ifstream regStream; try { - regStream.open(USER_FEATURE_FILE_NEXT); + //regStream.open(USER_FEATURE_FILE_NEXT); + regStream.open("/etc/igfx_user_feature_next.txt"); if (regStream.good()) { std::string id = ""; @@ -1603,7 +1604,8 @@ MOS_STATUS MosUtilities::MosUninitializeReg(RegBufferMap ®BufferMap) std::ofstream regStream; try { - regStream.open(USER_FEATURE_FILE_NEXT, std::ios::out | std::ios::trunc); + //regStream.open(USER_FEATURE_FILE_NEXT, std::ios::out | std::ios::trunc); + regStream.open("/etc/igfx_user_feature_next.txt", std::ios::out | std::ios::trunc); if (regStream.good()) { for(auto pair: regBufferMap)