| //=================================================================================/ |
| //Copyright (c) 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. / |
| //--------------------------------------------------------------------------------- |
| |
| #ifndef _G_GFXDEBUG_H_ |
| #define _G_GFXDEBUG_H_ |
| |
| |
| //===================== Debug Message Levels======================== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| #define GFXDBG_OFF (0x00000000) |
| #define GFXDBG_CRITICAL (0x00000001) |
| #define GFXDBG_NORMAL (0x00000002) |
| #define GFXDBG_VERBOSE (0x00000004) |
| #define GFXDBG_FUNCTION (0x80000000) |
| #define GFXDBG_NONCRITICAL (0x00000010) |
| #define GFXDBG_CRITICAL_DEBUG (0x00000020) |
| #define GFXDBG_VERBOSE_VERBOSITY (0x00000040) |
| #define GFXDBG_PROTOCAL (0x00000100) |
| #define GFXDBG_FUNCTION_ENTRY (0x80000000) |
| #define GFXDBG_FUNCTION_EXIT (0x80000000) |
| #define GFXDBG_FUNCTION_ENTRY_VERBOSE (0x20000000) |
| #define GFXDBG_FUNCTION_EXIT_VERBOSE (0x20000000) |
| |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| #define DBG_OFF GFXDBG_OFF |
| #define DBG_CRITICAL GFXDBG_CRITICAL |
| #define DBG_NORMAL GFXDBG_NORMAL |
| #define DBG_VERBOSE GFXDBG_VERBOSE |
| #define DBG_FUNCTION GFXDBG_FUNCTION |
| #define DBG_NONCRITICAL GFXDBG_NONCRITICAL |
| #define DBG_CRITICAL_DEBUG GFXDBG_CRITICAL_DEBUG |
| #define DBG_VERBOSE_VERBOSITY GFXDBG_VERBOSE_VERBOSITY |
| #define DBG_PROTOCAL GFXDBG_PROTOCAL |
| #define DBG_FUNCTION_ENTRY GFXDBG_FUNCTION_ENTRY |
| #define DBG_FUNCTION_EXIT GFXDBG_FUNCTION_EXIT |
| #define DBG_FUNCTION_ENTRY_VERBOSE GFXDBG_FUNCTION_ENTRY_VERBOSE |
| #define DBG_FUNCTION_EXIT_VERBOSE GFXDBG_FUNCTION_EXIT_VERBOSE |
| |
| |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| // This enum is used by DebugControlUI |
| // Use #define GFXDBG_<LEVEL> to specify debug level in driver code. |
| |
| enum |
| { |
| GFXDBG_ML_OFF = 0, |
| GFXDBG_ML_CRITICAL = 1, |
| GFXDBG_ML_NORMAL = 2, |
| GFXDBG_ML_VERBOSE = 3, |
| GFXDBG_ML_FUNCTION = 4, |
| GFXDBG_ML_COUNT = 5, |
| }; |
| |
| //===================== Component ID's ============================= |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| enum |
| { |
| GFX_COMPONENT_GMM = 2, |
| GFX_COMPONENT_COUNT = 12, |
| }; |
| |
| //===================== Component Masks ============================ |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| enum |
| { |
| GFX_GMM_MASK = (1 << GFX_COMPONENT_GMM), |
| }; |
| |
| //================= Component Memory Allocation Tags =============== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| // |
| // Tags are 4 byte ASCII character codes in the range 0-127 decimal. |
| // The leading @ character is to provide Intel unique tags. |
| // Passed in calls to ExAllocatePoolWithTag/ExFreePoolWithTag. |
| // Useful for pool tracking. |
| // |
| |
| #define GFX_COMPONENT_GMM_TAG 'MMG@' |
| #define GFX_DEFAULT_TAG 'CTNI' |
| |
| //======================= Component ALLOC_TAG ====================== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| #ifdef __MINIPORT |
| #define REG_ASSERT_ENABLE_MASK L"z AssertEnableMask" |
| #define REG_DEBUG_ENABLE_MASK L"z DebugEnableMask" |
| #define REG_RINGBUF_DEBUG_MASK L"z RingBufDbgMask" |
| #define REG_REPORT_ASSERT_ENABLE L"z ReportAssertEnable" |
| #define REG_ASSERT_BREAK_DISABLE L"z AssertBreakDisable" |
| #define REG_GFX_COMPONENT_GMM L"z GMM_Debug_Lvl" |
| |
| #endif |
| |
| //======================= Component ALLOC_TAG ====================== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| #if defined(__MINIPORT) |
| #define ALLOC_TAG GFX_COMPONENT_MINIPORT_TAG |
| #elif defined(__SOFTBIOS) |
| #define ALLOC_TAG GFX_COMPONENT_SOFTBIOS_TAG |
| #elif defined(__KCH) |
| #define ALLOC_TAG GFX_COMPONENT_KCH_TAG |
| #elif defined(__AIM) |
| #define ALLOC_TAG GFX_COMPONENT_AIM_TAG |
| #else |
| #define ALLOC_TAG GFX_DEFAULT_TAG |
| #endif |
| |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| #ifdef __GFXDEBUG_C__ // Only to be defined by "gfxDebug.c" file. |
| |
| // Define the array of component ID strings. Note that the sequence |
| // of these strings must match the component ID's listed above. |
| |
| char *ComponentIdStrings[] = { |
| "INTC GMM: ", |
| |
| }; |
| |
| #endif /* __GFXDEBUG_C__ */ |
| |
| //================ Prototype for print routines ==================== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| void GMMPrintMessage(unsigned long DebugLevel, const char *DebugMessageFmt, ...); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| //==================== Generate debug routines ===================== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| // |
| // Debug routines either map into the base PrintMessage |
| // routine or they map into nothing. A code segment such as |
| // 'DebugPrint(args)' gets converted to '(args)' which |
| // is converted to nothing by the C compiler. |
| |
| #if __DEBUG_MESSAGE |
| #define GMMDebugMessage GMMPrintMessage |
| #define GMMDebugMessage(...) |
| #else |
| #define GMMDebugMessage(...) |
| #endif /* __DEBUG_MESSSAGE */ |
| |
| //=================== Generate release routines ==================== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| // |
| // Release routines either map into the base PrintMessage |
| // routine or they map into nothing. A code segment such as |
| // 'ReleasePrint(args)' gets converted to '(args)' which |
| // is converted to nothing by the C compiler. |
| |
| #if __RELEASE_MESSAGE |
| #define GMMReleaseMessage GMMPrintMessage |
| #else |
| #define GMMReleaseMessage(...) |
| #endif /* __RELEASE_MESSSAGE */ |
| |
| //=================== Generate ASSERT macros ====================== |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| #define GMMASSERT(expr) __ASSERT(pDebugControl, GFX_COMPONENT_GMM, GFX_GMM_MASK, expr) |
| |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| #define GMMASSERTPTR(expr, ret) __ASSERTPTR(pDebugControl, GFX_COMPONENT_GMM, GFX_GMM_MASK, expr, ret) |
| |
| //=========== void return value for ASSERPTR macros ========================== |
| #define VOIDRETURN |
| |
| //============= Generate Message printing routines ================= |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| |
| #ifdef __GFXDEBUG_C__ // Only to be defined by "gfxDebug.c" file. |
| |
| #ifdef __GMM |
| MESSAGE_FUNCTION(GMMPrintMessage, GFX_COMPONENT_GMM); |
| #endif /* __GMM */ |
| |
| // WARNING!!! DO NOT MODIFY this file - see detail above copyright. |
| #endif /* __GFXDEBUG_C__ */ |
| |
| #endif //_G_GFXDEBUG_H_ |