mirror of https://github.com/intel/gmmlib.git
SPD Logging enabled for debug and release-internal (#56)
This commit is contained in:
parent
6143502f4e
commit
0ed2639c72
|
@ -481,7 +481,7 @@ bool GmmLib::GmmGen8CachePolicy::GetUsagePTEValue(GMM_CACHE_POLICY_ELEMENT Cache
|
|||
|
||||
CachePolicyElement.Initialized = 1;
|
||||
|
||||
GMM_DPF(GFXDBG_CRITICAL,
|
||||
GMM_DPF(GFXDBG_NORMAL,
|
||||
"Cache Policy Init: Degrading PAT settings to UC (uncached) from %s for Element %d\n",
|
||||
MemTypes[GetWantedMemoryType(CachePolicyUsage)], Usage);
|
||||
|
||||
|
|
|
@ -392,6 +392,8 @@ GMM_RESOURCE_INFO *GMM_STDCALL GmmLib::GmmClientContext::CreateResInfoObject(GMM
|
|||
pClientContextIn = this;
|
||||
#endif
|
||||
|
||||
GMM_DPF_ENTER;
|
||||
|
||||
// GMM_RESOURCE_INFO...
|
||||
if(pCreateParams->pPreallocatedResInfo)
|
||||
{
|
||||
|
@ -413,6 +415,8 @@ GMM_RESOURCE_INFO *GMM_STDCALL GmmLib::GmmClientContext::CreateResInfoObject(GMM
|
|||
goto ERROR_CASE;
|
||||
}
|
||||
|
||||
GMM_DPF_EXIT;
|
||||
|
||||
return (pRes);
|
||||
|
||||
ERROR_CASE:
|
||||
|
|
|
@ -231,7 +231,7 @@ GMM_STATUS GmmLib::AuxTable::MapNullCCS(GMM_UMD_SYNCCONTEXT *UmdContext, GMM_GFX
|
|||
//Sync update on CPU
|
||||
((GMM_AUXTTL1e *)L1CPUAddress)[L1eIdx].Value = Data;
|
||||
|
||||
GMM_DPF(GFXDBG_CRITICAL, "Null-Map | Table Entry: [0x%06x] L2Addr[0x%016llX] Value[0x%016llX] :: [0x%06x] L1Addr[0x%016llX] Value[0x%016llX]\n", L2eIdx, ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx], ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx].L1GfxAddr << 13, L1eIdx, &((GMM_AUXTTL1e *)L1CPUAddress)[L1eIdx], Data);
|
||||
GMM_DPF(GFXDBG_NORMAL, "Null-Map | Table Entry: [0x%06x] L2Addr[0x%016llX] Value[0x%016llX] :: [0x%06x] L1Addr[0x%016llX] Value[0x%016llX]\n", L2eIdx, ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx], ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx].L1GfxAddr << 13, L1eIdx, &((GMM_AUXTTL1e *)L1CPUAddress)[L1eIdx], Data);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -482,7 +482,7 @@ GMM_STATUS GmmLib::AuxTable::InvalidateTable(GMM_UMD_SYNCCONTEXT *UmdContext, GM
|
|||
//Sync update on CPU
|
||||
((GMM_AUXTTL1e *)L1CPUAddress)[L1eIdx].Value = Data;
|
||||
|
||||
GMM_DPF(GFXDBG_CRITICAL, "UnMap | Table Entry: [0x%06x] L2Addr[0x%016llX] Value[0x%016llX] :: [0x%06x] L1Addr[0x%016llX] Value[0x%016llX]\n", L2eIdx, ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx], ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx].L1GfxAddr << 13, L1eIdx, &((GMM_AUXTTL1e *)L1CPUAddress)[L1eIdx], Data);
|
||||
GMM_DPF(GFXDBG_NORMAL, "UnMap | Table Entry: [0x%06x] L2Addr[0x%016llX] Value[0x%016llX] :: [0x%06x] L1Addr[0x%016llX] Value[0x%016llX]\n", L2eIdx, ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx], ((GMM_AUXTTL2e *)L2CPUAddress)[L2eIdx].L1GfxAddr << 13, L1eIdx, &((GMM_AUXTTL1e *)L1CPUAddress)[L1eIdx], Data);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -616,7 +616,7 @@ GMM_STATUS GmmLib::AuxTable::MapValidEntry(GMM_UMD_SYNCCONTEXT *UmdContext, GMM_
|
|||
PageTableMgr->TTCb.pfPrologTranslationTable(UmdContext->pCommandQueueHandle);
|
||||
}
|
||||
|
||||
GMM_DPF(GFXDBG_CRITICAL, "Mapping surface: GPUVA=0x%016llX Size=0x%08X Aux_GPUVA=0x%016llX\n", BaseAdr, BaseSize, AuxVA);
|
||||
GMM_DPF(GFXDBG_NORMAL, "Mapping surface: GPUVA=0x%016llX Size=0x%08X Aux_GPUVA=0x%016llX\n", BaseAdr, BaseSize, AuxVA);
|
||||
for(Addr = GFX_ALIGN_FLOOR(BaseAdr, L1TableSize); Addr < BaseAdr + BaseSize; Addr += L1TableSize)
|
||||
{
|
||||
GMM_GFX_ADDRESS StartAdr, EndAdr, TileAdr;
|
||||
|
@ -732,7 +732,7 @@ GMM_STATUS GmmLib::AuxTable::MapValidEntry(GMM_UMD_SYNCCONTEXT *UmdContext, GMM_
|
|||
}
|
||||
}
|
||||
|
||||
GMM_DPF(GFXDBG_CRITICAL, "Mapping surface: GPUVA=0x%016llx Size=0x%08x Aux_GPUVA=0x%016llx", StartAdr, BaseSize, CCS$Adr);
|
||||
GMM_DPF(GFXDBG_NORMAL, "Mapping surface: GPUVA=0x%016llx Size=0x%08x Aux_GPUVA=0x%016llx", StartAdr, BaseSize, CCS$Adr);
|
||||
|
||||
for(TileAdr = StartAdr; TileAdr < EndAdr; TileAdr += (!WA16K(pClientContext->GetLibContext()) ? GMM_KBYTE(64) : GMM_KBYTE(16)),
|
||||
CCS$Adr += (pClientContext->GetLibContext()->GetSkuTable().FtrLinearCCS ?
|
||||
|
|
|
@ -449,7 +449,7 @@ GMM_STATUS GmmLib::GmmPageTableMgr::InitContextAuxTableRegister(HANDLE CmdQHandl
|
|||
|
||||
TTCb.pfWriteL3Adr(CmdQHandle, MaskedL3GfxAddress, RegOffset);
|
||||
|
||||
GMM_DPF(GFXDBG_CRITICAL, "AuxTT Map Address: GPUVA=0x%016llX\n", MaskedL3GfxAddress);
|
||||
GMM_DPF(GFXDBG_NORMAL, "AuxTT Map Address: GPUVA=0x%016llX\n", MaskedL3GfxAddress);
|
||||
|
||||
//TTCb.pfEpilogTranslationTable(CmdQHandle, 0);
|
||||
|
||||
|
|
|
@ -102,6 +102,8 @@ bool GmmLib::Logger::GmmLogInit()
|
|||
case Error:
|
||||
LogLevel = spdlog::level::err;
|
||||
break;
|
||||
case Critical:
|
||||
LogLevel = spdlog::level::critical;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -164,8 +166,11 @@ bool GmmLib::Logger::GmmLogInit()
|
|||
|
||||
// TODO: Multiple GmmLib instance can be running in the same process. In that case, the file name will be
|
||||
// the same for two instances. Figure out a way to differentiate between the two instances.
|
||||
LogFilePath = std::string(GMM_LOG_FILENAME) + "_" + ProcName + "_" + PidStr;
|
||||
|
||||
#if _WIN32
|
||||
LogFilePath = std::string("c:\\") + std::string(GMM_LOG_FILENAME) + "_" + ProcName + "_" + PidStr;
|
||||
#else
|
||||
LogFilePath = std::string(".//") + std::string(GMM_LOG_FILENAME) + "" + ProcName + "_" + PidStr;
|
||||
#endif
|
||||
// Create logger
|
||||
SpdLogger = spdlog::rotating_logger_mt(GMM_LOGGER_NAME,
|
||||
LogFilePath,
|
||||
|
|
|
@ -88,6 +88,7 @@ typedef enum GmmLogLevel
|
|||
Trace,
|
||||
Info,
|
||||
Error, // default
|
||||
Critical,
|
||||
}GmmLogLevel;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -98,10 +99,10 @@ typedef enum GmmLogLevel
|
|||
#define GMM_ROTATE_FILE_NUMBER 3 // Once log is full, it'll save old log with .1/.2/.3 in name, and then start with .1
|
||||
#define GMM_LOG_MASSAGE_MAX_SIZE 1024
|
||||
#define GMM_LOGGER_NAME "gmm_logger"
|
||||
#define GMM_LOG_FILENAME "./gmm_log"
|
||||
#define GMM_LOG_FILENAME "gmm_log"
|
||||
#define GMM_LOG_TAG "GmmLib"
|
||||
#define GMM_UNKNOWN_PROCESS "Unknown_Proc"
|
||||
#define GMM_PREFIX_STR "INTC GMM: "
|
||||
#define GMM_PREFIX_STR "INTC GMM SPD: "
|
||||
|
||||
#if _WIN32
|
||||
#define GMM_LOG_REG_KEY_SUB_PATH "SOFTWARE\\Intel\\IGFX\\GMMLOG\\"
|
||||
|
|
|
@ -58,16 +58,21 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
// Enable GMM_ASSERTS and GMM_DEBUG only for Debug builds similar to what UMD clients used to do earlier
|
||||
#if (_DEBUG) //(_DEBUG || _RELEASE_INTERNAL)
|
||||
#define GMM_DPF GMMDebugMessage //gfxDebug.h
|
||||
#define GMM_ASSERT GMMASSERT //gfxDebug.h
|
||||
#define GMM_ASSERTPTR GMMASSERTPTR //gfxDebug.h
|
||||
#else
|
||||
#define GMMDebugMessage(...)
|
||||
#define GMM_DPF GMMDebugMessage
|
||||
#define GMM_ASSERT(expr)
|
||||
#define GMM_ASSERTPTR(expr, ret)
|
||||
#endif
|
||||
|
||||
// GMM_DPF Logging is enabled for Debug and Release_Internal
|
||||
#if (_DEBUG || _RELEASE_INTERNAL)
|
||||
#define GMM_DPF GMMDebugMessage //gfxDebug.h
|
||||
#else
|
||||
#define GMM_DPF GMMDebugMessage
|
||||
#endif // (_DEBUG || _RELEASE_INTERNAL)
|
||||
|
||||
#define __GMM_ASSERT GMM_ASSERT
|
||||
#define __GMM_ASSERTPTR GMM_ASSERTPTR
|
||||
|
||||
|
@ -85,26 +90,6 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define GMM_DBG_BREAK assert(0)
|
||||
#endif
|
||||
|
||||
#define GMMLibDebugMessage(DebugLevel, message, ...) \
|
||||
{ \
|
||||
if(DebugLevel == GFXDBG_CRITICAL) \
|
||||
{ \
|
||||
GMM_LOG_ERROR(message, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if(DebugLevel == GFXDBG_VERBOSE) \
|
||||
{ \
|
||||
GMM_LOG_TRACE(message, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if(DebugLevel == GFXDBG_OFF) \
|
||||
{ \
|
||||
GMM_LOG_TRACE_IF(0, message, ##__VA_ARGS__) \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
GMM_LOG_INFO(message, ##__VA_ARGS__); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define GMM_LIB_ASSERT(expr) \
|
||||
{ \
|
||||
if(!(expr) ) \
|
||||
|
@ -124,7 +109,6 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#else
|
||||
|
||||
#define GMMLibDebugMessage(...)
|
||||
#define GMM_LIB_ASSERT(expr)
|
||||
#define GMM_LIB_ASSERTPTR(expr, ret) \
|
||||
{ \
|
||||
|
@ -136,6 +120,31 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#endif // (_DEBUG) //_DEBUG || _RELEASE_INTERNAL
|
||||
|
||||
#if (_DEBUG || _RELEASE_INTERNAL)
|
||||
#define GMMLibDebugMessage(DebugLevel, message, ...) \
|
||||
{ \
|
||||
if(DebugLevel == GFXDBG_CRITICAL) \
|
||||
{ \
|
||||
GMM_LOG_ERROR(message, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if(DebugLevel == GFXDBG_VERBOSE) \
|
||||
{ \
|
||||
GMM_LOG_TRACE(message, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if(DebugLevel == GFXDBG_OFF) \
|
||||
{ \
|
||||
GMM_LOG_TRACE_IF(0, message, ##__VA_ARGS__) \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
GMM_LOG_INFO(message, ##__VA_ARGS__); \
|
||||
} \
|
||||
}
|
||||
|
||||
#else
|
||||
#define GMMLibDebugMessage(...)
|
||||
#endif //_DEBUG || _RELEASE_INTERNAL
|
||||
|
||||
#define GMM_DPF GMMLibDebugMessage
|
||||
#define __GMM_ASSERT GMM_LIB_ASSERT
|
||||
#define __GMM_ASSERTPTR GMM_LIB_ASSERTPTR
|
||||
|
|
Loading…
Reference in New Issue