xref: /aosp_15_r20/external/intel-media-driver/media_driver/agnostic/gen8/hw/mhw_mi_hwcmd_g8_X.cpp (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
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