Disable LLC caching of IPU buffers on Gen12+
Change-Id: I8da9aa0dcc41f90f1f9dcfd8b116a6b0dd58fc7d
diff --git a/Source/GmmLib/CachePolicy/GmmCachePolicyConditionals.h b/Source/GmmLib/CachePolicy/GmmCachePolicyConditionals.h
index 45b1414..cc452de 100644
--- a/Source/GmmLib/CachePolicy/GmmCachePolicyConditionals.h
+++ b/Source/GmmLib/CachePolicy/GmmCachePolicyConditionals.h
@@ -32,7 +32,8 @@
#define _L3 (pGmmGlobalContext->GetGtSysInfo()->L3CacheSizeInKb)
#define _LLC (pGmmGlobalContext->GetGtSysInfo()->LLCCacheSizeInKb)
#define _ELLC (pGmmGlobalContext->GetGtSysInfo()->EdramSizeInKb)
+#define CAM$ (SKU(FtrCameraCaptureCaching))
// Units are already in KB in the system information, so these helper macros need to account for that
#define KB(N) (N)
-#define MB(N) (1024 * KB(N))
\ No newline at end of file
+#define MB(N) (1024 * KB(N))
diff --git a/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h b/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h
index 7d97ff2..4e5e791 100644
--- a/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h
+++ b/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h
@@ -292,4 +292,6 @@
// BCS usages
DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BLT_SOURCE )
-DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BLT_DESTINATION )
\ No newline at end of file
+DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BLT_DESTINATION )
+
+DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CAMERA_CAPTURE )
diff --git a/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.h b/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.h
index b623631..9ed92f5 100755
--- a/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.h
+++ b/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.h
@@ -228,4 +228,6 @@
DEFINE_CACHE_ELEMENT( GMM_RESOURCE_USAGE_XADAPTER_SHARED_RESOURCE , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0);
/**********************************************************************************/
+DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_CAMERA_CAPTURE , CAM$, 0 , 0 , 0 , CAM$ , 0, 0, 0, 0, 0);
+
#include "GmmCachePolicyUndefineConditionals.h"
diff --git a/Source/GmmLib/CachePolicy/GmmGen11CachePolicy.h b/Source/GmmLib/CachePolicy/GmmGen11CachePolicy.h
index b654586..111b6bf 100644
--- a/Source/GmmLib/CachePolicy/GmmGen11CachePolicy.h
+++ b/Source/GmmLib/CachePolicy/GmmGen11CachePolicy.h
@@ -277,4 +277,6 @@
DEFINE_CACHE_ELEMENT( GMM_RESOURCE_USAGE_XADAPTER_SHARED_RESOURCE , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0);
/**********************************************************************************/
+DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_CAMERA_CAPTURE , CAM$, 0 , 0 , 0 , CAM$ , 0, 0, 0, 0, 0, 0);
+
#include "GmmCachePolicyUndefineConditionals.h"
diff --git a/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h b/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h
index 776e4ad..bf17154 100644
--- a/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h
+++ b/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h
@@ -296,5 +296,7 @@
DEFINE_CACHE_ELEMENT( GMM_RESOURCE_USAGE_BLT_DESTINATION , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, NA );
/**********************************************************************************/
+DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_CAMERA_CAPTURE , CAM$, 0 , 0 , 0 , CAM$ , 0, 0, 0, 0, 0, 0, 0, NA );
+
#include "GmmCachePolicyUndefineConditionals.h"
diff --git a/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.h b/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.h
index 6a33c59..04b5cb5 100755
--- a/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.h
+++ b/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.h
@@ -195,4 +195,6 @@
DEFINE_CACHE_ELEMENT( GMM_RESOURCE_USAGE_XADAPTER_SHARED_RESOURCE , 0 , 0 , 0 , 0 , 0);
/**********************************************************************************/
+DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_CAMERA_CAPTURE , CAM$ , 0 , 0 , 0 , CAM$ );
+
#include "GmmCachePolicyUndefineConditionals.h"
diff --git a/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.h b/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.h
index f168721..3b69d96 100755
--- a/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.h
+++ b/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.h
@@ -242,6 +242,8 @@
DEFINE_CACHE_ELEMENT( GMM_RESOURCE_USAGE_XADAPTER_SHARED_RESOURCE , 0 , 0 , 0 , 0, UC );
/**********************************************************************************/
+DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_CAMERA_CAPTURE , CAM$, 0 , 0 , CAM$ , WB );
+
#undef UC
#undef WB
#include "GmmCachePolicyUndefineConditionals.h"
diff --git a/Source/inc/common/sku_wa.h b/Source/inc/common/sku_wa.h
index e83c1a6..0e78b97 100644
--- a/Source/inc/common/sku_wa.h
+++ b/Source/inc/common/sku_wa.h
@@ -97,6 +97,7 @@
unsigned int FtrFrameBufferLLC : 1; // Displayable Frame buffers cached in LLC
unsigned int FtrDriverFLR : 1; // Enable Function Level Reset (Gen11+)
unsigned int FtrLocalMemory : 1;
+ unsigned int FtrCameraCaptureCaching : 1;
};