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