1 /*===================== begin_copyright_notice ================================== 2 3 # Copyright (c) 2020, 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_xe_hpg.h 26 //! \brief header file of DG2 hardware functions 27 //! \details Gen12 hardware functions declare 28 //! 29 #ifndef __RENDERHAL_XE_HPG_H__ 30 #define __RENDERHAL_XE_HPG_H__ 31 32 #include "renderhal_xe_hp_base.h" 33 #include "media_class_trace.h" 34 #include "mhw_render.h" 35 #include "mos_defs.h" 36 #include "mos_os_specific.h" 37 #include "renderhal.h" 38 39 class XRenderHal_Interface_Xe_Hpg : public XRenderHal_Interface_Xe_Hp_Base 40 { 41 public: XRenderHal_Interface_Xe_Hpg()42 XRenderHal_Interface_Xe_Hpg() : XRenderHal_Interface_Xe_Hp_Base() 43 { 44 45 } 46 ~XRenderHal_Interface_Xe_Hpg()47 virtual ~XRenderHal_Interface_Xe_Hpg() {} 48 49 //! 50 //! \brief Get Render Engine MMC Enable/Disable Flag 51 //! \param [in] pRenderHal 52 //! Pointer to Hardware Interface 53 //! \return MOS_STATUS 54 //! MOS_STATUS_SUCCESS if success, else fail reason 55 //! 56 virtual MOS_STATUS IsRenderHalMMCEnabled( 57 PRENDERHAL_INTERFACE pRenderHal); 58 59 //! \brief Send Compute Walker 60 //! \details Send Compute Walker 61 //! \param PRENDERHAL_INTERFACE pRenderHal 62 //! [in] Pointer to Hardware Interface Structure 63 //! \param PMOS_COMMAND_BUFFER pCmdBuffer 64 //! [in] Pointer to Command Buffer 65 //! \param PRENDERHAL_GPGPU_WALKER_PARAMS pGpGpuWalkerParams 66 //! [in] Pointer to GPGPU walker parameters 67 //! \return MOS_STATUS 68 virtual MOS_STATUS SendComputeWalker( 69 PRENDERHAL_INTERFACE pRenderHal, 70 PMOS_COMMAND_BUFFER pCmdBuffer, 71 PMHW_GPGPU_WALKER_PARAMS pGpGpuWalkerParams); 72 73 //! 74 //! \brief Initialize the State Heap Settings per platform 75 //! \param PRENDERHAL_INTERFACE pRenderHal 76 //! [out] Pointer to PRENDERHAL_INTERFACE 77 //! \return void 78 //! 79 void InitStateHeapSettings( 80 PRENDERHAL_INTERFACE pRenderHal); 81 MEDIA_CLASS_DEFINE_END(XRenderHal_Interface_Xe_Hpg) 82 }; 83 84 #endif // __RENDERHAL_XE_HPG_H__ 85