package/intel-mediadriver: bump version to 24.3.0

Added upstream fix for build issues with GCC 14.x.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Bernd Kuhls 2024-07-25 23:28:03 +02:00 committed by Thomas Petazzoni
parent 5226e5f664
commit 51aaee73f3
3 changed files with 144 additions and 2 deletions

View File

@ -0,0 +1,142 @@
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
Upstream: https://github.com/intel/media-driver/commit/47bae3c809c9f5b11793b76b5edfd7704adb4080
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
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)
};

View File

@ -1,3 +1,3 @@
# Locally computed
sha256 dec2210c1f824a721e4ea6f66f5899e300801b3e7fae232d3f8a94db38c2edd1 intel-media-24.2.5.tar.gz
sha256 b6728607e4d05739bce27124605993011b468781043ce34bb1a51919196f2d15 intel-media-24.3.0.tar.gz
sha256 74979d5aaee78b8da82e3aafd415a216b6131dfff6d95d6930927c8a4e3bded3 LICENSE.md

View File

@ -6,7 +6,7 @@
# based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack
INTEL_MEDIADRIVER_VERSION = 24.2.5
INTEL_MEDIADRIVER_VERSION = 24.3.0
INTEL_MEDIADRIVER_SITE = https://github.com/intel/media-driver/archive
INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz
INTEL_MEDIADRIVER_LICENSE = MIT, BSD-3-Clause