1 /*===================== begin_copyright_notice ================================== 2 3 * Copyright (c) 2024, Intel Corporation 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a 6 * copy of this software and associated documentation files (the "Software"), 7 * to deal in the Software without restriction, including without limitation 8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 * and/or sell copies of the Software, and to permit persons to whom the 10 * Software is furnished to do so, subject to 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 MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 19 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 21 * OTHER DEALINGS IN THE SOFTWARE. 22 23 ======================= end_copyright_notice ==================================*/ 24 //! 25 //! \file renderhal_xe2_hpg_next.h 26 //! \brief header file of xe_hpg hardware functions 27 //! \details Gen12 hardware functions declare 28 //! 29 #ifndef __RENDERHAL_XE2_HPG_NEXT_H__ 30 #define __RENDERHAL_XE2_HPG_NEXT_H__ 31 32 #include "renderhal_xe_hpg_base.h" 33 34 class XRenderHal_Interface_Xe2_Hpg_Next : public XRenderHal_Interface_Xe_Hpg_Base 35 { 36 public: XRenderHal_Interface_Xe2_Hpg_Next()37 XRenderHal_Interface_Xe2_Hpg_Next() : XRenderHal_Interface_Xe_Hpg_Base() 38 { 39 40 } 41 ~XRenderHal_Interface_Xe2_Hpg_Next()42 virtual ~XRenderHal_Interface_Xe2_Hpg_Next() {} 43 44 //! 45 //! \brief Get Render Engine MMC Enable/Disable Flag. Actually the same as Xe_HPG 46 //! \param [in] pRenderHal 47 //! Pointer to Hardware Interface 48 //! \return MOS_STATUS 49 //! MOS_STATUS_SUCCESS if success, else fail reason 50 //! 51 virtual MOS_STATUS IsRenderHalMMCEnabled( 52 PRENDERHAL_INTERFACE pRenderHal); 53 54 //! \brief Send To 3DState Binding Table Pool Alloc 55 //! \details Send To 3DState Binding Table Pool Alloc 56 //! \param PRENDERHAL_INTERFACE pRenderHal 57 //! [in] Pointer to RenderHal Interface Structure 58 //! \param PMOS_COMMAND_BUFFER pCmdBuffer 59 //! [in] Pointer to Command Buffer 60 //! \return MOS_STATUS 61 virtual MOS_STATUS SendTo3DStateBindingTablePoolAlloc( 62 PRENDERHAL_INTERFACE pRenderHal, 63 PMOS_COMMAND_BUFFER pCmdBuffer); 64 IsL8FormatSupported()65 virtual bool IsL8FormatSupported() 66 { 67 return false; 68 } 69 70 //! 71 //! \brief Initialize the State Heap Settings per platform 72 //! \param PRENDERHAL_INTERFACE pRenderHal 73 //! [out] Pointer to PRENDERHAL_INTERFACE 74 //! \return void 75 //! 76 virtual void InitStateHeapSettings( 77 PRENDERHAL_INTERFACE pRenderHal) override; 78 79 MEDIA_CLASS_DEFINE_END(XRenderHal_Interface_Xe2_Hpg_Next) 80 }; 81 82 #endif // __RENDERHAL_XE_HPG_NEXT_H__ 83