Fixed crash issue if no link file binary data for shader.
Signed-off-by: Furong Zhang <furong.zhang@intel.com>
diff --git a/media_driver/agnostic/common/vp/hal/vphal_common.h b/media_driver/agnostic/common/vp/hal/vphal_common.h
index d242e47..67e8241 100644
--- a/media_driver/agnostic/common/vp/hal/vphal_common.h
+++ b/media_driver/agnostic/common/vp/hal/vphal_common.h
@@ -546,7 +546,7 @@
typedef enum _VPHAL_SCALING_PREFERENCE
{
- VPHAL_SCALING_PREFER_SFC, // SFC is default
+ VPHAL_SCALING_PREFER_SFC = 0, // SFC is default
VPHAL_SCALING_PREFER_COMP, // For Gen9/10, Composition AVS get better quality than SFC AVS
VPHAL_SCALING_PREFER_SFC_FOR_VEBOX // if VEBOX is required, use VEBOX + SFC, otherwise use Composistion
} VPHAL_SCALING_PREFERENCE;
diff --git a/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp b/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp
index 713e987..d7b6d16 100644
--- a/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp
+++ b/media_driver/agnostic/common/vp/hal/vphal_renderer.cpp
@@ -1420,6 +1420,7 @@
m_modifyKdllFunctionPointers);
if (!pKernelDllState)
{
+ eStatus = MOS_STATUS_NULL_POINTER;
VPHAL_RENDER_ASSERTMESSAGE("Failed to allocate KDLL state.");
goto finish;
}
diff --git a/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c b/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c
index 5baec43..b763eaf 100644
--- a/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c
+++ b/media_driver/agnostic/common/vp/kdll/hal_kerneldll.c
@@ -3347,7 +3347,8 @@
// Get link file binary data
pLinkHeader = (Kdll_LinkFileHeader *) pCacheEntry[IDR_VP_LinkFile].pBinary;
- if (pLinkHeader->dwVersion != IDR_VP_LINKFILE_VERSION ||
+ if (pLinkHeader == nullptr ||
+ pLinkHeader->dwVersion != IDR_VP_LINKFILE_VERSION ||
sizeof(Kdll_LinkFileHeader) != IDR_VP_LINKFILE_HEADER)
{
VPHAL_RENDER_ASSERTMESSAGE("Invalid link file version.");