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_g10_X.cpp
24 //! \brief Auto-generated definitions for MHW commands and states.
25 //!
26
27 #include "mhw_mi_hwcmd_g10_X.h"
28 #include "mos_utilities.h"
29
MI_BATCH_BUFFER_END_CMD()30 mhw_mi_g10_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_g10_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_g10_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_g10_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_g10_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_g10_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_g10_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_g10_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 = SECOND_LEVEL_BATCH_BUFFER_FIRSTLEVELBATCH;
113 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIBATCHBUFFERSTART;
114 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
115
116 DW1_2.Value[0] = DW1_2.Value[1] = 0;
117
118 }
119
MI_SET_PREDICATE_CMD()120 mhw_mi_g10_X::MI_SET_PREDICATE_CMD::MI_SET_PREDICATE_CMD()
121 {
122 DW0.Value = 0;
123 DW0.PredicateEnable = PREDICATE_ENABLE_NOOPNEVER;
124 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISETPREDICATE;
125 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
126
127 }
128
MI_COPY_MEM_MEM_CMD()129 mhw_mi_g10_X::MI_COPY_MEM_MEM_CMD::MI_COPY_MEM_MEM_CMD()
130 {
131 DW0.Value = 0;
132 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
133 DW0.UseGlobalGttDestination = USE_GLOBAL_GTT_DESTINATION_PERPROCESSGRAPHICSADDRESS;
134 DW0.UseGlobalGttSource = USE_GLOBAL_GTT_SOURCE_PERPROCESSGRAPHICSADDRESS;
135 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIMEMTOMEM;
136 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
137
138 DW1_2.Value[0] = DW1_2.Value[1] = 0;
139
140 DW3_4.Value[0] = DW3_4.Value[1] = 0;
141
142 }
143
MI_STORE_DATA_IMM_CMD()144 mhw_mi_g10_X::MI_STORE_DATA_IMM_CMD::MI_STORE_DATA_IMM_CMD()
145 {
146 DW0.Value = 0;
147 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
148 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISTOREDATAIMM;
149 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
150
151 DW1_2.Value[0] = DW1_2.Value[1] = 0;
152
153 DW3.Value = 0;
154
155 DW4.Value = 0;
156
157 }
158
MI_SEMAPHORE_SIGNAL_CMD()159 mhw_mi_g10_X::MI_SEMAPHORE_SIGNAL_CMD::MI_SEMAPHORE_SIGNAL_CMD()
160 {
161 DW0.Value = 0;
162 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
163 DW0.TargetEngineSelect = TARGET_ENGINE_SELECT_RCS;
164 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISEMAPHORESIGNAL;
165 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
166
167 DW1.Value = 0;
168
169 }
170
MI_SEMAPHORE_WAIT_CMD()171 mhw_mi_g10_X::MI_SEMAPHORE_WAIT_CMD::MI_SEMAPHORE_WAIT_CMD()
172 {
173 DW0.Value = 0;
174 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
175 DW0.CompareOperation = COMPARE_OPERATION_SADGREATERTHANSDD;
176 DW0.WaitMode = WAIT_MODE_SIGNALMODE;
177 DW0.RegisterPollMode = REGISTER_POLL_MODE_REGISTERPOLL;
178 DW0.MemoryType = MEMORY_TYPE_PERPROCESSGRAPHICSADDRESS;
179 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISEMAPHOREWAIT;
180 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
181
182 DW1.Value = 0;
183
184 DW2_3.Value[0] = DW2_3.Value[1] = 0;
185
186 }
187
MI_CONDITIONAL_BATCH_BUFFER_END_CMD()188 mhw_mi_g10_X::MI_CONDITIONAL_BATCH_BUFFER_END_CMD::MI_CONDITIONAL_BATCH_BUFFER_END_CMD()
189 {
190 DW0.Value = 0;
191 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
192 DW0.CompareMaskMode = COMPARE_MASK_MODE_COMPAREMASKMODEDISABLED;
193 DW0.CompareSemaphore = COMPARE_SEMAPHORE_UNNAMED0;
194 DW0.UseGlobalGtt = USE_GLOBAL_GTT_UNNAMED0;
195 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MICONDITIONALBATCHBUFFEREND;
196 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
197
198 DW1.Value = 0;
199
200 DW2_3.Value[0] = DW2_3.Value[1] = 0;
201
202 }
203
MI_ATOMIC_CMD()204 mhw_mi_g10_X::MI_ATOMIC_CMD::MI_ATOMIC_CMD()
205 {
206 DW0.Value = 0;
207 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
208 DW0.DataSize = DATA_SIZE_DWORD;
209 DW0.MemoryType = MEMORY_TYPE_PERPROCESSGRAPHICSADDRESS;
210 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIATOMIC;
211 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
212
213 DW1.Value = 0;
214
215 DW2.Value = 0;
216
217 DW3.Value = 0;
218
219 DW4.Value = 0;
220
221 DW5.Value = 0;
222
223 DW6.Value = 0;
224
225 DW7.Value = 0;
226
227 DW8.Value = 0;
228
229 DW9.Value = 0;
230
231 DW10.Value = 0;
232
233 }
234
MI_MATH_CMD()235 mhw_mi_g10_X::MI_MATH_CMD::MI_MATH_CMD()
236 {
237 DW0.Value = 0;
238 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
239 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIMATH;
240 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
241
242 }
243
MI_FLUSH_DW_CMD()244 mhw_mi_g10_X::MI_FLUSH_DW_CMD::MI_FLUSH_DW_CMD()
245 {
246 DW0.Value = 0;
247 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
248 DW0.PostSyncOperation = POST_SYNC_OPERATION_NOWRITE;
249 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIFLUSHDW;
250 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
251
252 DW1_2.Value[0] = DW1_2.Value[1] = 0;
253 DW1_2.DestinationAddressType = DESTINATION_ADDRESS_TYPE_PPGTT;
254
255 DW3_4.Value[0] = DW3_4.Value[1] = 0;
256
257 }
258
PIPE_CONTROL_CMD()259 mhw_mi_g10_X::PIPE_CONTROL_CMD::PIPE_CONTROL_CMD()
260 {
261 DW0.Value = 0;
262 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
263 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_PIPECONTROL;
264 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_PIPECONTROL;
265 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE3D;
266 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
267
268 DW1.Value = 0;
269 DW1.DepthCacheFlushEnable = DEPTH_CACHE_FLUSH_ENABLE_FLUSHDISABLED;
270 DW1.StallAtPixelScoreboard = STALL_AT_PIXEL_SCOREBOARD_DISABLE;
271 DW1.RenderTargetCacheFlushEnable = RENDER_TARGET_CACHE_FLUSH_ENABLE_DISABLEFLUSH;
272 DW1.DepthStallEnable = DEPTH_STALL_ENABLE_DISABLE;
273 DW1.PostSyncOperation = POST_SYNC_OPERATION_NOWRITE;
274 DW1.GlobalSnapshotCountReset = GLOBAL_SNAPSHOT_COUNT_RESET_DONTRESET;
275 DW1.LriPostSyncOperation = LRI_POST_SYNC_OPERATION_NOLRIOPERATION;
276 DW1.DestinationAddressType = DESTINATION_ADDRESS_TYPE_PPGTT;
277
278 DW2.Value = 0;
279
280 DW3.Value = 0;
281
282 DW4_5.Value[0] = DW4_5.Value[1] = 0;
283
284 }
285
MFX_WAIT_CMD()286 mhw_mi_g10_X::MFX_WAIT_CMD::MFX_WAIT_CMD()
287 {
288 DW0.Value = 0;
289 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
290 DW0.SubOpcode = SUB_OPCODE_MFXWAIT;
291 DW0.CommandSubtype = COMMAND_SUBTYPE_MFXSINGLEDW;
292 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
293
294 }
295
MEDIA_STATE_FLUSH_CMD()296 mhw_mi_g10_X::MEDIA_STATE_FLUSH_CMD::MEDIA_STATE_FLUSH_CMD()
297 {
298 DW0.Value = 0;
299 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
300 DW0.Subopcode = SUBOPCODE_MEDIASTATEFLUSHSUBOP;
301 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIASTATEFLUSH;
302 DW0.Pipeline = PIPELINE_MEDIA;
303 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
304
305 DW1.Value = 0;
306
307 }
308
309