@@ -244,6 +244,9 @@ MOS_STATUS VpRenderHdr3DLutOclKernel::Init(VpRenderKernel &kernel)
244244
245245 m_curbeSize = kernel.GetCurbeSize ();
246246
247+ m_curbeResourceList.clear ();
248+ m_inlineResourceList.clear ();
249+
247250 return MOS_STATUS_SUCCESS;
248251}
249252
@@ -315,8 +318,9 @@ MOS_STATUS VpRenderHdr3DLutOclKernel::GetCurbeState(void *&curbe, uint32_t &curb
315318 }
316319 else if (arg.eArgKind == ARG_KIND_SURFACE)
317320 {
318- if (arg.addressMode == AddressingModeStateless && arg. pData != nullptr )
321+ if (arg.addressMode == AddressingModeStateless)
319322 {
323+ VP_PUBLIC_CHK_NULL_RETURN (arg.pData )
320324 VP_PUBLIC_CHK_NULL_RETURN (m_surfaceGroup);
321325 SurfaceType surfType = *((SurfaceType *)arg.pData );
322326 auto it = m_surfaceGroup->find (surfType);
@@ -377,9 +381,9 @@ MOS_STATUS VpRenderHdr3DLutOclKernel::GetInlineData(uint8_t *inlineData)
377381 {
378382 if (arg.eArgKind == ARG_KIND_INLINE)
379383 {
380- if (arg.pData != nullptr )
384+ if (arg.addressMode == AddressingModeStateless )
381385 {
382- if (arg.addressMode == AddressingModeStateless )
386+ if (arg.pData != nullptr )
383387 {
384388 VP_PUBLIC_CHK_NULL_RETURN (m_surfaceGroup);
385389 SurfaceType surfType = *((SurfaceType *)arg.pData );
@@ -394,18 +398,24 @@ MOS_STATUS VpRenderHdr3DLutOclKernel::GetInlineData(uint8_t *inlineData)
394398 params.resource = &surface->osSurface ->OsResource ;
395399 params.stateOffset = arg.uOffsetInPayload ;
396400 m_inlineResourceList.push_back (params);
397- VP_RENDER_NORMALMESSAGE (" Setting Stateless Inline Data Statelss Surface KernelID %d, index %d , surfType %d, argKind %d" , m_kernelId, arg.uIndex , *(uint32_t *)arg.pData , arg.eArgKind );
401+ VP_RENDER_NORMALMESSAGE (" Setting Stateless Inline Data Statelss Surface KernelID %d, index %d , surfType %d, argKind %d" , m_kernelId, arg.uIndex , *(uint32_t *)arg.pData , arg.eArgKind );
398402 }
399403 else
400404 {
401- MOS_SecureMemcpy (inlineData + arg.uOffsetInPayload , arg.uSize , arg.pData , arg.uSize );
402- VP_RENDER_NORMALMESSAGE (" Setting Inline Data KernelID %d, index %d , value %d, argKind %d" , m_kernelId, arg.uIndex , *(uint32_t *)arg.pData , arg.eArgKind );
405+ VP_RENDER_ASSERTMESSAGE (" KernelID %d, index %d, argKind %d Stateless Surface is empty" , m_kernelId, arg.uIndex , arg.eArgKind );
403406 }
404-
405407 }
406408 else
407409 {
408- VP_RENDER_NORMALMESSAGE (" KernelID %d, index %d, argKind %d is empty" , m_kernelId, arg.uIndex , arg.eArgKind );
410+ if (arg.pData != nullptr )
411+ {
412+ MOS_SecureMemcpy (inlineData + arg.uOffsetInPayload , arg.uSize , arg.pData , arg.uSize );
413+ VP_RENDER_NORMALMESSAGE (" Setting Inline Data KernelID %d, index %d , value %d, argKind %d" , m_kernelId, arg.uIndex , *(uint32_t *)arg.pData , arg.eArgKind );
414+ }
415+ else
416+ {
417+ VP_RENDER_NORMALMESSAGE (" KernelID %d, index %d, argKind %d is empty" , m_kernelId, arg.uIndex , arg.eArgKind );
418+ }
409419 }
410420 }
411421 }
0 commit comments