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 //! \file mhw_mi_hwcmd_g8_X.cpp
24 //! \brief Auto-generated definitions for MHW commands and states.
25 //!
26
27 #include "mhw_mi_hwcmd_g8_X.h"
28 #include "mos_utilities.h"
29
MI_BATCH_BUFFER_END_CMD()30 mhw_mi_g8_X::MI_BATCH_BUFFER_END_CMD::MI_BATCH_BUFFER_END_CMD()
31 {
32 DW0.Value = 0;
33 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIBATCHBUFFEREND;
34 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
35
36 }
37
MI_NOOP_CMD()38 mhw_mi_g8_X::MI_NOOP_CMD::MI_NOOP_CMD()
39 {
40 DW0.Value = 0;
41 DW0.IdentificationNumberRegisterWriteEnable = 0;
42 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MINOOP;
43 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
44
45 }
46
MI_ARB_CHECK_CMD()47 mhw_mi_g8_X::MI_ARB_CHECK_CMD::MI_ARB_CHECK_CMD()
48 {
49 DW0.Value = 0;
50 DW0.MiInstructionOpcode = MI_INSTRUCTION_OPCODE_MIARBCHECK;
51 DW0.MiInstructionType = MI_INSTRUCTION_TYPE_MIINSTRUCTION;
52
53 }
54
MI_LOAD_REGISTER_IMM_CMD()55 mhw_mi_g8_X::MI_LOAD_REGISTER_IMM_CMD::MI_LOAD_REGISTER_IMM_CMD()
56 {
57 DW0.Value = 0;
58 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
59 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MILOADREGISTERIMM;
60 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
61
62 DW1.Value = 0;
63
64 DW2.Value = 0;
65
66 }
67
MI_LOAD_REGISTER_MEM_CMD()68 mhw_mi_g8_X::MI_LOAD_REGISTER_MEM_CMD::MI_LOAD_REGISTER_MEM_CMD()
69 {
70 DW0.Value = 0;
71 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
72 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MILOADREGISTERMEM;
73 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
74
75 DW1.Value = 0;
76
77 DW2_3.Value[0] = DW2_3.Value[1] = 0;
78
79 }
80
MI_LOAD_REGISTER_REG_CMD()81 mhw_mi_g8_X::MI_LOAD_REGISTER_REG_CMD::MI_LOAD_REGISTER_REG_CMD()
82 {
83 DW0.Value = 0;
84 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
85 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MILOADREGISTERREG;
86 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
87
88 DW1.Value = 0;
89
90 DW2.Value = 0;
91
92 }
93
MI_STORE_REGISTER_MEM_CMD()94 mhw_mi_g8_X::MI_STORE_REGISTER_MEM_CMD::MI_STORE_REGISTER_MEM_CMD()
95 {
96 DW0.Value = 0;
97 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
98 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISTOREREGISTERMEM;
99 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
100
101 DW1.Value = 0;
102
103 DW2_3.Value[0] = DW2_3.Value[1] = 0;
104
105 }
106
MI_BATCH_BUFFER_START_CMD()107 mhw_mi_g8_X::MI_BATCH_BUFFER_START_CMD::MI_BATCH_BUFFER_START_CMD()
108 {
109 DW0.Value = 0;
110 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
111 DW0.AddressSpaceIndicator = ADDRESS_SPACE_INDICATOR_GGTT;
112 DW0.SecondLevelBatchBuffer = _2ND_LEVEL_BATCH_BUFFER_1STLEVELBATCH;
113 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIBATCHBUFFERSTART;
114 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
115
116 DW1.Value = 0;
117
118 DW2.Value = 0;
119
120 }
121
MI_SET_PREDICATE_CMD()122 mhw_mi_g8_X::MI_SET_PREDICATE_CMD::MI_SET_PREDICATE_CMD()
123 {
124 DW0.Value = 0;
125 DW0.PredicateEnable = PREDICATE_ENABLE_NOOPNEVER;
126 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISETPREDICATE;
127 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
128
129 }
130
MI_COPY_MEM_MEM_CMD()131 mhw_mi_g8_X::MI_COPY_MEM_MEM_CMD::MI_COPY_MEM_MEM_CMD()
132 {
133 DW0.Value = 0;
134 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
135 DW0.UseGlobalGttDestination = USE_GLOBAL_GTT_DESTINATION_PERPROCESSGRAPHICSADDRESS;
136 DW0.UseGlobalGttSource = USE_GLOBAL_GTT_SOURCE_PERPROCESSGRAPHICSADDRESS;
137 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIMEMTOMEM;
138 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
139
140 DW1_2.Value[0] = DW1_2.Value[1] = 0;
141
142 DW3_4.Value[0] = DW3_4.Value[1] = 0;
143
144 }
145
MI_STORE_DATA_IMM_CMD()146 mhw_mi_g8_X::MI_STORE_DATA_IMM_CMD::MI_STORE_DATA_IMM_CMD()
147 {
148 DW0.Value = 0;
149 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
150 DW0.StoreQword = STORE_QWORD_STOREDWORD;
151 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISTOREDATAIMM;
152 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
153
154 DW1_2.Value[0] = DW1_2.Value[1] = 0;
155
156 DW3.Value = 0;
157
158 DW4.Value = 0;
159
160 }
161
MI_SEMAPHORE_SIGNAL_CMD()162 mhw_mi_g8_X::MI_SEMAPHORE_SIGNAL_CMD::MI_SEMAPHORE_SIGNAL_CMD()
163 {
164 DW0.Value = 0;
165 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
166 DW0.TargetEngineSelect = TARGET_ENGINE_SELECT_RCS;
167 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISEMAPHORESIGNAL;
168 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
169
170 DW1.Value = 0;
171
172 }
173
MI_SEMAPHORE_WAIT_CMD()174 mhw_mi_g8_X::MI_SEMAPHORE_WAIT_CMD::MI_SEMAPHORE_WAIT_CMD()
175 {
176 DW0.Value = 0;
177 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
178 DW0.CompareOperation = COMPARE_OPERATION_SADGREATERTHANSDD;
179 DW0.WaitMode = WAIT_MODE_SIGNALMODE;
180 DW0.MemoryType = MEMORY_TYPE_PERPROCESSGRAPHICSADDRESS;
181 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISEMAPHOREWAIT;
182 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
183
184 DW1.Value = 0;
185
186 DW2_3.Value[0] = DW2_3.Value[1] = 0;
187
188 }
189
MI_CONDITIONAL_BATCH_BUFFER_END_CMD()190 mhw_mi_g8_X::MI_CONDITIONAL_BATCH_BUFFER_END_CMD::MI_CONDITIONAL_BATCH_BUFFER_END_CMD()
191 {
192 DW0.Value = 0;
193 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
194 DW0.CompareSemaphore = COMPARE_SEMAPHORE_DEFAULTVAUEDESC;
195 DW0.UseGlobalGtt = USE_GLOBAL_GTT_DEFAULTVAUEDESC;
196 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MICONDITIONALBATCHBUFFEREND;
197 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
198
199 DW1.Value = 0;
200
201 DW2.Value = 0;
202
203 DW3.Value = 0;
204
205 }
206
MI_ATOMIC_CMD()207 mhw_mi_g8_X::MI_ATOMIC_CMD::MI_ATOMIC_CMD()
208 {
209 DW0.Value = 0;
210 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
211 DW0.DataSize = DATA_SIZE_DWORD;
212 DW0.MemoryType = MEMORY_TYPE_PERPROCESSGRAPHICSADDRESS;
213 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIATOMIC;
214 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
215
216 DW1.Value = 0;
217
218 DW2.Value = 0;
219
220 DW3.Value = 0;
221
222 DW4.Value = 0;
223
224 DW5.Value = 0;
225
226 DW6.Value = 0;
227
228 DW7.Value = 0;
229
230 DW8.Value = 0;
231
232 DW9.Value = 0;
233
234 DW10.Value = 0;
235
236 }
237
MI_MATH_CMD()238 mhw_mi_g8_X::MI_MATH_CMD::MI_MATH_CMD()
239 {
240 DW0.Value = 0;
241 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
242 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIMATH;
243 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
244
245 }
246
MI_FLUSH_DW_CMD()247 mhw_mi_g8_X::MI_FLUSH_DW_CMD::MI_FLUSH_DW_CMD()
248 {
249 DW0.Value = 0;
250 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
251 DW0.PostSyncOperation = POST_SYNC_OPERATION_NOWRITE;
252 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIFLUSHDW;
253 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
254
255 DW1_2.Value[0] = DW1_2.Value[1] = 0;
256 DW1_2.DestinationAddressType = DESTINATION_ADDRESS_TYPE_PPGTT;
257
258 DW3_4.Value[0] = DW3_4.Value[1] = 0;
259
260 }
261
PIPE_CONTROL_CMD()262 mhw_mi_g8_X::PIPE_CONTROL_CMD::PIPE_CONTROL_CMD()
263 {
264 DW0.Value = 0;
265 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
266 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_PIPECONTROL;
267 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_PIPECONTROL;
268 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE3D;
269 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
270
271 DW1.Value = 0;
272 DW1.DepthCacheFlushEnable = DEPTH_CACHE_FLUSH_ENABLE_FLUSHDISABLED;
273 DW1.StallAtPixelScoreboard = STALL_AT_PIXEL_SCOREBOARD_DISABLE;
274 DW1.RenderTargetCacheFlushEnable = RENDER_TARGET_CACHE_FLUSH_ENABLE_DISABLEFLUSH;
275 DW1.DepthStallEnable = DEPTH_STALL_ENABLE_DISABLE;
276 DW1.PostSyncOperation = POST_SYNC_OPERATION_NOWRITE;
277 DW1.GlobalSnapshotCountReset = GLOBAL_SNAPSHOT_COUNT_RESET_DONTRESET;
278 DW1.LriPostSyncOperation = LRI_POST_SYNC_OPERATION_NOLRIOPERATION;
279 DW1.DestinationAddressType = DESTINATION_ADDRESS_TYPE_PPGTT;
280
281 DW2.Value = 0;
282
283 DW3.Value = 0;
284
285 DW4_5.Value[0] = DW4_5.Value[1] = 0;
286
287 }
288
MFX_WAIT_CMD()289 mhw_mi_g8_X::MFX_WAIT_CMD::MFX_WAIT_CMD()
290 {
291 DW0.Value = 0;
292 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
293 DW0.SubOpcode = SUB_OPCODE_MFXWAIT;
294 DW0.CommandSubtype = COMMAND_SUBTYPE_MFXSINGLEDW;
295 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
296
297 }
298
MEDIA_STATE_FLUSH_CMD()299 mhw_mi_g8_X::MEDIA_STATE_FLUSH_CMD::MEDIA_STATE_FLUSH_CMD()
300 {
301 DW0.Value = 0;
302 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
303 DW0.Subopcode = SUBOPCODE_MEDIASTATEFLUSHSUBOP;
304 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIASTATEFLUSH;
305 DW0.Pipeline = PIPELINE_MEDIA;
306 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
307
308 DW1.Value = 0;
309
310 }
311
312