Skip to content

Commit f2e2438

Browse files
authored
Merge branch 'master' into master
2 parents b712806 + dcbbaf4 commit f2e2438

26 files changed

+939
-398
lines changed

media_common/agnostic/common/vp/hal/vp_common_defs.h

+5-2
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ enum VpKernelIDNext
197197
{
198198
vpKernelIDNextBase = 0x200,
199199
kernelHdr3DLutCalc = vpKernelIDNextBase,
200-
kernelHdr3DLutCalcL0,
200+
kernelHdr3DLutCalcOcl,
201201
kernelHVSCalc,
202202
vpKernelIDNextMax
203203
};
@@ -1074,6 +1074,8 @@ struct VPHAL_RENDER_PARAMS
10741074

10751075
bool bForceToRender = false; // Force to render to perform scaling.
10761076

1077+
HANDLE gpuAppTaskEvent; //!< GPU App task event
1078+
10771079
VPHAL_RENDER_PARAMS() : uSrcCount(0),
10781080
pSrc(),
10791081
uDstCount(0),
@@ -1096,7 +1098,8 @@ struct VPHAL_RENDER_PARAMS
10961098
pExtensionData(nullptr),
10971099
bPathKernel(false),
10981100
bUseVEHdrSfc(false),
1099-
bNonFirstFrame(false)
1101+
bNonFirstFrame(false),
1102+
gpuAppTaskEvent(nullptr)
11001103
{
11011104
}
11021105
};

media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/igvp3dlut_xe2.cpp

+302
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*
2+
* Copyright (c) 2024, Intel Corporation
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a
5+
* copy of this software and associated documentation files (the
6+
* 'Software'), to deal in the Software without restriction, including
7+
* without limitation the rights to use, copy, modify, merge, publish,
8+
* distribute, sublicense, and/or sell copies of the Software, and to
9+
* permit persons to whom the Software is furnished to do so, subject to
10+
* the following conditions:
11+
*
12+
* The above copyright notice and this permission notice shall be included
13+
* in all copies or substantial portions of the Software.
14+
*
15+
* THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS
16+
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19+
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+
*/
23+
24+
////////////////////////////////////////////////////////////////////////////////
25+
// !!! WARNING - AUTO GENERATED FILE. DO NOT EDIT DIRECTLY. !!!
26+
// Generated by KernelBinToSource.exe tool
27+
////////////////////////////////////////////////////////////////////////////////
28+
29+
#ifndef __IGVP3DLUT_XE2_H__
30+
#define __IGVP3DLUT_XE2_H__
31+
32+
#include "media_bin_mgr.h"
33+
DECLARE_SHARED_ARRAY_SIZE_UINT32(IGVP3DLUT_GENERATION_XE2_SIZE);
34+
DECLARE_SHARED_ARRAY_UINT32(IGVP3DLUT_GENERATION_XE2);
35+
36+
#if defined(MEDIA_BIN_SUPPORT)
37+
38+
#define IGVP3DLUT_GENERATION_XE2_NAME "IGVP3DLUT_XE2"
39+
40+
#if defined(MEDIA_BIN_DLL)
41+
static bool registerIGVP3DLUT_XE2 = RegisterMediaBin(IGVP3DLUT_GENERATION_XE2_NAME, IGVP3DLUT_GENERATION_XE2_SIZE, IGVP3DLUT_GENERATION_XE2);
42+
43+
#endif // defined(MEDIA_BIN_DLL)
44+
45+
#endif // defined(MEDIA_BIN_SUPPORT)
46+
47+
#if !defined(MEDIA_BIN_DLL)
48+
#include "igvp3dlut_args.h"
49+
// Following functions are always needed in media driver dll no matter media_bin_supported or not
50+
extern void AddVpNativeKernelEntryToList3dlutXe2(vp::VpPlatformInterface &vpPlatformInterface);
51+
#endif // !defined(MEDIA_BIN_DLL)
52+
53+
#endif // __IGVP3DLUT_XE2_H__

media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/igvpfc_fp_xe2.cpp

+298-291
Large diffs are not rendered by default.

