2021-07-23 14:43:27 +08:00
|
|
|
//=================================================================================/
|
|
|
|
//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: /
|
2017-12-02 02:44:37 +08:00
|
|
|
//
|
2021-07-23 14:43:27 +08:00
|
|
|
//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. /
|
|
|
|
//---------------------------------------------------------------------------------
|
2017-12-02 02:44:37 +08:00
|
|
|
|
|
|
|
#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,
|
2017-12-09 03:19:18 +08:00
|
|
|
GFX_COMPONENT_COUNT = 12,
|
2017-12-02 02:44:37 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
//===================== 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: ",
|
2017-12-09 03:19:18 +08:00
|
|
|
|
2017-12-02 02:44:37 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* __GFXDEBUG_C__ */
|
|
|
|
|
|
|
|
//================ Prototype for print routines ====================
|
|
|
|
// WARNING!!! DO NOT MODIFY this file - see detail above copyright.
|
|
|
|
|
2017-12-09 03:19:18 +08:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2018-02-08 16:52:41 +08:00
|
|
|
void GMMPrintMessage(unsigned long DebugLevel, const char *DebugMessageFmt, ...);
|
2017-12-09 03:19:18 +08:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
2017-12-02 02:44:37 +08:00
|
|
|
}
|
2017-12-09 03:19:18 +08:00
|
|
|
#endif
|
2017-12-02 02:44:37 +08:00
|
|
|
//==================== 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
|
2017-12-09 03:19:18 +08:00
|
|
|
#define GMMDebugMessage(...)
|
2017-12-02 02:44:37 +08:00
|
|
|
#else
|
2017-12-09 03:19:18 +08:00
|
|
|
#define GMMDebugMessage(...)
|
2017-12-02 02:44:37 +08:00
|
|
|
#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
|
2017-12-09 03:19:18 +08:00
|
|
|
#define GMMReleaseMessage(...)
|
2017-12-02 02:44:37 +08:00
|
|
|
#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 ==========================
|
2017-12-09 03:19:18 +08:00
|
|
|
#define VOIDRETURN
|
2017-12-02 02:44:37 +08:00
|
|
|
|
|
|
|
//============= 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_
|