Skip to content

Commit a66b288

Browse files
committed
2 parents 89699ed + 92159c3 commit a66b288

File tree

334 files changed

+17311
-651
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

334 files changed

+17311
-651
lines changed

.github/workflows/ubuntu.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permissions: read-all
99

1010
jobs:
1111
clang14:
12-
runs-on: ubuntu-20.04
12+
runs-on: ubuntu-22.04
1313
env:
1414
CC: /usr/bin/clang-14
1515
CXX: /usr/bin/clang++-14
@@ -151,7 +151,7 @@ jobs:
151151
sudo make install
152152
153153
gcc-10:
154-
runs-on: ubuntu-20.04
154+
runs-on: ubuntu-22.04
155155
env:
156156
CC: /usr/bin/gcc-10
157157
CXX: /usr/bin/g++-10
@@ -214,7 +214,7 @@ jobs:
214214
sudo make install
215215
216216
gcc-10-production-kmd:
217-
runs-on: ubuntu-20.04
217+
runs-on: ubuntu-22.04
218218
env:
219219
CC: /usr/bin/gcc-10
220220
CXX: /usr/bin/g++-10
@@ -279,7 +279,7 @@ jobs:
279279
sudo make install
280280
281281
gcc-10-nonfree-kernels-off:
282-
runs-on: ubuntu-20.04
282+
runs-on: ubuntu-22.04
283283
env:
284284
CC: /usr/bin/gcc-10
285285
CXX: /usr/bin/g++-10
@@ -344,7 +344,7 @@ jobs:
344344
sudo make install
345345
346346
gcc-10-kernels-off:
347-
runs-on: ubuntu-20.04
347+
runs-on: ubuntu-22.04
348348
env:
349349
CC: /usr/bin/gcc-10
350350
CXX: /usr/bin/g++-10
@@ -409,7 +409,7 @@ jobs:
409409
sudo make install
410410
411411
gcc-10-gen8-off:
412-
runs-on: ubuntu-20.04
412+
runs-on: ubuntu-22.04
413413
env:
414414
CC: /usr/bin/gcc-10
415415
CXX: /usr/bin/g++-10
@@ -474,7 +474,7 @@ jobs:
474474
sudo make install
475475
476476
gcc-10-gen9-off:
477-
runs-on: ubuntu-20.04
477+
runs-on: ubuntu-22.04
478478
env:
479479
CC: /usr/bin/gcc-10
480480
CXX: /usr/bin/g++-10
@@ -539,7 +539,7 @@ jobs:
539539
sudo make install
540540
541541
gcc-10-gen11-off:
542-
runs-on: ubuntu-20.04
542+
runs-on: ubuntu-22.04
543543
env:
544544
CC: /usr/bin/gcc-10
545545
CXX: /usr/bin/g++-10
@@ -604,7 +604,7 @@ jobs:
604604
sudo make install
605605
606606
gcc-10-gen12-off:
607-
runs-on: ubuntu-20.04
607+
runs-on: ubuntu-22.04
608608
env:
609609
CC: /usr/bin/gcc-10
610610
CXX: /usr/bin/g++-10
@@ -669,7 +669,7 @@ jobs:
669669
sudo make install
670670
671671
gcc-10-mtl-off:
672-
runs-on: ubuntu-20.04
672+
runs-on: ubuntu-22.04
673673
env:
674674
CC: /usr/bin/gcc-10
675675
CXX: /usr/bin/g++-10
@@ -734,7 +734,7 @@ jobs:
734734
sudo make install
735735
736736
gcc-10-arl-off:
737-
runs-on: ubuntu-20.04
737+
runs-on: ubuntu-22.04
738738
env:
739739
CC: /usr/bin/gcc-10
740740
CXX: /usr/bin/g++-10
@@ -799,7 +799,7 @@ jobs:
799799
sudo make install
800800
801801
gcc-10-AVC-HEVC-exclude:
802-
runs-on: ubuntu-20.04
802+
runs-on: ubuntu-22.04
803803
env:
804804
CC: /usr/bin/gcc-10
805805
CXX: /usr/bin/g++-10

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
cmake_minimum_required(VERSION 3.5)
2222
project(IntelMediaDriver)
23-
set(MEDIA_VERSION "25.1.1${MEDIA_VERSION_EXTRA}" CACHE STRING "" FORCE)
23+
set(MEDIA_VERSION "25.2.1${MEDIA_VERSION_EXTRA}" CACHE STRING "" FORCE)
2424

2525

2626

