//========================================================================
//         WARNING!            WARNING!               WARNING!
//
// This file is automatically generated - do not modify it directly.
// Make changes in gfxDebugGen.c and run CODEGEN.bat.
//========================================================================

//==============================================================================
// Copyright (c) Intel Corporation (2005-2013).                                /
//                                                                             /
// DISCLAIMER OF WARRANTY                                                      /
// NEITHER INTEL NOR ITS SUPPLIERS MAKE ANY REPRESENTATION OR WARRANTY OR      /
// CONDITION OF ANY KIND WHETHER EXPRESS OR IMPLIED (EITHER IN FACT OR BY      /
// OPERATION OF LAW) WITH RESPECT TO THE SOURCE CODE.  INTEL AND ITS SUPPLIERS /
// EXPRESSLY DISCLAIM ALL WARRANTIES OR CONDITIONS OF MERCHANTABILITY OR       /
// FITNESS FOR A PARTICULAR PURPOSE.  INTEL AND ITS SUPPLIERS DO NOT WARRANT   /
// THAT THE SOURCE CODE IS ERROR-FREE OR THAT OPERATION OF THE SOURCE CODE WILL/
// BE SECURE OR UNINTERRUPTED AND HEREBY DISCLAIM ANY AND ALL LIABILITY ON     /
// ACCOUNT THEREOF.  THERE IS ALSO NO IMPLIED WARRANTY OF NON-INFRINGEMENT.    /
// SOURCE CODE IS LICENSED TO LICENSEE ON AN 'AS IS' BASIS AND NEITHER INTEL   /
// NOR ITS SUPPLIERS WILL PROVIDE ANY SUPPORT, ASSISTANCE, INSTALLATION,       /
// TRAINING OR OTHER SERVICES.  INTEL AND ITS SUPPLIERS WILL NOT PROVIDE ANY   /
// UPDATES, ENHANCEMENTS OR EXTENSIONS.                                        /
//                                                                             /
//------------------------------------------------------------------------------

#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_
