| /* |
| * Copyright (c) 2009-2017, 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. |
| */ |
| //! |
| //! \file mos_util_user_feature_keys.h |
| //! \brief Definition of user feature keys |
| //! \details Definition of user feature keys |
| //! including Codec, VP, and MOS user feature keys |
| //! |
| |
| #ifndef __MOS_UTIL_USER_FEATURE_KEYS_H__ |
| #define __MOS_UTIL_USER_FEATURE_KEYS_H__ |
| |
| #include "mos_defs.h" |
| #include "mos_util_user_feature_keys_specific.h" |
| |
| #define __MEDIA_USER_FEATURE_VALUE_DECODE_LOCK_DISABLE "Disable Decode Lock" |
| |
| //! |
| //! \brief User feature key for enabling MemNinja Release feature that uses counter value to determine mem leak |
| //! \details 1. MemNinja Counter - Driver reports the sum of internal counters MosMemAllocCounter and |
| //! MosMemAllocCounterGfx when test completes to this User feature key. Test application checks this value. |
| //! If MemNinjaCounter != 0, test app can flag test as fail. |
| //! |
| #define __MEDIA_USER_FEATURE_VALUE_MEMNINJA_COUNTER "MemNinja Counter" |
| |
| //! |
| //! \brief User feature key to override the number of Slices/Sub-slices/EUs to suhutdown |
| //! \details Same setting will apply to all command buffer submissions |
| //! Byte0 is for num Slices. Byte1 is for num Sub-slices. Bytes 2 and 3 are for num EUs |
| //! 31________________________________16_15______________8_7____________0 |
| //! | | | | |
| //! | Num EUs | Num Sub-Slices | Num Slices | |
| //! |___________________________________|_________________|_____________| |
| //! |
| #define __MEDIA_USER_FEATURE_VALUE_SSEU_SETTING_OVERRIDE "SSEU Setting Override" |
| |
| //! |
| //! \brief Keys for Media Processing |
| //! |
| #define __MEDIA_USER_FEATURE_VALUE_VDI_MODE "VDI Mode" |
| #define __MEDIA_USER_FEATURE_VALUE_MEDIA_WALKER_MODE "Media Walker Mode" |
| #define __MEDIA_USER_FEATURE_VALUE_CSC_COEFF_PATCH_MODE_DISABLE "CSC Patch Mode Disable" |
| |
| #if (_DEBUG || _RELEASE_INTERNAL) |
| //! |
| //! \brief ISA ASM Debug Enable and Debug Surface BTI |
| //! |
| #define __MEDIA_USER_FEATURE_VALUE_ISA_ASM_DEBUG_ENABLE "IsaAsm Debug Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_ISA_ASM_DEBUG_SURF_BTI "IsaAsm Debug Surf BT Index" |
| |
| //! |
| //! \brief MediaSolo user feature keys |
| //! |
| #define __MEDIA_USER_FEATURE_VALUE_MEDIASOLO_ENABLE "MediaSolo Enable" |
| |
| //! |
| //! \brief enable Huc based DRM for CHV |
| //! |
| #define __MEDIA_USER_FEATURE_VALUE_HUC_DRM_ENABLE "HuC DRM Enable" //!< 0: Disable, Others: enable |
| |
| #endif // (_DEBUG || _RELEASE_INTERNAL) |
| |
| // ! |
| // ! \brief User feature key for Split-Screen Demo Mode |
| // ! |
| #define __MEDIA_USER_FEATURE_VALUE_SPLIT_SCREEN_DEMO_POSITION "Split-Screen Demo Position" |
| #define __MEDIA_USER_FEATURE_VALUE_SPLIT_SCREEN_DEMO_PARAMETERS "Split-Screen Demo Parameters" |
| |
| //! |
| //! \brief User feature keys to define debug message levels and assertions. |
| //! |
| |
| #if MOS_MESSAGES_ENABLED |
| |
| //! |
| //! \brief Message level and assert flag for each component and its sub-components. |
| //! For each component, prints and asserts can be enabled/disabled by a single key (3 bits for level, 1 bit for assert). |
| //! The second key determines behavior of sub-components (3 bits for level, 1 bit for assert). |
| //! A message will be printed iff |
| //! 1. "Message Print Enabled" is on, |
| //! 2. The component level is right and |
| //! 3. The sub-component level is right. |
| //! An assert will trigger iff asserts are enabled both for component and sub-component. |
| |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_HLT_ENABLED "Message HLT Enabled" |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_HLT_OUTPUT_DIRECTORY "Message HLT Output Directory" |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_PRINT_ENABLED "Message Print Enabled" |
| |
| //! |
| //! \brief Message level and assert flag for each component is set through the user feature keys |
| //! "Mos Message Tags", "Codec Message Tags", "VP Message Tags", |
| //! "CP Message Tags", "DDI Message Tags" and "CM Message Tags" |
| //! 3 bits for level, 1 bit for assert on/off per sub-component. |
| //! Each component has to create a separate key for its sub-comps. |
| //! |
| //! 31____________________________________________________________________________3__________0 |
| //! | | |Asrt|level| |
| //! |________________________________|__________|__________|__________|__________|__________| |
| //! |
| |
| //! |
| //! \brief User feature keys for component MOS: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_OS_TAG "Mos Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_OS "Mos Tags By Sub Component" |
| //! |
| //! \brief 63____________________________________________________________________________3__________0 |
| //! | | Self | |
| //! | Reserved (HLT can be added as a sub-comp of MOS) |Asrt|level| |
| //! |____________________________________________________________________________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_OS_TAG "Mos Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component CODEC: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_CODEC_TAG "Codec Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_CODEC "Codec Tags By Sub Component" |
| //! |
| //! \brief Message level and assert flag for each sub-comp of CodecHal set through this user feature key |
| //! 3 bits for level, 1 bit for assert on/off per sub-component. |
| //! Each component has to create a separate key for its sub-comps. |
| //! |
| //! 63___________________24_23______20_19______16_15______12_11_______8_7________4_3_________0 |
| //! | | Debug | Public | HW | Encode | Decode | DDI | |
| //! | Reserved |Asrt|level|Asrt|level|Asrt|level|Asrt|level|Asrt|level|Asrt|level| |
| //! |________________________________|__________|__________|__________|__________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_CODEC_TAG "Codec Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component VP: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_VP_TAG "VP Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_VP "VP Tags By Sub Component" |
| //! |
| //! \brief Message level and assert flag for each sub-comp of VP set through this user feature key |
| //! 3 bits for level, 1 bit for assert on/off per sub-component. |
| //! Each component has to create a separate key for its sub-comps. |
| //! |
| //! 63___________________24_23______20_19______16_15______12_11_______8_7________4_3_________0 |
| //! | | Reserved | Render | Debug | Public | HW | DDI | |
| //! | Reserved |Asrt|level|Asrt|level|Asrt|level|Asrt|level|Asrt|level|Asrt|level| |
| //! |________________________________|__________|__________|__________|__________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_VP_TAG "VP Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component CP: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_CP_TAG "CP Message Tags" |
| //! This can be 0/1, 1 is on, 0 is off |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_CP "CP Tags By Sub Component" |
| //! |
| //! \brief Message level and assert flag for each sub-comp of CP set through this user feature key |
| //! 3 bits for level, 1 bit for assert on/off per sub-component. |
| //! Each component has to create a separate key for its sub-comps. |
| //! |
| //! 63_____48_47___44_43____40_39_______36_35_________32_31___28_27____24_23___20_19___16_15__12_11__8_7_________4_3_________0 |
| //! | | LIB | DLL |AUTHCHANNEL|SECURESESSION|CMD_BFR|UMD_CTXT| CODEC |GPU_HAL|PCH_HAL| OS | DEVICE |CP_DDI | |
| //! |Reserved| A|L | A|L | A|L | A|L | A|L | A|L | A|L | A|L | A|L |A|L |Asrt|level |Asrt|level| |
| //! |________|_______|________|___________|_____________|_______|________|_______|_______|_______|____|___________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_CP_TAG "CP Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component DDI: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_DDI_TAG "DDI Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_DDI "DDI Tags By Sub Component" |
| //! |
| //! \brief 63____________________________________________________________________________3__________0 |
| //! | | Self | |
| //! | Reserved (can create DDI subcomponents) |Asrt|level| |
| //! |____________________________________________________________________________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_DDI_TAG "DDI Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component CM: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_CM_TAG "CM Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_CM "CM Tags By Sub Component" |
| //! |
| //! \brief 63________________________________________________________________8_7________4_3_________0 |
| //! | | Self | DDI | |
| //! | Reserved (can create CM subcomponents) |Asrt|level|Asrt|level| |
| //! |____________________________________________________________________________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_CM_TAG "CM Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component SCALABILITY: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_SCALABILITY_TAG "SCALABILITY Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_SCALABILITY "SCALABILITY Tags By Sub Component" |
| //! |
| //! \brief 63____________________________________________________________________________3__________0 |
| //! | | Self | |
| //! | Reserved (can create SCALABILITY subcomponents) |Asrt|level| |
| //! |____________________________________________________________________________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_SCALABILITY_TAG "SCALABILITY Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component MMC: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_MMC_TAG "MMC Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_MMC "MMC Tags By Sub Component" |
| //! |
| //! \brief 63____________________________________________________________________________3__________0 |
| //! | | Self | |
| //! | Reserved (can create MMC subcomponents) |Asrt|level| |
| //! |____________________________________________________________________________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_MMC_TAG "MMC Sub Components Tags" |
| |
| //! |
| //! \brief User feature keys for component BLT: |
| //! |
| #define __MOS_USER_FEATURE_KEY_MESSAGE_MCPY_TAG "MCPY Message Tags" |
| #define __MOS_USER_FEATURE_KEY_BY_SUB_COMPONENT_MCPY "MCPY Tags By Sub Component" |
| //! |
| //! \brief 63____________________________________________________________________________3__________0 |
| //! | | Self | |
| //! | Reserved (can create MCPY subcomponents) |Asrt|level| |
| //! |____________________________________________________________________________|__________| |
| //! |
| #define __MOS_USER_FEATURE_KEY_SUB_COMPONENT_MCPY_TAG "MCPY Sub Components Tags" |
| |
| #define __MOS_USER_FEATURE_KEY_DISABLE_ASSERT "DisableAssert" |
| |
| #endif // MOS_MESSAGES_ENABLED |
| |
| //User feature key for MDF |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_ETW_ENABLE "MDF ETW Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_LOG_LEVEL "MDF LOG Level" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_UMD_ULT_ENABLE "MDF UMD ULT Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_CMD_DUMP_ENABLE "MDF Command Buffer Dump Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_CURBE_DUMP_ENABLE "MDF Curbe Dump Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_SURFACE_DUMP_ENABLE "MDF Surface Dump Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_SURFACE_STATE_DUMP_ENABLE "MDF Surface State Dump Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_EMU_MODE_ENABLE "MDF EMU Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_CMD_DUMP_COUNTER "MDF CMD DUMP COUNTER" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_SURFACE_STATE_DUMP_COUNTER "MDF SURFACE STATE DUMP COUNTER" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_INTERFACE_DESCRIPTOR_DATA_DUMP "MDF Interface Descriptor Dump Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_INTERFACE_DESCRIPTOR_DATA_COUNTER "MDF Interface Descriptor Dump Counter" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_DUMPPATH_USER "MDF Dump Path Specified by User" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_FORCE_EXECUTION_PATH "MDF Execution Path Forced by User" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_MAX_THREAD_NUM "CmMaxThreads" |
| #define __MEDIA_USER_FEATURE_VALUE_MDF_FORCE_COHERENT_STATELESSBTI "ForceCoherentStatelessBTI" |
| |
| //User feature key for VP |
| #define __MEDIA_USER_FEATURE_VALUE_VP_3P_DUMP_UFKEY_LOCATION "Software\\Intel\\VPPDPI" |
| |
| #define __MOS_USER_FEATURE_KEY_XML_AUTOGEN "XML AutoGen Enable" |
| #define __MOS_USER_FEATURE_KEY_XML_FILEPATH "XML File Path" |
| #define __MOS_USER_FEATURE_KEY_XML_DUMP_GROUPS "XML Dump Group" |
| |
| #if (_DEBUG || _RELEASE_INTERNAL) |
| //User feature key for enable simulating random memory allocation failure |
| #define __MEDIA_USER_FEATURE_VALUE_ALLOC_MEMORY_FAIL_SIMULATE_MODE "Alloc Memory Fail Simulate Mode" |
| #define __MEDIA_USER_FEATURE_VALUE_ALLOC_MEMORY_FAIL_SIMULATE_FREQ "Alloc Memory Fail Simulate Freq" |
| #define __MEDIA_USER_FEATURE_VALUE_ALLOC_MEMORY_FAIL_SIMULATE_HINT "Alloc Memory Fail Simulate Hint" |
| #define __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_TYPE "OS API Fail Simulate Type" |
| #define __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_MODE "OS API Fail Simulate Mode" |
| #define __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_FREQ "OS API Fail Simulate Freq" |
| #define __MEDIA_USER_FEATURE_VALUE_OS_API_FAIL_SIMULATE_HINT "OS API Fail Simulate Hint" |
| #define __MEDIA_USER_FEATURE_VALUE_MEDIA_TILE_ENCODING_1_DEFAULT "Media tile encoding as 1 by default" |
| #define __MEDIA_USER_FEATURE_VALUE_TILE_ENCODING_1_INTERNAL_USED "Media Internal tile encoding as 1 used" |
| #define __MEDIA_USER_FEATURE_VALUE_TILE_ENCODING_3_INTERNAL_USED "Media Internal tile encoding as 3 used" |
| #endif //(_DEBUG || _RELEASE_INTERNAL) |
| |
| //User feature key for UMD_OCA |
| #define __MEDIA_USER_FEATURE_VALUE_ENABLE_UMD_OCA "Enable UMD_OCA" |
| //Error Report for UMD_OCA |
| #define __MEDIA_USER_FEATURE_VALUE_OCA_STATUS "OCA Status" |
| #define __MEDIA_USER_FEATURE_VALUE_OCA_ERROR_HINT "OCA Error Hint" |
| #define __MEDIA_USER_FEATURE_VALUE_IS_INDIRECT_STATE_HEAP_INVALID "Is Indirect State Heap Invalid" |
| #define __MEDIA_USER_FEATURE_VALUE_COUNT_FOR_OCA_BUFFER_LEAKED "Count For Oca Buffer Leaked" |
| #define __MEDIA_USER_FEATURE_VALUE_COUNT_FOR_OCA_1ST_LEVEL_BB_END_MISSED "Count For Oca 1st Level BB End Missed" |
| #define __MEDIA_USER_FEATURE_VALUE_COUNT_FOR_ADDITIONAL_OCA_BUFFER_ALLOCATED "Count For Additional Oca Buffer Allocated" |
| |
| //User feature key for enable Perf Utility Tool |
| #define __MEDIA_USER_FEATURE_VALUE_PERF_UTILITY_TOOL_ENABLE "Perf Utility Tool Enable" |
| #define __MEDIA_USER_FEATURE_VALUE_PERF_OUTPUT_DIRECTORY "Perf Output Directory" |
| |
| #endif // __MOS_UTIL_USER_FEATURE_KEYS_H__ |