mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-25 19:56:43 +00:00
media-driver: update to 24.3.1
This commit is contained in:
parent
95ef1d26b6
commit
2a763289f4
@ -2,8 +2,8 @@
|
|||||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="media-driver"
|
PKG_NAME="media-driver"
|
||||||
PKG_VERSION="24.3.0"
|
PKG_VERSION="24.3.1"
|
||||||
PKG_SHA256="b6728607e4d05739bce27124605993011b468781043ce34bb1a51919196f2d15"
|
PKG_SHA256="98702b946edb24454a3b780f8dd5b3091c6c795478467c1c00fe4d16c4371291"
|
||||||
PKG_ARCH="x86_64"
|
PKG_ARCH="x86_64"
|
||||||
PKG_LICENSE="MIT"
|
PKG_LICENSE="MIT"
|
||||||
PKG_SITE="https://01.org/linuxmedia"
|
PKG_SITE="https://01.org/linuxmedia"
|
||||||
|
@ -1,162 +0,0 @@
|
|||||||
From 1e79d58e7af77453e55ce40fe01c1cc8ca84461b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jason Chen <jason.k.chen@intel.com>
|
|
||||||
Date: Thu, 18 Mar 2021 11:52:11 +0800
|
|
||||||
Subject: [PATCH] [VP] Use forward_references as the reference for ADI
|
|
||||||
|
|
||||||
VAAPI define forward_references as past referene frame, but vphal regart forward reference as future reference frame. This change will only correct the behavior in DDI level to map forward_references to VPHAL_SURFACE.pBwdRef, and backward_references to VPHAL_SURFACE.pFwdRef
|
|
||||||
---
|
|
||||||
media_driver/linux/common/ddi/media_libva.cpp | 17 ++++++++
|
|
||||||
.../linux/common/vp/ddi/media_libva_vp.c | 42 ++++++++++---------
|
|
||||||
2 files changed, 39 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/media_driver/linux/common/ddi/media_libva.cpp b/media_driver/linux/common/ddi/media_libva.cpp
|
|
||||||
index 63f1659ed..efa0c08cc 100755
|
|
||||||
--- a/media_driver/linux/common/ddi/media_libva.cpp
|
|
||||||
+++ b/media_driver/linux/common/ddi/media_libva.cpp
|
|
||||||
@@ -6525,6 +6525,23 @@ DdiMedia_QueryVideoProcPipelineCaps(
|
|
||||||
pipeline_caps->min_output_width = VP_MIN_PIC_WIDTH;
|
|
||||||
pipeline_caps->min_output_height = VP_MIN_PIC_WIDTH;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ for (int i = 0; i < num_filters; i++) {
|
|
||||||
+ void *pData;
|
|
||||||
+ DdiMedia_MapBuffer(ctx, filters[i], &pData);
|
|
||||||
+ DDI_CHK_NULL(pData, "nullptr pData", VA_STATUS_ERROR_INVALID_PARAMETER);
|
|
||||||
+ VAProcFilterParameterBufferBase* base_param = (VAProcFilterParameterBufferBase*) pData;
|
|
||||||
+ if (base_param->type == VAProcFilterDeinterlacing)
|
|
||||||
+ {
|
|
||||||
+ VAProcFilterParameterBufferDeinterlacing *di_param = (VAProcFilterParameterBufferDeinterlacing *)base_param;
|
|
||||||
+ if (di_param->algorithm == VAProcDeinterlacingMotionAdaptive ||
|
|
||||||
+ di_param->algorithm == VAProcDeinterlacingMotionCompensated)
|
|
||||||
+ {
|
|
||||||
+ pipeline_caps->num_forward_references = 1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return VA_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c
|
|
||||||
index 1f544749b..7d5b95b4e 100644
|
|
||||||
--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c
|
|
||||||
+++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c
|
|
||||||
@@ -90,8 +90,8 @@ VAStatus DdiVp_SetProcFilterTotalColorCorrectionParams(PDDI_VP_CONTEXT, uint
|
|
||||||
VAStatus DdiVp_SetProcFilterHdrTmParams(PDDI_VP_CONTEXT, uint32_t, VAProcFilterParameterBufferHDRToneMapping*);
|
|
||||||
VAStatus DdiVp_SetProcPipelineBlendingParams(PDDI_VP_CONTEXT pVpCtx, uint32_t uiSurfIndex, VAProcPipelineParameterBuffer* pPipelineParam);
|
|
||||||
VAStatus DdiVp_ConvertSurface (VADriverContextP ctx, DDI_MEDIA_SURFACE *srcSurface, int16_t srcx, int16_t srcy, uint16_t srcw, uint16_t srch, DDI_MEDIA_SURFACE *dstSurface, int16_t destx, int16_t desty, uint16_t destw, uint16_t desth );
|
|
||||||
-VAStatus DdiVp_UpdateProcPipelineForwardReferenceFrames(PDDI_VP_CONTEXT pVpCtx, VADriverContextP pVaDrvCtx, PVPHAL_SURFACE pVpHalSrcSurf, VAProcPipelineParameterBuffer* pPipelineParam);
|
|
||||||
-VAStatus DdiVp_UpdateProcPipelineBackwardReferenceFrames(PDDI_VP_CONTEXT pVpCtx, VADriverContextP pVaDrvCtx, PVPHAL_SURFACE pVpHalSrcSurf, VAProcPipelineParameterBuffer* pPipelineParam);
|
|
||||||
+VAStatus DdiVp_UpdateProcPipelineFutureReferenceFrames(PDDI_VP_CONTEXT pVpCtx, VADriverContextP pVaDrvCtx, PVPHAL_SURFACE pVpHalSrcSurf, VAProcPipelineParameterBuffer* pPipelineParam);
|
|
||||||
+VAStatus DdiVp_UpdateProcPipelinePastReferenceFrames(PDDI_VP_CONTEXT pVpCtx, VADriverContextP pVaDrvCtx, PVPHAL_SURFACE pVpHalSrcSurf, VAProcPipelineParameterBuffer* pPipelineParam);
|
|
||||||
VAStatus DdiVp_UpdateVphalTargetSurfColorSpace(VADriverContextP, PDDI_VP_CONTEXT, VAProcPipelineParameterBuffer*, uint32_t targetIndex);
|
|
||||||
VAStatus DdiVp_BeginPictureInt(VADriverContextP pVaDrvCtx, PDDI_VP_CONTEXT pVpCtx, VASurfaceID vaSurfID);
|
|
||||||
|
|
||||||
@@ -1174,15 +1174,15 @@ DdiVp_SetProcPipelineParams(
|
|
||||||
|
|
||||||
// Update fwd and bkward ref frames: Required for Advanced processing - will be supported in the future
|
|
||||||
|
|
||||||
- pVpHalSrcSurf->uFwdRefCount = pPipelineParam->num_forward_references;
|
|
||||||
+ pVpHalSrcSurf->uFwdRefCount = pPipelineParam->num_backward_references;
|
|
||||||
|
|
||||||
- vaStatus = DdiVp_UpdateProcPipelineForwardReferenceFrames(pVpCtx, pVaDrvCtx, pVpHalSrcSurf, pPipelineParam);
|
|
||||||
- DDI_CHK_RET(vaStatus, "Failed to update forward reference frames!");
|
|
||||||
+ vaStatus = DdiVp_UpdateProcPipelineFutureReferenceFrames(pVpCtx, pVaDrvCtx, pVpHalSrcSurf, pPipelineParam);
|
|
||||||
+ DDI_CHK_RET(vaStatus, "Failed to update future reference frames!");
|
|
||||||
|
|
||||||
- pVpHalSrcSurf->uBwdRefCount = pPipelineParam->num_backward_references;
|
|
||||||
+ pVpHalSrcSurf->uBwdRefCount = pPipelineParam->num_forward_references;
|
|
||||||
|
|
||||||
- vaStatus = DdiVp_UpdateProcPipelineBackwardReferenceFrames(pVpCtx, pVaDrvCtx, pVpHalSrcSurf, pPipelineParam);
|
|
||||||
- DDI_CHK_RET(vaStatus, "Failed to update backward reference frames!");
|
|
||||||
+ vaStatus = DdiVp_UpdateProcPipelinePastReferenceFrames(pVpCtx, pVaDrvCtx, pVpHalSrcSurf, pPipelineParam);
|
|
||||||
+ DDI_CHK_RET(vaStatus, "Failed to update past reference frames!");
|
|
||||||
|
|
||||||
// Check if filter values changed,if yes, then reset all filters for this surface
|
|
||||||
|
|
||||||
@@ -3890,7 +3890,7 @@ DdiVp_SetProcPipelineBlendingParams(
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
-//! \purpose Update the forward reference frames for VPHAL input surface
|
|
||||||
+//! \purpose Update the future reference frames for VPHAL input surface
|
|
||||||
//! \params
|
|
||||||
//! [in] pVpCtx : VP context
|
|
||||||
//! [in] pVaDrvCtx : VA Driver context
|
|
||||||
@@ -3900,7 +3900,7 @@ DdiVp_SetProcPipelineBlendingParams(
|
|
||||||
//! \returns VA_STATUS_SUCCESS if call succeeds
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
VAStatus
|
|
||||||
-DdiVp_UpdateProcPipelineForwardReferenceFrames(
|
|
||||||
+DdiVp_UpdateProcPipelineFutureReferenceFrames(
|
|
||||||
PDDI_VP_CONTEXT pVpCtx,
|
|
||||||
VADriverContextP pVaDrvCtx,
|
|
||||||
PVPHAL_SURFACE pVpHalSrcSurf,
|
|
||||||
@@ -3930,9 +3930,10 @@ DdiVp_UpdateProcPipelineForwardReferenceFrames(
|
|
||||||
|
|
||||||
pSurface = pVpHalSrcSurf;
|
|
||||||
|
|
||||||
- if (pPipelineParam->forward_references != nullptr)
|
|
||||||
+ // DDI regard backward_references as future frame, but VPHAL regard pFwdRef as future frame
|
|
||||||
+ if (pPipelineParam->backward_references != nullptr)
|
|
||||||
{
|
|
||||||
- for (i = 0;i < pPipelineParam->num_forward_references; i++)
|
|
||||||
+ for (i = 0;i < pPipelineParam->num_backward_references; i++)
|
|
||||||
{
|
|
||||||
PDDI_MEDIA_SURFACE pRefSurfBuffObj = nullptr;
|
|
||||||
if(pSurface->pFwdRef == nullptr)
|
|
||||||
@@ -3952,9 +3953,9 @@ DdiVp_UpdateProcPipelineForwardReferenceFrames(
|
|
||||||
pSurface->pFwdRef->dwWidth = pVpHalSrcSurf->dwWidth;
|
|
||||||
pSurface->pFwdRef->dwHeight = pVpHalSrcSurf->dwHeight;
|
|
||||||
pSurface->pFwdRef->dwPitch = pVpHalSrcSurf->dwPitch;
|
|
||||||
- pSurface->uFwdRefCount = pPipelineParam->num_forward_references - i;
|
|
||||||
+ pSurface->uFwdRefCount = pPipelineParam->num_backward_references - i;
|
|
||||||
}
|
|
||||||
- pRefSurfBuffObj = DdiMedia_GetSurfaceFromVASurfaceID(pMediaCtx, pPipelineParam->forward_references[i]);
|
|
||||||
+ pRefSurfBuffObj = DdiMedia_GetSurfaceFromVASurfaceID(pMediaCtx, pPipelineParam->backward_references[i]);
|
|
||||||
DDI_CHK_NULL(pRefSurfBuffObj,
|
|
||||||
"Null pRefSurfBuffObj!",
|
|
||||||
VA_STATUS_ERROR_INVALID_SURFACE);
|
|
||||||
@@ -3979,7 +3980,7 @@ DdiVp_UpdateProcPipelineForwardReferenceFrames(
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
-//! \purpose Update the backward reference frames for VPHAL input surface
|
|
||||||
+//! \purpose Update the past reference frames for VPHAL input surface
|
|
||||||
//! \params
|
|
||||||
//! [in] pVpCtx : VP context
|
|
||||||
//! [in] pVaDrvCtx : VA Driver context
|
|
||||||
@@ -3989,7 +3990,7 @@ DdiVp_UpdateProcPipelineForwardReferenceFrames(
|
|
||||||
//! \returns VA_STATUS_SUCCESS if call succeeds
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
VAStatus
|
|
||||||
-DdiVp_UpdateProcPipelineBackwardReferenceFrames(
|
|
||||||
+DdiVp_UpdateProcPipelinePastReferenceFrames(
|
|
||||||
PDDI_VP_CONTEXT pVpCtx,
|
|
||||||
VADriverContextP pVaDrvCtx,
|
|
||||||
PVPHAL_SURFACE pVpHalSrcSurf,
|
|
||||||
@@ -4019,9 +4020,10 @@ DdiVp_UpdateProcPipelineBackwardReferenceFrames(
|
|
||||||
|
|
||||||
pSurface = pVpHalSrcSurf;
|
|
||||||
|
|
||||||
- if (pPipelineParam->backward_references != nullptr)
|
|
||||||
+ // DDI regard forward_references as past frame, but VPHAL regard pBwdRef as past frame
|
|
||||||
+ if (pPipelineParam->forward_references != nullptr)
|
|
||||||
{
|
|
||||||
- for (i = 0;i < pPipelineParam->num_backward_references; i++)
|
|
||||||
+ for (i = 0;i < pPipelineParam->num_forward_references; i++)
|
|
||||||
{
|
|
||||||
PDDI_MEDIA_SURFACE pRefSurfBuffObj = nullptr;
|
|
||||||
if(pSurface->pBwdRef == nullptr)
|
|
||||||
@@ -4041,9 +4043,9 @@ DdiVp_UpdateProcPipelineBackwardReferenceFrames(
|
|
||||||
pSurface->pBwdRef->dwWidth = pVpHalSrcSurf->dwWidth;
|
|
||||||
pSurface->pBwdRef->dwHeight = pVpHalSrcSurf->dwHeight;
|
|
||||||
pSurface->pBwdRef->dwPitch = pVpHalSrcSurf->dwPitch;
|
|
||||||
- pSurface->uBwdRefCount = pPipelineParam->num_backward_references - i;;
|
|
||||||
+ pSurface->uBwdRefCount = pPipelineParam->num_forward_references - i;;
|
|
||||||
}
|
|
||||||
- pRefSurfBuffObj = DdiMedia_GetSurfaceFromVASurfaceID(pMediaCtx, pPipelineParam->backward_references[i]);
|
|
||||||
+ pRefSurfBuffObj = DdiMedia_GetSurfaceFromVASurfaceID(pMediaCtx, pPipelineParam->forward_references[i]);
|
|
||||||
DDI_CHK_NULL(pRefSurfBuffObj,
|
|
||||||
"Null pRefSurfBuffObj!",
|
|
||||||
VA_STATUS_ERROR_INVALID_SURFACE);
|
|
@ -1,138 +0,0 @@
|
|||||||
From 47bae3c809c9f5b11793b76b5edfd7704adb4080 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chen_Ke <ke3.chen@intel.com>
|
|
||||||
Date: Fri, 12 Jul 2024 11:42:04 +0800
|
|
||||||
Subject: [PATCH] [VP] Refactor for build issue
|
|
||||||
|
|
||||||
Refactor for build issue: Avoid storing the address of local variable
|
|
||||||
---
|
|
||||||
media_common/agnostic/common/hw/mhw_render.h | 1 +
|
|
||||||
media_common/agnostic/common/hw/mhw_state_heap.h | 2 --
|
|
||||||
.../agnostic/common/hw/mhw_render_cmdpar.h | 1 +
|
|
||||||
.../shared/packet/media_render_cmd_packet.cpp | 4 ++--
|
|
||||||
.../shared/packet/media_render_cmd_packet.h | 4 ++--
|
|
||||||
.../common/vp/hal/packet/vp_render_kernel_obj.cpp | 15 +++++----------
|
|
||||||
.../common/vp/hal/packet/vp_render_kernel_obj.h | 3 ++-
|
|
||||||
7 files changed, 13 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/media_common/agnostic/common/hw/mhw_render.h b/media_common/agnostic/common/hw/mhw_render.h
|
|
||||||
index b551ab1337..36c895c299 100644
|
|
||||||
--- a/media_common/agnostic/common/hw/mhw_render.h
|
|
||||||
+++ b/media_common/agnostic/common/hw/mhw_render.h
|
|
||||||
@@ -312,6 +312,7 @@ typedef struct _MHW_GPGPU_WALKER_PARAMS
|
|
||||||
|
|
||||||
bool hasBarrier;
|
|
||||||
PMHW_INLINE_DATA_PARAMS inlineDataParamBase;
|
|
||||||
+ uint32_t inlineDataParamSize;
|
|
||||||
|
|
||||||
} MHW_GPGPU_WALKER_PARAMS, *PMHW_GPGPU_WALKER_PARAMS;
|
|
||||||
|
|
||||||
diff --git a/media_common/agnostic/common/hw/mhw_state_heap.h b/media_common/agnostic/common/hw/mhw_state_heap.h
|
|
||||||
index 49add60823..2f9afff0af 100644
|
|
||||||
--- a/media_common/agnostic/common/hw/mhw_state_heap.h
|
|
||||||
+++ b/media_common/agnostic/common/hw/mhw_state_heap.h
|
|
||||||
@@ -83,8 +83,6 @@ typedef struct MHW_BLOCK_MANAGER *PMHW_BLOCK_MANAGER;
|
|
||||||
|
|
||||||
#define MHW_INVALID_SYNC_TAG 0xFFFFFFFF
|
|
||||||
|
|
||||||
-#define MAX_INLINE_DATA_PARAMS 32
|
|
||||||
-
|
|
||||||
enum MW_RENDER_ENGINE_ADDRESS_SHIFT
|
|
||||||
{
|
|
||||||
MHW_STATE_HEAP_SURFACE_STATE_SHIFT = 0
|
|
||||||
diff --git a/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h b/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h
|
|
||||||
index 4c01d351ce..a8004bbbb9 100644
|
|
||||||
--- a/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h
|
|
||||||
+++ b/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h
|
|
||||||
@@ -65,6 +65,7 @@ struct MHW_HEAPS_RESOURCE
|
|
||||||
{
|
|
||||||
PMOS_RESOURCE presInstructionBuffer = nullptr;
|
|
||||||
PMHW_INLINE_DATA_PARAMS inlineDataParamsBase = nullptr;
|
|
||||||
+ uint32_t inlineDataParamSize = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum MHW_VFE_SLICE_DISABLE
|
|
||||||
diff --git a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp
|
|
||||||
index dc9d6896ba..c18cbf4b4f 100644
|
|
||||||
--- a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp
|
|
||||||
+++ b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.cpp
|
|
||||||
@@ -1264,8 +1264,8 @@ MOS_STATUS RenderCmdPacket::PrepareComputeWalkerParams(KERNEL_WALKER_PARAMS para
|
|
||||||
|
|
||||||
gpgpuWalker.SLMSize = params.slmSize;
|
|
||||||
gpgpuWalker.hasBarrier = params.hasBarrier;
|
|
||||||
- gpgpuWalker.inlineDataParamBase = params.inlineDataParams;
|
|
||||||
-
|
|
||||||
+ gpgpuWalker.inlineDataParamBase = params.inlineDataParamBase;
|
|
||||||
+ gpgpuWalker.inlineDataParamSize = params.inlineDataParamSize;
|
|
||||||
return MOS_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h
|
|
||||||
index 89ac89d9a5..7e6b0aa8a1 100644
|
|
||||||
--- a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h
|
|
||||||
+++ b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h
|
|
||||||
@@ -120,8 +120,8 @@ typedef struct _KERNEL_WALKER_PARAMS
|
|
||||||
|
|
||||||
bool hasBarrier;
|
|
||||||
uint32_t slmSize;
|
|
||||||
- MHW_INLINE_DATA_PARAMS inlineDataParams[MAX_INLINE_DATA_PARAMS];
|
|
||||||
- uint32_t inlineDataParamNum;
|
|
||||||
+ PMHW_INLINE_DATA_PARAMS inlineDataParamBase;
|
|
||||||
+ uint32_t inlineDataParamSize;
|
|
||||||
}KERNEL_WALKER_PARAMS, * PKERNEL_WALKER_PARAMS;
|
|
||||||
|
|
||||||
typedef struct _KERNEL_PACKET_RENDER_DATA
|
|
||||||
diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.cpp b/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.cpp
|
|
||||||
index d6630cbd5f..dbd5b12d1d 100644
|
|
||||||
--- a/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.cpp
|
|
||||||
+++ b/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.cpp
|
|
||||||
@@ -740,7 +740,7 @@ void VpRenderKernelObj::DumpSurface(VP_SURFACE* pSurface, PCCHAR fileName)
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
-MOS_STATUS VpRenderKernelObj::SetInlineDataParameter(KERNEL_WALKER_PARAMS &walkerParam, KRN_ARG args, RENDERHAL_INTERFACE *renderhal)
|
|
||||||
+MOS_STATUS VpRenderKernelObj::SetInlineDataParameter(KRN_ARG args, RENDERHAL_INTERFACE *renderhal)
|
|
||||||
{
|
|
||||||
VP_FUNC_CALL();
|
|
||||||
MHW_INLINE_DATA_PARAMS inlineDataPar = {};
|
|
||||||
@@ -762,15 +762,10 @@ MOS_STATUS VpRenderKernelObj::SetInlineDataParameter(KERNEL_WALKER_PARAMS &walke
|
|
||||||
{
|
|
||||||
inlineDataPar.isPtrType = false;
|
|
||||||
}
|
|
||||||
- if (walkerParam.inlineDataParamNum < MAX_INLINE_DATA_PARAMS)
|
|
||||||
- {
|
|
||||||
- walkerParam.inlineDataParams[walkerParam.inlineDataParamNum] = inlineDataPar;
|
|
||||||
- walkerParam.inlineDataParamNum++;
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- VP_RENDER_ASSERTMESSAGE("Exceed max inline data params!");
|
|
||||||
- }
|
|
||||||
+
|
|
||||||
+ // walkerParam.inlineDataParamBase will add m_inlineDataParams.data() in each kernel
|
|
||||||
+ // walkerParam.inlineDataParamSize will add m_inlineDataParams.size() in each kernel
|
|
||||||
+ m_inlineDataParams.push_back(inlineDataPar);
|
|
||||||
|
|
||||||
return MOS_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
\ No newline at end of file
|
|
||||||
diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.h b/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.h
|
|
||||||
index 8b9abf9dca..8d095730cd 100644
|
|
||||||
--- a/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.h
|
|
||||||
+++ b/media_softlet/agnostic/common/vp/hal/packet/vp_render_kernel_obj.h
|
|
||||||
@@ -537,7 +537,7 @@ class VpRenderKernelObj
|
|
||||||
|
|
||||||
virtual MOS_STATUS InitRenderHalSurfaceCMF(MOS_SURFACE* src, PRENDERHAL_SURFACE renderHalSurface);
|
|
||||||
|
|
||||||
- virtual MOS_STATUS SetInlineDataParameter(KERNEL_WALKER_PARAMS &walkerParam, KRN_ARG args, RENDERHAL_INTERFACE *renderhal);
|
|
||||||
+ virtual MOS_STATUS SetInlineDataParameter(KRN_ARG args, RENDERHAL_INTERFACE *renderhal);
|
|
||||||
|
|
||||||
virtual MOS_STATUS UpdateBindlessSurfaceResource(SurfaceType surf, std::set<uint32_t> surfStateOffset)
|
|
||||||
{
|
|
||||||
@@ -617,6 +617,7 @@ class VpRenderKernelObj
|
|
||||||
bool m_useIndependentSamplerGroup = false; //true means multi kernels has their own stand alone sampler states group. only can be true when m_isAdvKernel is true.
|
|
||||||
|
|
||||||
std::shared_ptr<mhw::vebox::Itf> m_veboxItf = nullptr;
|
|
||||||
+ std ::vector<MHW_INLINE_DATA_PARAMS> m_inlineDataParams = {};
|
|
||||||
|
|
||||||
MEDIA_CLASS_DEFINE_END(vp__VpRenderKernelObj)
|
|
||||||
};
|
|
Loading…
x
Reference in New Issue
Block a user