Skip to content

Commit

Permalink
[VP] 422HV driver integrate
Browse files Browse the repository at this point in the history
422HV driver integrate。
  • Loading branch information
jiafengy1 authored and intel-mediadev committed Nov 5, 2024
1 parent 09f7a58 commit 2c51f70
Show file tree
Hide file tree
Showing 16 changed files with 821 additions and 76 deletions.
1 change: 1 addition & 0 deletions media_common/agnostic/common/vp/hal/vp_common_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ enum VpKernelID
kernelOclFc444PL3Output,
kernelOclFc420PL3Input,
kernelOclFc420PL3Output,
kernelOclFc422HVInput,
baseKernelMaxNumID
};

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
/*
* Copyright (c) 2024, Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* 'Software'), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

////////////////////////////////////////////////////////////////////////////////
// !!! WARNING - AUTO GENERATED FILE. DO NOT EDIT DIRECTLY. !!!
// Generated by KernelBinToSource.exe tool
////////////////////////////////////////////////////////////////////////////////

#if !defined(MEDIA_BIN_DLL)
#include "vp_platform_interface.h"
#include "vp_render_common.h"
#endif
#include "igvpfc_422HV_input_xe2.h"

#if defined(MEDIA_BIN_SUPPORT) && !defined(MEDIA_BIN_DLL)

unsigned int IGVPFC_422HV_INPUT_GENERATION_XE2_SIZE = 0;
unsigned int *IGVPFC_422HV_INPUT_GENERATION_XE2 = nullptr;
static bool getIGVPFC_422HV_INPUT_XE2 = LoadMediaBin(IGVPFC_422HV_INPUT_GENERATION_XE2_NAME, &IGVPFC_422HV_INPUT_GENERATION_XE2_SIZE, &IGVPFC_422HV_INPUT_GENERATION_XE2);

#endif // defined(MEDIA_BIN_SUPPORT) && !defined(MEDIA_BIN_DLL)

#if !defined(MEDIA_BIN_DLL)
void AddVpNativeKernelEntryToListFc_422hv_inputXe2(vp::VpPlatformInterface &vpPlatformInterface)
{
vp::KRN_ARG IMAGEREAD_CURBE[] =
{
{FC_422HV_INPUT_IMAGEREAD_WIDTHUV, 0, 0, 4, vp::ARG_KIND_GENERAL, false, vp::AddressingModeStateful},
{FC_422HV_INPUT_IMAGEREAD_HEIGHTUV, 4, 0, 4, vp::ARG_KIND_GENERAL, false, vp::AddressingModeStateful},
{FC_422HV_INPUT_IMAGEREAD_INPUTINDEX, 8, 0, 4, vp::ARG_KIND_GENERAL, false, vp::AddressingModeStateful},
{FC_422HV_INPUT_IMAGEREAD_OUTPUTINDEX, 16, 0, 16, vp::ARG_KIND_GENERAL, false, vp::AddressingModeStateful},
{FC_422HV_INPUT_IMAGEREAD_ENQUEUED_LOCAL_SIZE, 32, 0, 12, vp::ARG_KIND_GENERAL, false, vp::AddressingModeStateful},
{FC_422HV_INPUT_IMAGEREAD_GLOBAL_ID_OFFSET, 0, 0, 12, vp::ARG_KIND_INLINE},
{FC_422HV_INPUT_IMAGEREAD_LOCAL_SIZE, 12, 0, 12, vp::ARG_KIND_INLINE},
};

vp::KRN_EXECUTE_ENV IMAGEREAD_PARAM =
{
0, //barrier_count
true, //disable_mid_thread_preemption
128, //grf_count
false, //has_global_atomics
true, //has_no_stateless_write
32, //inline_data_payload_size
192, //offset_to_skip_per_thread_data_load
32, //simd_size
true, //subgroup_independent_forward_progress
8, //eu_thread_count
false, //has_fence_for_image_access
false, //has_sample
true, //has_4gb_buffers
{ 0, 0, 0 }, //work_group_walk_order_dimensions
0, //private_size
0 //slm_size
};

vp::KRN_BTI IMAGEREAD_BTI[] =
{
{FC_422HV_INPUT_IMAGEREAD_INPUTPLANE0, 0},
{FC_422HV_INPUT_IMAGEREAD_INPUTPLANE1, 1},
{FC_422HV_INPUT_IMAGEREAD_INPUTPLANE2, 2},
{FC_422HV_INPUT_IMAGEREAD_OUTPUTPLANE0, 3},
{FC_422HV_INPUT_IMAGEREAD_OUTPUTPLANE1, 4},
};

vpPlatformInterface.InitVpDelayedNativeAdvKernel((uint32_t *)((uint8_t *)IGVPFC_422HV_INPUT_GENERATION_XE2 + 0), 2496, IMAGEREAD_CURBE, 7, 44, IMAGEREAD_PARAM, IMAGEREAD_BTI, 5, "ImageRead_fc_422HV_input");

}
#endif

#if !defined(MEDIA_BIN_SUPPORT) || defined(MEDIA_BIN_DLL)
DEFINE_SHARED_ARRAY_SIZE_UINT32(IGVPFC_422HV_INPUT_GENERATION_XE2_SIZE, 2496);
extern const unsigned int IGVPFC_422HV_INPUT_GENERATION_XE2[] =
{
0x80100061, 0x7f054220, 0x00000000, 0x00000000, 0x80000065, 0x7f258220, 0x02000004, 0xffffffc0,
0x80000065, 0x7f058110, 0x01000024, 0x00ff00ff, 0x80001a40, 0x7f258220, 0x02007f24, 0x00000040,
0x80001940, 0x7f258220, 0x02007f24, 0x00000000, 0x8000195b, 0x7f048220, 0x01017f24, 0x00c07f04,
0x800c0061, 0x04050220, 0x00100104, 0x00000000, 0x80012031, 0x01140000, 0xfa007f8f, 0xf6780003,
0x8000c131, 0x030c0800, 0xfa007f8f, 0xf6740003, 0x00000060, 0x00000000, 0x00000000, 0x00000000,
0x00000060, 0x00000000, 0x00000000, 0x00000000, 0x00000060, 0x00000000, 0x00000000, 0x00000000,
0x3c8ca101, 0x00100000, 0x8000a065, 0x7f058220, 0x02000004, 0xffffffc0, 0x80001940, 0x7f058220,
0x02007f04, 0x00000000, 0x80032231, 0x050c0000, 0xfa007f8f, 0xf6740003, 0x2c240061, 0x00100049,
0x80000966, 0x80018220, 0x02008000, 0x400004c0, 0x80032241, 0x20010660, 0x01000584, 0x00004914,
0xac848153, 0x49430503, 0x80000041, 0x20010660, 0x01000594, 0x00004964, 0xac840053, 0x49ff0506,
0x00156052, 0x61040660, 0x010e0304, 0x04040104, 0x00141a52, 0x66040660, 0x010e0604, 0x04140204,
0x00172331, 0x08440000, 0x20006114, 0x01686614, 0x28200061, 0x00106139, 0x28200061, 0x0010663b,
0x00148365, 0x14058660, 0x06100c04, 0x807fffff, 0x00541970, 0x29050660, 0x16101404, 0x00100c04,
0x00140065, 0x10058660, 0x06100804, 0x807fffff, 0x80540070, 0x00018660, 0x15000524, 0x00010001,
0x00140065, 0x12058660, 0x06100a04, 0x807fffff, 0x00d41b70, 0x21050660, 0x16101004, 0x00100804,
0x00140065, 0x16058660, 0x06100e04, 0x807fffff, 0x00941b70, 0x25050660, 0x16101204, 0x00100a04,
0x00140065, 0x19058660, 0x06100804, 0x80000000, 0xec840061, 0x0010314a, 0x80940070, 0x00018660,
0x15000524, 0x00000000, 0x00141d70, 0x2d050660, 0x16101604, 0x00100e04, 0x00140065, 0x1b058660,
0x06100a04, 0x80000000, 0x00141d6b, 0x23040228, 0xd28a2104, 0x08051904, 0xfc841d61, 0x00104a30,
0x00141b6b, 0x27040228, 0xd28a2504, 0x0a051b04, 0x04941b62, 0x20018aa0, 0x0a102304, 0x00000000,
0x00140065, 0x1d058660, 0x06100c04, 0x80000000, 0x80541170, 0x00018660, 0x15000524, 0x00020002,
0x04141b62, 0x20010aa0, 0x0a102704, 0x00102000, 0x00140065, 0x1f058660, 0x06100e04, 0x80000000,
0x00141b6b, 0x2b040228, 0xd28a2904, 0x0c051d04, 0x80141170, 0x00018660, 0x15000524, 0x00030003,
0x00d40070, 0x00010220, 0x52106604, 0x00000514, 0x00141c6b, 0x2f040228, 0xd28a2d04, 0x0e051f04,
0x04541c62, 0x20010aa0, 0x0a102b04, 0x00102000, 0x04141962, 0x20010aa0, 0x0a102f04, 0x00102000,
0x04d41170, 0x00010220, 0x52106104, 0x00000504, 0x00140061, 0x31050aa0, 0x00102000, 0x00000000,
0x00140061, 0x33050aa0, 0x00102000, 0x00000000, 0x00140061, 0x35050aa0, 0x00102000, 0x00000000,
0x00140061, 0x37050aa0, 0x00102000, 0x00000000, 0x00162431, 0x00000000, 0xda0c39a7, 0x043c3144,
0x14d4002e, 0x0000c000, 0x00000570, 0x00000570, 0x0014c531, 0x06440000, 0x20026114, 0x01686614,
0x68840065, 0x00340516, 0x0014c631, 0x0e440000, 0x20046114, 0x01686614, 0x80d41970, 0x00018660,
0x15001604, 0x00010001, 0x80000065, 0x17058660, 0x05000554, 0x00030003, 0xec840061, 0x0010331e,
0x80d41a70, 0x00018660, 0x15001704, 0x00010001, 0x68840065, 0x003c0518, 0xec840061, 0x0010331f,
0x80d41a70, 0x00018660, 0x15001804, 0x00010001, 0x80000065, 0x19058660, 0x05000574, 0x00030003,
0xec840061, 0x00103320, 0x80d41a70, 0x00018660, 0x15001904, 0x00010001, 0xec840061, 0x00103321,
0x80d40070, 0x00018660, 0x15001604, 0x00020002, 0xec840061, 0x00103322, 0x80d40070, 0x00018660,
0x15001704, 0x00020002, 0xec840061, 0x00103323, 0x80d40070, 0x00018660, 0x15001804, 0x00020002,
0xec840061, 0x00103324, 0x80d40070, 0x00018660, 0x15001904, 0x00020002, 0xec840061, 0x00103325,
0x80d40070, 0x00018660, 0x15001604, 0x00030003, 0xec840061, 0x00103326, 0x80d40070, 0x00018660,
0x15001704, 0x00030003, 0xec840061, 0x00103327, 0x80d40070, 0x00018660, 0x15001804, 0x00030003,
0xec840061, 0x00103328, 0x80d40070, 0x00018660, 0x15001904, 0x00030003, 0x00148565, 0x2a058660,
0x06100604, 0x807fffff, 0xec840061, 0x00103329, 0x00d41a70, 0x4d050660, 0x16102a04, 0x00100604,
0x00140065, 0x2c058660, 0x06100804, 0x807fffff, 0xec840061, 0x0010334f, 0x00d41a70, 0x50050660,
0x16102c04, 0x00100804, 0x00148665, 0x2e058660, 0x06100e04, 0x807fffff, 0xec840061, 0x00103352,
0x00d41a70, 0x53050660, 0x16102e04, 0x00100e04, 0x0014a465, 0x33058660, 0x06100a04, 0x807fffff,
0xec840061, 0x00103355, 0x00d41a70, 0x56050660, 0x16103304, 0x00100a04, 0x00140065, 0x31058660,
0x06100604, 0x80000000, 0x00140065, 0x39058660, 0x06100e04, 0x80000000, 0x00141a6b, 0x59040228,
0xd28a4d04, 0x06053104, 0x00140065, 0x37058660, 0x06100804, 0x80000000, 0xec840061, 0x00103358,
0x00141c6b, 0x5d040228, 0xd28a5304, 0x0e053904, 0xfc840061, 0x00104a33, 0x00140065, 0x35058660,
0x06101004, 0x807fffff, 0x04941e62, 0x20018aa0, 0x0a105904, 0x00000000, 0x00140065, 0x43058660,
0x06101404, 0x807fffff, 0x00141e6b, 0x5b040228, 0xd28a5004, 0x08053704, 0x04941d62, 0x22018aa0,
0x0a105d04, 0x00000000, 0x00140065, 0x3b058660, 0x06100c04, 0x807fffff, 0x00140065, 0x3f058660,
0x06100a04, 0x80000000, 0x00940970, 0x64050660, 0x16103504, 0x00101004, 0x04d41c62, 0x20010aa0,
0x0a105b04, 0x00102000, 0x00941170, 0x70050660, 0x16104304, 0x00101404, 0x00140065, 0x3d058660,
0x06101204, 0x807fffff, 0x00140065, 0x41058660, 0x06101004, 0x80000000, 0x00141d6b, 0x5f040228,
0xd28a5604, 0x0a053f04, 0x00d40070, 0x68050660, 0x16103b04, 0x00100c04, 0xfc840061, 0x00104a32,
0x00140065, 0x45058660, 0x06100c04, 0x80000000, 0x00141d6b, 0x6c040228, 0xd28a6404, 0x10054104,
0x04541d62, 0x20010aa0, 0x0a105f04, 0x00102000, 0x00d41170, 0x6a050660, 0x16103d04, 0x00101204,
0x00140065, 0x47058660, 0x06101204, 0x80000000, 0x00141c6b, 0x6e040228, 0xd28a6804, 0x0c054504,
0x04941c62, 0x22010aa0, 0x0a106c04, 0x00102200, 0xfc841161, 0x00101e33, 0x00141b6b, 0x72040228,
0xd28a6a04, 0x12054704, 0x04141b62, 0x20010aa0, 0x0a106e04, 0x00102000, 0x04541962, 0x22010aa0,
0x0a107204, 0x00102200, 0xfc841161, 0x00101f32, 0x04d40062, 0x76058aa0, 0x0a102000, 0x00000000,
0xfc841161, 0x00102031, 0xfc840061, 0x00102133, 0x00140065, 0x4b058660, 0x06101404, 0x80000000,
0x04940062, 0x01058aa0, 0x0a102000, 0x00000000, 0x0014196b, 0x74040228, 0xd28a7004, 0x14054b04,
0x04540062, 0x03058aa0, 0x0a102000, 0x00000000, 0x04d40062, 0x05058aa0, 0x0a102000, 0x00000000,
0xfc841161, 0x00102232, 0x04141a62, 0x22010aa0, 0x0a107404, 0x00102200, 0xfc841161, 0x00102331,
0xfc840061, 0x00102430, 0xfc840061, 0x00102533, 0x04940062, 0x20010aa0, 0x0a102200, 0x00107604,
0x04540062, 0x07050aa0, 0x0a102200, 0x00100104, 0x04140062, 0x09050aa0, 0x0a102200, 0x00100304,
0x04d40062, 0x22010aa0, 0x0a102200, 0x00100504, 0xfc841161, 0x00102632, 0xfc840061, 0x00102731,
0xfc840061, 0x00102830, 0xfc840061, 0x00102933, 0x28200061, 0x0010611a, 0x28200061, 0x0010661c,
0x14940062, 0x0b058aa0, 0x0a102000, 0x00000000, 0x14540062, 0x0d058aa0, 0x0a100704, 0x00000000,
0x14140062, 0x0f058aa0, 0x0a100904, 0x00000000, 0x14d40062, 0x11058aa0, 0x0a102200, 0x00000000,
0x00162731, 0x00000000, 0xda0c1aa4, 0x043c0b45, 0x0014002f, 0x00004000, 0x00000000, 0x00000010,
0x28100061, 0x0010497f, 0x80022031, 0x00000004, 0x30207f0c, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
};
#endif // !defined(MEDIA_BIN_SUPPORT) || defined(MEDIA_BIN_DLL)
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Copyright (c) 2024, Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* 'Software'), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

////////////////////////////////////////////////////////////////////////////////
// !!! WARNING - AUTO GENERATED FILE. DO NOT EDIT DIRECTLY. !!!
// Generated by KernelBinToSource.exe tool
////////////////////////////////////////////////////////////////////////////////

#ifndef __IGVPFC_422HV_INPUT_XE2_H__
#define __IGVPFC_422HV_INPUT_XE2_H__

#include "media_bin_mgr.h"
DECLARE_SHARED_ARRAY_SIZE_UINT32(IGVPFC_422HV_INPUT_GENERATION_XE2_SIZE);
DECLARE_SHARED_ARRAY_UINT32(IGVPFC_422HV_INPUT_GENERATION_XE2);

#if defined(MEDIA_BIN_SUPPORT)

#define IGVPFC_422HV_INPUT_GENERATION_XE2_NAME "IGVPFC_422HV_INPUT_XE2"

#if defined(MEDIA_BIN_DLL)
static bool registerIGVPFC_422HV_INPUT_XE2 = RegisterMediaBin(IGVPFC_422HV_INPUT_GENERATION_XE2_NAME, IGVPFC_422HV_INPUT_GENERATION_XE2_SIZE, IGVPFC_422HV_INPUT_GENERATION_XE2);

#endif // defined(MEDIA_BIN_DLL)

#endif // defined(MEDIA_BIN_SUPPORT)

#if !defined(MEDIA_BIN_DLL)
#include "igvpfc_422HV_input_args.h"
// Following functions are always needed in media driver dll no matter media_bin_supported or not
extern void AddVpNativeKernelEntryToListFc_422hv_inputXe2(vp::VpPlatformInterface &vpPlatformInterface);
#endif // !defined(MEDIA_BIN_DLL)

#endif // __IGVPFC_422HV_INPUT_XE2_H__
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpfc_420PL3_output_xe2.cpp
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_input_xe2.cpp
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_output_xe2.cpp
${CMAKE_CURRENT_LIST_DIR}/igvpfc_422HV_input_xe2.cpp
${CMAKE_CURRENT_LIST_DIR}/igvp3dlut_xe2.cpp
)

Expand All @@ -43,6 +44,7 @@ set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpfc_420PL3_output_xe2.h
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_input_xe2.h
${CMAKE_CURRENT_LIST_DIR}/igvpfc_444PL3_output_xe2.h
${CMAKE_CURRENT_LIST_DIR}/igvpfc_422HV_input_xe2.h
${CMAKE_CURRENT_LIST_DIR}/igvp3dlut_xe2.h
)

Expand Down
5 changes: 5 additions & 0 deletions media_softlet/agnostic/common/renderhal/renderhal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4292,6 +4292,11 @@ MOS_STATUS RenderHal_GetPlaneDefinitionForCommonMessage(
case Format_RGBP:
case Format_BGRP:
case Format_444P:
case Format_422H:
case Format_422V:
case Format_411P:
case Format_R8UN:
case Format_R8G8UN:
//already handled rightly in normal non-adv GetPlaneDefinition
break;
case Format_YV12:
Expand Down
Loading

0 comments on commit 2c51f70

Please sign in to comment.