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.");