media_common/agnostic/common/codec/shared/codec_def_common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,8 @@ enum CODECHAL_MODE
199199
CODECHAL_ENCODE_MODE_VP9 = 39,
200200
CODECHAL_ENCODE_MODE_AV1 = 40,
201201
CODECHAL_Rsvd = 41,
202-
CODECHAL_ENCODE_MODE_END = 42,
202+
CODECHAL_Rsvd2 = 42,
203+
CODECHAL_ENCODE_MODE_END = 43,
203204

204205
CODECHAL_UNSUPPORTED_MODE = 96
205206
};

media_common/agnostic/common/codec/shared/codec_def_decode.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018-2021, Intel Corporation
2+
* Copyright (c) 2018-2025, Intel Corporation
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a
55
* copy of this software and associated documentation files (the "Software"),
@@ -76,6 +76,8 @@ struct DecodeProcessingParams
7676
uint32_t m_outputColorStandard;
7777

7878
PMOS_SURFACE m_histogramSurface;
79+
PMOS_SURFACE m_histogramSurfaceU;
80+
PMOS_SURFACE m_histogramSurfaceV;
7981

8082
// Processing state
8183
uint32_t m_rotationState;
@@ -235,6 +237,8 @@ struct CodechalDecodeParams
235237
uint32_t m_executeCallIndex = 0;
236238
//! \brief [Decode Histogram] Input buffer to hold decode histogram
237239
MOS_SURFACE m_histogramSurface = {};
240+
MOS_SURFACE m_histogramSurfaceU = {};
241+
MOS_SURFACE m_histogramSurfaceV = {};
238242
};
239243

240244
typedef enum _CODECHAL_DUMMY_REFERENCE_STATUS

media_common/agnostic/common/codec/shared/codec_def_encode_hevc.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -394,12 +394,12 @@ typedef struct _CODEC_HEVC_ENCODE_SEQUENCE_PARAMS
394394
*/
395395
uint32_t HierarchicalFlag : 1;
396396

397-
/*! \brief Indicates if TCBRC is enabled.
397+
/*! \brief Indicates if FastPass is enabled.
398398
*
399-
* \n - 0 : no TCBRC.
400-
* \n - 1 : enable TCBRC if TCBRCSupport in CAP is 1.
399+
* \n - 0 : no FastPass.
400+
* \n - 1 : enable FastPass if FastPassSupport in CAP is 1.
401401
*/
402-
uint32_t TCBRCEnable : 1;
402+
uint32_t EnableFastPass : 1;
403403

