Use exported APIs from ClientContext
[CP] dynamic gmm header file change copy from CL793947
Because certain ResourceInfo exported APIs are inlined,
GmmLib is accidently exposing internal functions/class members.
This is causing build issues with unresolved symbols when clients switch to dynamic linking.
Fix is to use ClientContext exported APIs for UMD clients.
Change-Id: I58db29d2f31c3f2586de80369f5ed085e14f06be
Signed-off-by: drprajap <dimpalben.r.prajapati@intel.com>
diff --git a/Source/GmmLib/inc/External/Common/GmmInfo.h b/Source/GmmLib/inc/External/Common/GmmInfo.h
index a1cd73a..3aec4c6 100644
--- a/Source/GmmLib/inc/External/Common/GmmInfo.h
+++ b/Source/GmmLib/inc/External/Common/GmmInfo.h
@@ -593,7 +593,13 @@
#define GMM_OVERRIDE_PLATFORM_INFO(pTexInfo) (GmmGetPlatformInfo(pGmmGlobalContext))
#define GMM_OVERRIDE_TEXTURE_CALC(pTexInfo) (GmmGetTextureCalc(pGmmGlobalContext))
+#ifdef __GMM_KMD__
+ #define GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(pTexInfo) GMM_OVERRIDE_PLATFORM_INFO(pTexInfo)
+ #define GMM_IS_PLANAR(Format) GmmIsPlanar(Format)
+#else
+ #define GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(pTexInfo) (&pClientContext->GetPlatformInfo())
+ #define GMM_IS_PLANAR(Format) (pClientContext->IsPlanar(Format))
+#endif
+
// Reset packing alignment to project default
-#pragma pack(pop)
-
-
+#pragma pack(pop)
\ No newline at end of file
diff --git a/Source/GmmLib/inc/External/Common/GmmResourceInfoCommon.h b/Source/GmmLib/inc/External/Common/GmmResourceInfoCommon.h
index a2ec19e..a3e83cf 100644
--- a/Source/GmmLib/inc/External/Common/GmmResourceInfoCommon.h
+++ b/Source/GmmLib/inc/External/Common/GmmResourceInfoCommon.h
@@ -388,11 +388,11 @@
{
const GMM_PLATFORM_INFO *pPlatform;
- pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
if (Surf.Flags.Gpu.UnifiedAuxSurface)
{
- if (GmmIsPlanar(Surf.Format))
+ if (GMM_IS_PLANAR(Surf.Format))
{
return static_cast<uint32_t>(AuxSurf.OffsetInfo.Plane.ArrayQPitch);
}
@@ -421,10 +421,10 @@
uint32_t QPitch;
const GMM_PLATFORM_INFO *pPlatform;
- __GMM_ASSERT(GmmIsPlanar(Surf.Format));
+ __GMM_ASSERT(GMM_IS_PLANAR(Surf.Format));
GMM_UNREFERENCED_LOCAL_VARIABLE(Plane);
- pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
__GMM_ASSERT(GFX_GET_CURRENT_RENDERCORE(pPlatform->Platform) >= IGFX_GEN8_CORE);
QPitch = static_cast<uint32_t>(Surf.OffsetInfo.Plane.ArrayQPitch / Surf.Pitch);
@@ -466,7 +466,7 @@
TileMode = Surf.TileMode;
__GMM_ASSERT(TileMode < GMM_TILE_MODES);
- pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
if (pPlatform->TileInfo[TileMode].LogicalTileWidth != 0)
{
// In case of Depth/Stencil buffer MSAA TileYs surface, the LogicalTileWidth/Height is smaller than non-MSAA ones
@@ -524,7 +524,7 @@
__GMM_ASSERT(!AuxSurf.Flags.Info.Linear);
- pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&AuxSurf);
+ pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&AuxSurf);
if (Surf.Flags.Gpu.UnifiedAuxSurface)
{
@@ -742,7 +742,7 @@
GMM_GFX_SIZE_T Offset = 0;
__GMM_ASSERT(ArrayIndex < Surf.ArraySize);
- __GMM_ASSERT(GmmIsPlanar(Surf.Format));
+ __GMM_ASSERT(GMM_IS_PLANAR(Surf.Format));
if (Surf.Flags.Gpu.UnifiedAuxSurface)
{
@@ -786,7 +786,7 @@
{
const __GMM_PLATFORM_RESOURCE *pPlatformResource;
uint32_t HAlign;
- pPlatformResource = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatformResource = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
if ((GFX_GET_CURRENT_RENDERCORE(pPlatformResource->Platform) >= IGFX_GEN9_CORE) &&
!(Surf.Flags.Info.TiledYf || Surf.Flags.Info.TiledYs))
@@ -809,7 +809,7 @@
{
const __GMM_PLATFORM_RESOURCE *pPlatformResource;
uint32_t VAlign;
- pPlatformResource = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatformResource = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
if ((GFX_GET_CURRENT_RENDERCORE(pPlatformResource->Platform) >= IGFX_GEN9_CORE) &&
!(GetResFlags().Info.TiledYf || GetResFlags().Info.TiledYs))
@@ -976,7 +976,7 @@
/////////////////////////////////////////////////////////////////////////////////////
GMM_INLINE_VIRTUAL GMM_INLINE_EXPORTED uint32_t GMM_STDCALL GetMaxGpuVirtualAddressBits()
{
- const GMM_PLATFORM_INFO *pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ const GMM_PLATFORM_INFO *pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
__GMM_ASSERTPTR(pPlatform, 0);
return pPlatform->MaxGpuVirtualAddressBitsPerResource;
@@ -991,7 +991,7 @@
{
GMM_GFX_SIZE_T Offset = 0;
const GMM_PLATFORM_INFO *pPlatform;
- pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
if (Surf.Flags.Gpu.UnifiedAuxSurface)
{
if ((GmmAuxType == GMM_AUX_CCS) || (GmmAuxType == GMM_AUX_SURF) || (GmmAuxType == GMM_AUX_Y_CCS)
@@ -1258,7 +1258,7 @@
uint32_t HAlign;
const GMM_PLATFORM_INFO *pPlatform;
- pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
if (GFX_GET_CURRENT_RENDERCORE(pPlatform->Platform) >= IGFX_GEN8_CORE)
{
@@ -1299,7 +1299,7 @@
uint32_t VAlign;
const GMM_PLATFORM_INFO *pPlatform;
- pPlatform = GMM_OVERRIDE_PLATFORM_INFO(&Surf);
+ pPlatform = (GMM_PLATFORM_INFO *)GMM_OVERRIDE_EXPORTED_PLATFORM_INFO(&Surf);
if (GFX_GET_CURRENT_RENDERCORE(pPlatform->Platform) >= IGFX_GEN8_CORE)
{