Implementing WaDisableL1Cachability For Read/Write Buffer (#50)

diff --git a/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h b/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h
index 92283da..bc78e5e 100644
--- a/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h
+++ b/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h
@@ -338,3 +338,6 @@
 //Uncacheable copies
 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_COPY_SOURCE)
 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_COPY_DEST)
+
+// Shader resource uncachable, needed for WA_18013889147
+DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_SHADER_RESOURCE_L1_NOT_CACHED)
diff --git a/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h b/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h
index e355eaf..4b4a53c 100644
--- a/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h
+++ b/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.h
@@ -302,5 +302,8 @@
 DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_COPY_SOURCE                                           , 0   , 0    , 0  , 0  , 0 ,    0,     0,       0,      0,    0,   0,    0,   NA);
 DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_COPY_DEST                                             , 0   , 0    , 0  , 0  , 0 ,    0,     0,       0,      0,    0,   0,    0,   NA);
 
+// Shader resource uncachable, needed for WA_18013889147
+DEFINE_CACHE_ELEMENT(GMM_RESOURCE_USAGE_SHADER_RESOURCE_L1_NOT_CACHED                         , 0   , 1    , 1  , 0  , 0 ,    0,     0,       0,      0,    0,   0,    0,    RO );
+
 #include "GmmCachePolicyUndefineConditionals.h"