404404
/*! \brief Indicates if current encodin gis lookahead pass.
405405
*
@@ -596,6 +596,8 @@ typedef struct _CODEC_HEVC_ENCODE_SEQUENCE_PARAMS
596596
uint8_t palette_max_size;
597597
uint8_t delta_palette_max_predictor_size;
598598
uint8_t FullPassCodecType; // [0..4]
599+
uint8_t FastPassRatio;
600+
uint8_t FastPassDsType; // [0..1]
599601
} CODEC_HEVC_ENCODE_SEQUENCE_PARAMS, *PCODEC_HEVC_ENCODE_SEQUENCE_PARAMS;
600602

601603
/*! \brief Provides the picture-level parameters of a compressed picture for HEVC decoding.

media_common/agnostic/common/codec/shared/codec_def_encode_hevc_trace.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ class CodecDefEncodeHevcTrace
106106
PUSH(LowDelayMode);
107107
PUSH(DisableHRDConformance);
108108
PUSH(HierarchicalFlag);
109-
PUSH(TCBRCEnable);
109+
PUSH(EnableFastPass);
110110
PUSH(bLookAheadPhase);
111111
PUSH(UserMaxIFrameSize);
112112
PUSH(UserMaxPBFrameSize);
@@ -153,6 +153,8 @@ class CodecDefEncodeHevcTrace
153153
PUSH(MinAdaptiveGopPicSize);
154154
PUSH(MaxAdaptiveGopPicSize);
155155
PUSH(FullPassCodecType);
156+
PUSH(FastPassRatio);
157+
PUSH(FastPassDsType);
156158

157159
MOS_TraceEventExt(
158160
EVENT_ENCODE_DDI_SEQ_PARAM_HEVC,

media_common/agnostic/common/hw/mhw_render.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
#define MHW_RENDER_ENGINE_EU_INDEX_MAX 12
4343
#define MHW_RENDER_ENGINE_SIZE_REGISTERS_PER_THREAD 0x1800
4444
#define MHW_RENDER_ENGINE_NUMBER_OF_THREAD_UNIT 32
45-
#define MHW_RENDER_ENGINE_MAX_NUMBER_OF_THREAD (1024 / MHW_RENDER_ENGINE_NUMBER_OF_THREAD_UNIT)
4645

4746
#define MHW_MAX_DEPENDENCY_COUNT 8
4847

@@ -314,6 +313,8 @@ typedef struct _MHW_GPGPU_WALKER_PARAMS
314313
PMHW_INLINE_DATA_PARAMS inlineDataParamBase;
315314
uint32_t inlineDataParamSize;
316315

316+
uint32_t simdSize;
317+
317318
} MHW_GPGPU_WALKER_PARAMS, *PMHW_GPGPU_WALKER_PARAMS;
318319

319320
typedef struct _MHW_MEDIA_OBJECT_PARAMS

media_common/agnostic/common/os/mos_os.h

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141

4242
#include "media_user_setting_specific.h"
4343
#include "null_hardware.h"
44+
#include "mos_hybrid_cmd_manager.h"
4445
//!
4546
//! \brief OS specific includes and definitions
4647
//!
@@ -159,6 +160,7 @@ typedef enum _TRINITY_PATH
159160
#define MOS_FORCE_VDBOX_NONE 0
160161
#define MOS_FORCE_VDBOX_1 0x0001
161162
#define MOS_FORCE_VDBOX_2 0x0002
163+
#define MOS_FORCE_VDBOX_3 0x0003
162164
//below is for scalability case,
163165
//format is FE vdbox is specified as lowest 4 bits; BE0 is 2nd low 4 bits; BE1 is 3rd low 4bits.
164166
#define MOS_FORCE_VDBOX_1_1_2 0x0211
@@ -608,6 +610,7 @@ class CodechalSecureDecodeInterface;
608610
class CodechalSetting;
609611
class CodechalHwInterface;
610612
class CodechalHwInterfaceNext;
613+
class L0NpuInterface;
611614

612615
struct MOS_SURF_DUMP_SURFACE_DEF
613616
{
@@ -700,6 +703,10 @@ typedef struct _MOS_INTERFACE
700703
int32_t modularizedGpuCtxEnabled;
701704
OsContext* osContextPtr;
702705

706+
HybridCmdMgr *hybridCmdMgr = nullptr;
707+
//for npu levelzero
708+
L0NpuInterface* npuInterface = nullptr;
709+
703710
// used for media reset enabling/disabling in UMD
704711
// pls remove it after hw scheduling
705712
int32_t bMediaReset;
@@ -1606,6 +1613,69 @@ typedef struct _MOS_INTERFACE
16061613
void (*pfnResetResource)(
16071614
PMOS_RESOURCE resource);
16081615

1616+
//!
1617+
//! \brief Set Hybrid Cmd To GpuContext
1618+
//! \details Set Hybrid Cmd To GpuContext
1619+
//! \param PMOS_INTERFACE pOsInterface
1620+
//! [in] ptr to pOsInterface
1621+
//! \param uint64_t gpuCtxOnHybridCmd
1622+
//! gpuCtxOnHybridCmd
1623+
//! \return MOS_STATUS
1624+
//! Return MOS_STATUS
1625+
//!
1626+
MOS_STATUS (*pfnSetHybridCmdMgrToGpuContext)(
1627+
PMOS_INTERFACE pOsInterface,
1628+
uint64_t gpuCtxOnHybridCmd);
1629+
1630+
//!
1631+
//! \brief Set Hybrid Cmd Submit Mode
1632+
//! \details Set Hybrid Cmd Submit Mode
1633+
//! \param PMOS_INTERFACE pOsInterface
1634+
//! [in] ptr to pOsInterface
1635+
//! \param uint64_t hybridMgrSubmitMode
1636+
//! hybridMgrSubmitMode
1637+
//! \return MOS_STATUS
1638+
//! Return MOS_STATUS
1639+
//!
1640+
MOS_STATUS (*pfnSetHybridMgrSubmitMode)(
1641+
PMOS_INTERFACE pOsInterface,
1642+
uint64_t hybridMgrSubmitMode);
1643+
1644+
//!
1645+
//! \brief Start the Cmd Consumer
1646+
//! \details Start the Cmd Consumer
1647+
//! \param PMOS_INTERFACE pOsInterface
1648+
//! [in] ptr to pOsInterface
1649+
//! \return MOS_STATUS
1650+
//! Return MOS_STATUS
1651+
//!
1652+
MOS_STATUS (*pfnStartHybridCmdMgr)(
1653+
PMOS_INTERFACE pOsInterface);
1654+
1655+
//!
1656+
//! \brief Stop the Cmd Consumer
1657+
//! \details Stop the Cmd Consumer
1658+
//! \param PMOS_INTERFACE pOsInterface
1659+
//! [in] ptr to pOsInterface
1660+
//! \return MOS_STATUS
1661+
//! Return MOS_STATUS
1662+
//!
1663+
MOS_STATUS (*pfnStopHybridCmdMgr)(
1664+
PMOS_INTERFACE pOsInterface);
1665+
1666+
//!
1667+
//! \brief Submit Cmd Package to Cmd Consumer
1668+
//! \details Submit Cmd Package to Cmd Consumer
1669+
//! \param PMOS_INTERFACE pOsInterface
1670+
//! [in] ptr to pOsInterface
1671+
//! \param CmdPackage& cmdPackage
1672+
//! [in] reference to cmdPackage
1673+
//! \return MOS_STATUS
1674+
//! Return MOS_STATUS
1675+
//!
1676+
MOS_STATUS (*pfnSubmitPackage)(
1677+
PMOS_INTERFACE pOsInterface,
1678+
CmdPackage &cmdPackage);
16091679

16101680
#if (_DEBUG || _RELEASE_INTERNAL)
16111681
//!
@@ -2529,6 +2599,70 @@ bool Mos_InsertCacheSetting(CACHE_COMPONENTS id, std::map<uint64_t, MOS_CACHE_EL
25292599

25302600
bool Mos_GetCacheSetting(MOS_COMPONENT id, uint32_t feature, bool bOut, ENGINE_TYPE engineType, MOS_CACHE_ELEMENT &element, bool isHeapSurf);
25312601

2602+
//!
2603+
//! \brief Set Hybrid Cmd To GpuContext
2604+
//! \details Set Hybird Cmd To GpuContext
2605+
//! \param PMOS_INTERFACE pOsInterface
2606+
//! [in] ptr to pOsInterface
2607+
//! \param uint64_t gpuCtxOnHybridCmd
2608+
//! gpuCtxOnHybridCmd
2609+
//! \return MOS_STATUS
2610+
//! Return MOS_STATUS
2611+
//!
2612+
MOS_STATUS MOS_SetHybridCmdMgrToGpuContext(
2613+
PMOS_INTERFACE pOsInterface,
2614+
uint64_t gpuCtxOnHybridCmd);
2615+
2616+
//!
2617+
//! \brief Set Hybrid Cmd Submit Mode
2618+
//! \details Set Hybrid Cmd Submit Mode
2619+
//! \param PMOS_INTERFACE pOsInterface
2620+
//! [in] ptr to pOsInterface
2621+
//! \param uint64_t hybridMgrSubmitMode
2622+
//! hybridMgrSubmitMode
2623+
//! \return MOS_STATUS
2624+
//! Return MOS_STATUS
2625+
//!
2626+
MOS_STATUS MOS_SetHybridCmdMgrSubmitMode(
2627+
PMOS_INTERFACE pOsInterface,
2628+
uint64_t hybridMgrSubmitMode);
2629+
2630+
//!
2631+
//! \brief Start the Cmd Buffer Consumer
2632+
//! \details Start the Cmd Buffer Consumer
2633+
//! \param PMOS_INTERFACE pOsInterface
2634+
//! [in] Pointer to OS interface structure
2635+
//! \return MOS_STATUS
2636+
//! Return MOS_STATUS
2637+
//!
2638+
MOS_STATUS MOS_StartHybridCmdMgr(
2639+
PMOS_INTERFACE pOsInterface);
2640+
2641+
//!
2642+
//! \brief Stop the Cmd Buffer Consumer
2643+
//! \details Stop the Cmd Buffer Consumer
2644+
//! \param PMOS_INTERFACE pOsInterface
2645+
//! [in] Pointer to OS interface structure
2646+
//! \return MOS_STATUS
2647+
//! Return MOS_STATUS
2648+
//!
2649+
MOS_STATUS MOS_StopHybridCmdMgr(
2650+
PMOS_INTERFACE pOsInterface);
2651+
2652+
//!
2653+
//! \brief Submit Cmd Package to Cmd Consumer
2654+
//! \details Submit Cmd Package to Cmd Consumer
2655+
//! \param PMOS_INTERFACE pOsInterface
2656+
//! [in] ptr to pOsInterface
2657+
//! \param CmdPackage& cmdPackage
2658+
//! [in] reference to cmdPackage
2659+
//! \return MOS_STATUS
2660+
//! Return MOS_STATUS
2661+
//!
2662+
MOS_STATUS MOS_SubmitPackage(
2663+
PMOS_INTERFACE pOsInterface,
2664+
CmdPackage &cmdPackage);
2665+
25322666
#if (_DEBUG || _RELEASE_INTERNAL)
25332667
//!
25342668
//! \brief Get engine count

0 commit comments

Comments
 (0)