media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/media_srcs.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ set(TMP_SOURCES_
3030
${CMAKE_CURRENT_LIST_DIR}/igvpfc_420PL3_output_xe2.cpp
3131
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_input_xe2.cpp
3232
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_output_xe2.cpp
33+
${CMAKE_CURRENT_LIST_DIR}/igvp3dlut_xe2.cpp
3334
)
3435

3536

@@ -42,6 +43,7 @@ set(TMP_HEADERS_
4243
${CMAKE_CURRENT_LIST_DIR}/igvpfc_420PL3_output_xe2.h
4344
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_input_xe2.h
4445
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_output_xe2.h
46+
${CMAKE_CURRENT_LIST_DIR}/igvp3dlut_xe2.h
4547
)
4648

4749
set(SOFTLET_VP_SOURCES_

media_softlet/agnostic/common/vp/hal/feature_manager/sw_filter.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1318,9 +1318,9 @@ MOS_STATUS SwFilterHdr::Configure(VP_PIPELINE_PARAMS &params, bool isInputSurf,
13181318
auto userFeatureControl = m_vpInterface.GetHwInterface()->m_userFeatureControl;
13191319
auto vpPlatformInterface = m_vpInterface.GetHwInterface()->m_vpPlatformInterface;
13201320
VpFeatureReport *vpFeatureReport = dynamic_cast<VpFeatureReport *>(m_vpInterface.GetHwInterface()->m_reporting);
1321+
m_Params.isOclKernelEnabled = userFeatureControl->EnableOcl3DLut();
13211322
#if (_DEBUG || _RELEASE_INTERNAL)
1322-
m_Params.isL0KernelEnabled = (vpPlatformInterface->IsAdvanceNativeKernelSupported() && userFeatureControl->EnableL03DLut());
1323-
vpFeatureReport->GetFeatures().isL03DLut = m_Params.isL0KernelEnabled;
1323+
vpFeatureReport->GetFeatures().isOcl3DLut = m_Params.isOclKernelEnabled;
13241324
#endif
13251325

13261326
VP_PUBLIC_CHK_NULL_RETURN(surfInput);

media_softlet/agnostic/common/vp/hal/feature_manager/sw_filter.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,7 @@ struct FeatureParamHdr : public FeatureParam
884884
uint32_t uiSplitFramePortions = 1; //!< Split Frame flag
885885
bool bForceSplitFrame = false;
886886
bool bNeed3DSampler = false; //!< indicate whether 3D should neede by force considering AVS removal etc.
887-
bool isL0KernelEnabled = false;
887+
bool isOclKernelEnabled = false;
888888

889889
HDR_PARAMS srcHDRParams = {};
890890
HDR_PARAMS targetHDRParams = {};

media_softlet/agnostic/common/vp/hal/feature_manager/vp_kernelset.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
#include "vp_render_vebox_hdr_3dlut_kernel.h"
3232
#include "vp_render_vebox_hvs_kernel.h"
3333
#include "vp_render_hdr_kernel.h"
34-
#include "vp_render_vebox_hdr_3dlut_l0_kernel.h"
34+
#include "vp_render_vebox_hdr_3dlut_ocl_kernel.h"
3535

3636
using namespace vp;
3737

@@ -149,9 +149,9 @@ MOS_STATUS VpKernelSet::CreateSingleKernelObject(
149149
}
150150
VP_RENDER_CHK_NULL_RETURN(kernel);
151151
break;
152-
case kernelHdr3DLutCalcL0:
153-
VP_RENDER_NORMALMESSAGE("HDR 3dlut kernel use l0 fillLutTable_3dlut kernel");
154-
kernel = (VpRenderKernelObj *)MOS_New(VpRenderHdr3DLutL0Kernel, m_hwInterface, m_allocator);
152+
case kernelHdr3DLutCalcOcl:
153+
VP_RENDER_NORMALMESSAGE("HDR 3dlut kernel use ocl fillLutTable_3dlut kernel");
154+
kernel = (VpRenderKernelObj *)MOS_New(VpRenderHdr3DLutOclKernel, m_hwInterface, m_allocator);
155155
VP_RENDER_CHK_NULL_RETURN(kernel);
156156
break;
157157
case kernelHVSCalc:

media_softlet/agnostic/common/vp/hal/features/kernel_args/igvpfc_fp_args.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ enum ARGS_FC_FP_FASTEXPRESS
3535
FC_FP_FASTEXPRESS_INPUTPL1,
3636
FC_FP_FASTEXPRESS_OUTPUTPL0,
3737
FC_FP_FASTEXPRESS_OUTPUTPL1,
38-
FC_FP_FASTEXPRESS_IMAGEPARAM,
38+
FC_FP_FASTEXPRESS_LAYERNUMBER,
3939
FC_FP_FASTEXPRESS_INLINE_SAMPLER_LINEAR_CLAMP_EDGE,
4040
FC_FP_FASTEXPRESS_INLINE_SAMPLER_NEAREST_CLAMP_EDGE,
41+
FC_FP_FASTEXPRESS_IMAGEPARAM,
4142
FC_FP_FASTEXPRESS_OUTPUTPARAM,
4243
FC_FP_FASTEXPRESS_PRIVATE_BASE_STATELESS,
4344
FC_FP_FASTEXPRESS_GLOBAL_SIZE,

media_softlet/agnostic/common/vp/hal/features/vp_hdr_filter.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ MOS_STATUS VpHdrFilter::Prepare()
5454
MOS_STATUS VpHdrFilter::Destroy()
5555
{
5656
VP_FUNC_CALL();
57-
for (auto &handle : m_renderHdr3DLutL0Params)
57+
for (auto &handle : m_renderHdr3DLutOclParams)
5858
{
5959
KRN_ARG &krnArg = handle.second;
6060
MOS_FreeMemAndSetNull(krnArg.pData);
@@ -116,7 +116,7 @@ MOS_STATUS VpHdrFilter::CalculateEngineParams(
116116
m_renderHdr3DLutParams.threadWidth = hdrParams.lutSize;
117117
m_renderHdr3DLutParams.threadHeight = hdrParams.lutSize;
118118

119-
if (hdrParams.isL0KernelEnabled == false)
119+
if (hdrParams.isOclKernelEnabled == false)
120120
{
121121
KRN_ARG krnArg = {};
122122
krnArg.uIndex = 0;
@@ -157,17 +157,17 @@ MOS_STATUS VpHdrFilter::CalculateEngineParams(
157157
uint32_t localDepth = 1;
158158
m_renderHdr3DLutParams.localWidth = localWidth;
159159
m_renderHdr3DLutParams.localHeight = localHeight;
160-
m_renderHdr3DLutParams.kernelId = (VpKernelID)kernelHdr3DLutCalcL0;
160+
m_renderHdr3DLutParams.kernelId = (VpKernelID)kernelHdr3DLutCalcOcl;
161161

162162
//step 1: setting curbe arguments
163163
for (auto const &kernelArg : kernelArgs)
164164
{
165165
uint32_t uIndex = kernelArg.uIndex;
166-
auto argHandle = m_renderHdr3DLutL0Params.find(uIndex);
167-
if (argHandle == m_renderHdr3DLutL0Params.end())
166+
auto argHandle = m_renderHdr3DLutOclParams.find(uIndex);
167+
if (argHandle == m_renderHdr3DLutOclParams.end())
168168
{
169169
KRN_ARG krnArg = {};
170-
argHandle = m_renderHdr3DLutL0Params.emplace(uIndex, krnArg).first;
170+
argHandle = m_renderHdr3DLutOclParams.emplace(uIndex, krnArg).first;
171171
VP_PUBLIC_CHK_NOT_FOUND_RETURN(argHandle, &m_renderHdr3DLutL0Params);
172172
}
173173
KRN_ARG &krnArg = argHandle->second;

media_softlet/agnostic/common/vp/hal/features/vp_hdr_filter.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ class VpHdrFilter : public VpFilter
243243
VEBOX_HDR_PARAMS m_veboxHdrParams = {};
244244
RENDER_HDR_3DLUT_CAL_PARAMS m_renderHdr3DLutParams = {};
245245
RENDER_HDR_PARAMS m_renderHdrParams = {};
246-
KERNEL_INDEX_ARG_MAP m_renderHdr3DLutL0Params = {};
246+
KERNEL_INDEX_ARG_MAP m_renderHdr3DLutOclParams = {};
247247
SwFilterPipe *m_executedPipe = nullptr;
248248

249249
SurfaceType m_surfType3DLut = SurfaceType3DLut;

0 commit comments

Comments
 (0)