xref: /aosp_15_r20/external/gmmlib/Source/GmmLib/CachePolicy/GmmCachePolicyResourceUsageDefinitions.h (revision 35ffd701415c9e32e53136d61a677a8d0a8fc4a5)
1 /*==============================================================================
2 Copyright(c) 2017 Intel Corporation
3 
4 Permission is hereby granted, free of charge, to any person obtaining a
5 copy of this software and associated documentation files(the "Software"),
6 to deal in the Software without restriction, including without limitation
7 the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 and / or sell copies of the Software, and to permit persons to whom the
9 Software is furnished to do so, subject to the following conditions:
10 
11 The above copyright notice and this permission notice shall be included
12 in all copies or substantial portions of the Software.
13 
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 OTHER DEALINGS IN THE SOFTWARE.
21 ============================================================================*/
22 
23 
24 // Generic Usages
25 
26 // KMD Usages
27 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BATCH_BUFFER )
28 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_COMP_FRAME_BUFFER )
29 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CONTEXT_SWITCH_BUFFER )
30 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CURSOR )
31 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DISPLAY_STATIC_IMG_FOR_SMOOTH_ROTATION_BUFFER )
32 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DUMMY_PAGE )
33 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_GDI_SURFACE )
34 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_GENERIC_KMD_RESOURCE )
35 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_GFX_RING )
36 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_GTT_TRANSFER_REGION )
37 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HW_CONTEXT )
38 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_KMD_STAGING_SURFACE )
39 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MBM_BUFFER )
40 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_NNDI_BUFFER )
41 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OVERLAY_MBM )
42 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PRIMARY_SURFACE )
43 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SCREEN_PROTECTION_INTERMEDIATE_SURFACE )
44 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SHADOW_SURFACE )
45 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SM_SCRATCH_STATE )
46 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_STATE_MANAGER_KERNEL_STATE )
47 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_STATUS_PAGE )
48 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TIMER_PERF_QUEUE )
49 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_UNMAP_PAGING_RESERVED_GTT_DMA_BUFFER )
50 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VSC_BATCH_BUFFER )
51 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_WA_BATCH_BUFFER )
52 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_KMD_OCA_BUFFER)
53 
54 //
55 // 3D Usages
56 //
57 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_UMD_BATCH_BUFFER )
58 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BINDING_TABLE_POOL )
59 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CCS )
60 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CONSTANT_BUFFER_POOL )
61 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DEPTH_BUFFER )
62 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DISPLAYABLE_RENDER_TARGET )
63 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_GEN9_UNENCRYPTED_DISPLAYABLE )
64 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_GATHER_POOL )
65 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_SURFACE_STATE )
66 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_DYNAMIC_STATE )
67 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_GENERAL_STATE )
68 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_GENERAL_STATE_UC )
69 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_STATELESS_DATA_PORT )
70 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_STATELESS_DATA_PORT_L1_CACHED )
71 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_INDIRECT_OBJECT )
72 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HEAP_INSTRUCTION )
73 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HIZ )
74 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_INDEX_BUFFER )
75 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_INDEX_BUFFER_L3_COHERENT_UC)
76 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_INDEX_BUFFER_L3_CACHED)
77 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MCS )
78 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PUSH_CONSTANT_BUFFER )
79 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PULL_CONSTANT_BUFFER )
80 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_QUERY )
81 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_RENDER_TARGET )
82 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SHADER_RESOURCE )
83 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_STAGING )
84 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_STENCIL_BUFFER )
85 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_STREAM_OUTPUT_BUFFER )
86 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILE_POOL )
87 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MOCS_62 )
88 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_L3_EVICTION )
89 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_L3_EVICTION_SPECIAL )
90 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CCS_MEDIA_WRITABLE )
91 //TODO: To substitute with Interface to set SCF once its available for UMDs
92 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SHADER_RESOURCE_LLC_BYPASS )
93 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PROCEDURAL_TEXTURE )
94 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_UNCACHED )
95 // Tiled Resource
96 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_CCS )
97 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_DEPTH_BUFFER )
98 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_HIZ )
99 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_MCS )
100 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_RENDER_TARGET )
101 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_RENDER_TARGET_AND_SHADER_RESOURCE )
102 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_SHADER_RESOURCE )
103 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILED_UAV )
104 
105 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VERTEX_BUFFER )
106 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VERTEX_BUFFER_L3_COHERENT_UC)
107 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VERTEX_BUFFER_L3_CACHED)
108 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OGL_WSTN_VERTEX_BUFFER )
109 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_POSH_VERTEX_BUFFER)
110 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_UAV )
111 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_RENDER_TARGET_AND_SHADER_RESOURCE )
112 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_RENDER_TARGET_AND_SHADER_RESOURCE_PARTIALENCSURFACES )
113 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_WDDM_HISTORY_BUFFER )
114 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CONTEXT_SAVE_RESTORE )
115 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PTBR_PAGE_POOL )
116 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PTBR_BATCH_BUFFER )
117 
118 
119 //
120 // CM USAGES
121 //
122 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_SurfaceState )
123 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_StateHeap)
124 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_NO_L3_SurfaceState )
125 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_NO_LLC_ELLC_SurfaceState )
126 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_NO_LLC_SurfaceState )
127 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_NO_ELLC_SurfaceState )
128 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_NO_LLC_L3_SurfaceState )
129 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_NO_ELLC_L3_SurfaceState )
130 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_NO_CACHE_SurfaceState )
131 DEFINE_RESOURCE_USAGE( CM_RESOURCE_USAGE_L1_Enabled_SurfaceState )
132 
133 //
134 // MP USAGES
135 //
136 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_BEGIN )
137 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_DEFAULT )
138 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_DEFAULT_FF )
139 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_DEFAULT_RCS )
140 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_SurfaceState )
141 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_SurfaceState_FF )
142 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_SurfaceState_RCS )
143 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_AGE3_SurfaceState )
144 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_EDRAM_SurfaceState )
145 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_EDRAM_AGE3_SurfaceState )
146 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_No_L3_SurfaceState )
147 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_No_LLC_L3_SurfaceState )
148 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_No_LLC_L3_AGE_SurfaceState )
149 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_No_LLC_eLLC_L3_AGE_SurfaceState )
150 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_PartialEnc_No_LLC_L3_AGE_SurfaceState )
151 DEFINE_RESOURCE_USAGE( MP_RESOURCE_USAGE_END )
152 
153 // MHW - SFC USAGES
154 DEFINE_RESOURCE_USAGE( MHW_RESOURCE_USAGE_Sfc_CurrentOutputSurface )                                // SFC Output Surface
155 DEFINE_RESOURCE_USAGE( MHW_RESOURCE_USAGE_Sfc_CurrentOutputSurface_PartialEncSurface )              // SFC Output Surface for partial encrypted surfaces
156 DEFINE_RESOURCE_USAGE( MHW_RESOURCE_USAGE_Sfc_AvsLineBufferSurface )                                // SFC AVS Line buffer Surface
157 DEFINE_RESOURCE_USAGE( MHW_RESOURCE_USAGE_Sfc_IefLineBufferSurface )                                // SFC IEF Line buffer Surface
158 
159 //
160 // CODEC USAGES
161 //
162 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BEGIN_CODEC )
163 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PRE_DEBLOCKING_CODEC )
164 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PRE_DEBLOCKING_CODEC_PARTIALENCSURFACE )
165 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_POST_DEBLOCKING_CODEC )
166 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_ORIGINAL_UNCOMPRESSED_PICTURE_ENCODE )
167 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_ORIGINAL_UNCOMPRESSED_PICTURE_DECODE )
168 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_STREAMOUT_DATA_CODEC )
169 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_INTRA_ROWSTORE_SCRATCH_BUFFER_CODEC )
170 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DEBLOCKINGFILTER_ROWSTORE_SCRATCH_BUFFER_CODEC )
171 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC )
172 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MACROBLOCK_STATUS_BUFFER_CODEC )
173 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MFX_INDIRECT_BITSTREAM_OBJECT_DECODE )
174 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MFX_INDIRECT_MV_OBJECT_CODEC )
175 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MFD_INDIRECT_IT_COEF_OBJECT_DECODE )
176 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MFC_INDIRECT_PAKBASE_OBJECT_CODEC )
177 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BSDMPC_ROWSTORE_SCRATCH_BUFFER_CODEC )
178 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MPR_ROWSTORE_SCRATCH_BUFFER_CODEC )
179 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BITPLANE_READ_CODEC)
180 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_AACSBIT_VECTOR_CODEC)
181 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DIRECTMV_BUFFER_CODEC )
182 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_CURR_ENCODE )
183 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_REF_ENCODE )
184 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_MV_DATA_ENCODE )
185 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_HME_DOWNSAMPLED_ENCODE )
186 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_HME_DOWNSAMPLED_ENCODE_FF)
187 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_HME_DOWNSAMPLED_ENCODE_DST )
188 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ME_DISTORTION_ENCODE )
189 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_BRC_ME_DISTORTION_ENCODE )
190 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PAK_OBJECT_ENCODE )
191 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_FLATNESS_CHECK_ENCODE )
192 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_MBENC_CURBE_ENCODE )
193 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_MAD_ENCODE )
194 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP8_BLOCK_MODE_COST_ENCODE )
195 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP8_MB_MODE_COST_ENCODE )
196 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP8_MBENC_OUTPUT_ENCODE )
197 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP8_HISTOGRAM_ENCODE )
198 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP8_L3_LLC_ENCODE )
199 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MBDISABLE_SKIPMAP_CODEC)
200 
201 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MFX_STANDALONE_DEBLOCKING_CODEC )
202 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_MD_CODEC )
203 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_SAO_CODEC )
204 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_MV_CODEC )
205 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_STATUS_ERROR_CODEC )
206 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_LCU_ILDB_STREAMOUT_CODEC )
207 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP9_PROBABILITY_BUFFER_CODEC )
208 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP9_SEGMENT_ID_BUFFER_CODEC )
209 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP9_HVD_ROWSTORE_BUFFER_CODEC )
210 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VDENC_ROW_STORE_BUFFER_CODEC )
211 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VDENC_STREAMIN_CODEC )
212 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_MB_QP_CODEC )
213 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MACROBLOCK_ILDB_STREAM_OUT_BUFFER_CODEC )
214 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SSE_SRC_PIXEL_ROW_STORE_BUFFER_CODEC )
215 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SLICE_STATE_STREAM_OUT_BUFFER_CODEC )
216 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CABAC_SYNTAX_STREAM_OUT_BUFFER_CODEC )
217 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PRED_COL_STORE_BUFFER_CODEC )
218 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_PAK_IMAGESTATE_ENCODE)
219 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_MBENC_BRC_ENCODE)
220 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_MB_BRC_CONST_ENCODE)
221 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_BRC_MB_QP_ENCODE)
222 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_BRC_ROI_ENCODE)
223 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_SLICE_MAP_ENCODE)
224 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_WP_DOWNSAMPLED_ENCODE)
225 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_VDENC_IMAGESTATE_ENCODE)
226 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_UNCACHED )
227 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ELLC_ONLY )
228 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ELLC_LLC_ONLY )
229 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ELLC_LLC_L3 )
230 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_BRC_HISTORY_ENCODE )
231 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_SOFTWARE_SCOREBOARD_ENCODE )
232 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ME_MV_DATA_ENCODE )
233 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_MV_DISTORTION_ENCODE )
234 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_4XME_DISTORTION_ENCODE )
235 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_INTRA_DISTORTION_ENCODE )
236 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_MB_STATS_ENCODE )
237 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_PAK_STATS_ENCODE )
238 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_PIC_STATE_READ_ENCODE )
239 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_PIC_STATE_WRITE_ENCODE )
240 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_COMBINED_ENC_ENCODE )
241 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_BRC_CONSTANT_DATA_ENCODE )
242 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_INTERMEDIATE_CU_RECORD_SURFACE_ENCODE )
243 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_SCRATCH_ENCODE )
244 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_LCU_LEVEL_DATA_ENCODE )
245 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_HISTORY_INPUT_ENCODE )
246 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_HISTORY_OUTPUT_ENCODE )
247 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_DEBUG_ENCODE )
248 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_CONSTANT_TABLE_ENCODE )
249 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_CU_RECORD_ENCODE )
250 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_MV_TEMPORAL_BUFFER_ENCODE )
251 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_CU_PACKET_FOR_PAK_ENCODE )
252 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_BCOMBINED1_ENCODE )
253 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SURFACE_ENC_BCOMBINED2_ENCODE )
254 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_FRAME_STATS_STREAMOUT_DATA_CODEC )
255 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DEBLOCKINGFILTER_ROWSTORE_TILE_LINE_BUFFER_CODEC )
256 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_DEBLOCKINGFILTER_ROWSTORE_TILE_COLUMN_BUFFER_CODEC )
257 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_MD_TILE_LINE_CODEC )
258 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_MD_TILE_COLUMN_CODEC )
259 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_SAO_TILE_LINE_CODEC )
260 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HCP_SAO_TILE_COLUMN_CODEC )
261 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_VP9_PROBABILITY_COUNTER_BUFFER_CODEC )
262 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_HUC_VIRTUAL_ADDR_REGION_BUFFER_CODEC )
263 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_SIZE_STREAMOUT_CODEC )
264 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_COMPRESSED_HEADER_BUFFER_CODEC )
265 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_PROBABILITY_DELTA_BUFFER_CODEC )
266 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILE_RECORD_BUFFER_CODEC )
267 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_TILE_SIZE_STAS_BUFFER_CODEC )
268 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_END_CODEC )
269 
270 // OCL Usages
271 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_BUFFER )
272 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_BUFFER_CONST )
273 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_BUFFER_CSR_UC )
274 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED )
275 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_IMAGE )
276 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_INLINE_CONST )
277 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_INLINE_CONST_HDC )
278 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_SCRATCH )
279 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_PRIVATE_MEM )
280 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_PRINTF_BUFFER )
281 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_STATE_HEAP_BUFFER )
282 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_SYSTEM_MEMORY_BUFFER )
283 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_SYSTEM_MEMORY_BUFFER_CACHELINE_MISALIGNED )
284 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_ISH_HEAP_BUFFER )
285 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_TAG_MEMORY_BUFFER )
286 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_TEXTURE_BUFFER )
287 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_IMAGE_FROM_BUFFER )
288 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_SELF_SNOOP_BUFFER )
289 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_BUFFER_NO_LLC_CACHING )
290 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_OCL_IMAGE_NO_LLC_CACHING )
291 
292 // Cross Adapter
293 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_XADAPTER_SHARED_RESOURCE )
294 
295 // BCS usages
296 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BLT_SOURCE )
297 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_BLT_DESTINATION )
298 
299 DEFINE_RESOURCE_USAGE( GMM_RESOURCE_USAGE_CAMERA_CAPTURE )
300 
301 // Xe_LPG+ Media Usages
302 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_MEDIA_BATCH_BUFFERS)
303 // DECODE
304 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_INPUT_BITSTREAM)
305 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_INPUT_REFERENCE)
306 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_INTERNAL_READ)
307 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_INTERNAL_WRITE)
308 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_INTERNAL_READ_WRITE_CACHE)
309 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_INTERNAL_READ_WRITE_NOCACHE)
310 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_OUTPUT_PICTURE)
311 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_OUTPUT_STATISTICS_WRITE)
312 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_DECODE_OUTPUT_STATISTICS_READ_WRITE)
313 // ENCODE
314 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_INPUT_RAW)
315 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_INPUT_RECON)
316 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_INTERNAL_READ)
317 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_INTERNAL_WRITE)
318 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_INTERNAL_READ_WRITE_CACHE)
319 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_INTERNAL_READ_WRITE_NOCACHE)
320 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_EXTERNAL_READ)
321 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_OUTPUT_PICTURE)
322 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_OUTPUT_BITSTREAM)
323 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_OUTPUT_STATISTICS_WRITE)
324 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_ENCODE_OUTPUT_STATISTICS_READ_WRITE)
325 // VP
326 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INPUT_PICTURE_FF)
327 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INPUT_REFERENCE_FF)
328 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INTERNAL_READ_FF)
329 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INTERNAL_WRITE_FF)
330 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INTERNAL_READ_WRITE_FF)
331 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_OUTPUT_PICTURE_FF)
332 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INPUT_PICTURE_RENDER)
333 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INPUT_REFERENCE_RENDER)
334 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INTERNAL_READ_RENDER)
335 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INTERNAL_WRITE_RENDER)
336 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_INTERNAL_READ_WRITE_RENDER)
337 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_VP_OUTPUT_PICTURE_RENDER)
338 // CP
339 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_CP_EXTERNAL_READ)
340 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_CP_INTERNAL_WRITE)
341 
342 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_GSC_KMD_RESOURCE)
343 
344 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_KMD_NULL_CONTEXT_BB)
345 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_COMMAND_STREAMER)
346 
347 //Uncacheable copies
348 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_COPY_SOURCE)
349 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_COPY_DEST)
350 
351 // Shader resource uncachable, needed for WA_18013889147
352 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_SHADER_RESOURCE_L1_NOT_CACHED)
353 
354 DEFINE_RESOURCE_USAGE(GMM_RESOURCE_USAGE_UMD_OCA_BUFFER)
355