1 /*
2 * Copyright (c) 2015-2019, 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_render_hwcmd_g12_X.cpp
24 //! \brief Auto-generated definitions for MHW commands and states.
25 //!
26
27 #include "mhw_render_hwcmd_g12_X.h"
28 #include "mos_utilities.h"
29
MEDIA_OBJECT_CMD()30 mhw_render_g12_X::MEDIA_OBJECT_CMD::MEDIA_OBJECT_CMD()
31 {
32 DW0.Value = 0;
33 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
34 DW0.MediaCommandSubOpcode = MEDIA_COMMAND_SUB_OPCODE_MEDIAOBJECTSUBOP;
35 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAOBJECT;
36 DW0.MediaCommandPipeline = MEDIA_COMMAND_PIPELINE_MEDIA;
37 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
38
39 DW1.Value = 0;
40
41 DW2.Value = 0;
42 DW2.SubsliceDestinationSelect = SUBSLICE_DESTINATION_SELECT_SUBSLICE0;
43 DW2.SliceDestinationSelect = SLICE_DESTINATION_SELECT_SLICE0;
44 DW2.ThreadSynchronization = THREAD_SYNCHRONIZATION_NOTHREADSYNCHRONIZATION;
45
46 DW3.Value = 0;
47
48 DW4.Value = 0;
49
50 DW5.Value = 0;
51
52 }
53
PIPELINE_SELECT_CMD()54 mhw_render_g12_X::PIPELINE_SELECT_CMD::PIPELINE_SELECT_CMD()
55 {
56 DW0.Value = 0;
57 DW0.PipelineSelection = PIPELINE_SELECTION_3D;
58 DW0.RenderSliceCommonPowerGateEnable = RENDER_SLICE_COMMON_POWER_GATE_ENABLE_DISABLED;
59 DW0.RenderSamplerPowerGateEnable = RENDER_SAMPLER_POWER_GATE_ENABLE_DISABLED;
60 DW0.MediaSamplerDopClockGateEnable = MEDIA_SAMPLER_DOP_CLOCK_GATE_ENABLE_DISABLED;
61 DW0.ForceMediaAwake = FORCE_MEDIA_AWAKE_DISABLED;
62 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_PIPELINESELECT;
63 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
64 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPESINGLEDW;
65 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
66
67 }
68
STATE_BASE_ADDRESS_CMD()69 mhw_render_g12_X::STATE_BASE_ADDRESS_CMD::STATE_BASE_ADDRESS_CMD()
70 {
71 DW0.Value = 0;
72 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
73 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_STATEBASEADDRESS;
74 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
75 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPECOMMON;
76 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
77
78 DW1_2.Value[0] = DW1_2.Value[1] = 0;
79 DW1_2.GeneralStateBaseAddressModifyEnable = GENERAL_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
80
81 DW3.Value = 0;
82 //To improve performance disable support for MultipleGpuParitalWrites
83 //Current kernels don't support cross tiles writes
84 DW3.DisableSupportForMultiGpuPartialWritesForStatelessMessages = 1;
85 DW3.DisableSupportforMultiGPUAtomicsforStatelessAccesses = 1;
86
87 DW4_5.Value[0] = DW4_5.Value[1] = 0;
88 DW4_5.SurfaceStateBaseAddressModifyEnable = SURFACE_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
89
90 DW6_7.Value[0] = DW6_7.Value[1] = 0;
91 DW6_7.DynamicStateBaseAddressModifyEnable = DYNAMIC_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
92
93 DW8_9.Value[0] = DW8_9.Value[1] = 0;
94 DW8_9.IndirectObjectBaseAddressModifyEnable = INDIRECT_OBJECT_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
95
96 DW10_11.Value[0] = DW10_11.Value[1] = 0;
97 DW10_11.InstructionBaseAddressModifyEnable = INSTRUCTION_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
98
99 DW12.Value = 0;
100 DW12.GeneralStateBufferSizeModifyEnable = GENERAL_STATE_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
101
102 DW13.Value = 0;
103 DW13.DynamicStateBufferSizeModifyEnable = DYNAMIC_STATE_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
104
105 DW14.Value = 0;
106 DW14.IndirectObjectBufferSizeModifyEnable = INDIRECT_OBJECT_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
107
108 DW15.Value = 0;
109 DW15.InstructionBufferSizeModifyEnable = INSTRUCTION_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
110
111 DW16_17.Value[0] = DW16_17.Value[1] = 0;
112 DW16_17.BindlessSurfaceStateBaseAddressModifyEnable = BINDLESS_SURFACE_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
113
114 DW18.Value = 0;
115
116 DW19_20.Value[0] = DW19_20.Value[1] = 0;
117 DW19_20.BindlessSamplerStateBaseAddressModifyEnable = BINDLESS_SAMPLER_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
118
119 DW21.Value = 0;
120
121 }
122
MEDIA_VFE_STATE_CMD()123 mhw_render_g12_X::MEDIA_VFE_STATE_CMD::MEDIA_VFE_STATE_CMD()
124 {
125 DW0.Value = 0;
126 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
127 DW0.Subopcode = SUBOPCODE_MEDIAVFESTATESUBOP;
128 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAVFESTATE;
129 DW0.Pipeline = PIPELINE_MEDIA;
130 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
131
132 DW1.Value = 0;
133
134 DW2.Value = 0;
135
136 DW3.Value = 0;
137 DW3.DispatchLoadBalance = DISPATCH_LOAD_BALANCE_LEASTLOADED;
138 DW3.FusedEuDispatch = FUSED_EU_DISPATCH_LEGACYMODE_THREADSARENOTFUSED;
139
140 DW4.Value = 0;
141
142 DW5.Value = 0;
143
144 DW6.Value = 0;
145
146 DW7.Value = 0;
147
148 DW8.Value = 0;
149
150 }
151
MEDIA_CURBE_LOAD_CMD()152 mhw_render_g12_X::MEDIA_CURBE_LOAD_CMD::MEDIA_CURBE_LOAD_CMD()
153 {
154 DW0.Value = 0;
155 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
156 DW0.Subopcode = SUBOPCODE_MEDIACURBELOADSUBOP;
157 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIACURBELOAD;
158 DW0.Pipeline = PIPELINE_MEDIA;
159 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
160
161 DW1.Value = 0;
162
163 DW2.Value = 0;
164
165 DW3.Value = 0;
166
167 }
168
MEDIA_INTERFACE_DESCRIPTOR_LOAD_CMD()169 mhw_render_g12_X::MEDIA_INTERFACE_DESCRIPTOR_LOAD_CMD::MEDIA_INTERFACE_DESCRIPTOR_LOAD_CMD()
170 {
171 DW0.Value = 0;
172 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
173 DW0.Subopcode = SUBOPCODE_MEDIAINTERFACEDESCRIPTORLOADSUBOP;
174 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAINTERFACEDESCRIPTORLOAD;
175 DW0.Pipeline = PIPELINE_MEDIA;
176 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
177
178 DW1.Value = 0;
179
180 DW2.Value = 0;
181
182 DW3.Value = 0;
183
184 }
185
MEDIA_OBJECT_WALKER_CMD()186 mhw_render_g12_X::MEDIA_OBJECT_WALKER_CMD::MEDIA_OBJECT_WALKER_CMD()
187 {
188 DW0.Value = 0;
189 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
190 DW0.Subopcode = SUBOPCODE_MEDIAOBJECTWALKERSUBOP;
191 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAOBJECTWALKER;
192 DW0.Pipeline = PIPELINE_MEDIA;
193 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
194
195 DW1.Value = 0;
196
197 DW2.Value = 0;
198 DW2.MaskedDispatch = MASKED_DISPATCH_UNNAMED0;
199 DW2.ThreadSynchronization = THREAD_SYNCHRONIZATION_NOTHREADSYNCHRONIZATION;
200
201 DW3.Value = 0;
202
203 DW4.Value = 0;
204
205 DW5.Value = 0;
206 DW5.GroupIdLoopSelect = GROUP_ID_LOOP_SELECT_NOGROUPS;
207
208 DW6.Value = 0;
209
210 DW7.Value = 0;
211
212 DW8.Value = 0;
213
214 DW9.Value = 0;
215
216 DW10.Value = 0;
217
218 DW11.Value = 0;
219
220 DW12.Value = 0;
221
222 DW13.Value = 0;
223
224 DW14.Value = 0;
225
226 DW15.Value = 0;
227
228 DW16.Value = 0;
229
230 }
231
GPGPU_WALKER_CMD()232 mhw_render_g12_X::GPGPU_WALKER_CMD::GPGPU_WALKER_CMD()
233 {
234 DW0.Value = 0;
235 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
236 DW0.Subopcode = SUBOPCODE_GPGPUWALKERSUBOP;
237 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_GPGPUWALKER;
238 DW0.Pipeline = PIPELINE_MEDIA;
239 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
240
241 DW1.Value = 0;
242
243 DW2.Value = 0;
244
245 DW3.Value = 0;
246
247 DW4.Value = 0;
248 DW4.SimdSize = SIMD_SIZE_SIMD8;
249
250 DW5.Value = 0;
251
252 DW6.Value = 0;
253
254 DW7.Value = 0;
255
256 DW8.Value = 0;
257
258 DW9.Value = 0;
259
260 DW10.Value = 0;
261
262 DW11.Value = 0;
263
264 DW12.Value = 0;
265
266 DW13.Value = 0;
267
268 DW14.Value = 0;
269
270 }
271
_3DSTATE_CHROMA_KEY_CMD()272 mhw_render_g12_X::_3DSTATE_CHROMA_KEY_CMD::_3DSTATE_CHROMA_KEY_CMD()
273 {
274 DW0.Value = 0;
275 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
276 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_3DSTATECHROMAKEY;
277 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_3DSTATENONPIPELINED;
278 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE3D;
279 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
280
281 DW1.Value = 0;
282
283 DW2.Value = 0;
284
285 DW3.Value = 0;
286
287 }
288
PALETTE_ENTRY_CMD()289 mhw_render_g12_X::PALETTE_ENTRY_CMD::PALETTE_ENTRY_CMD()
290 {
291 DW0.Value = 0;
292
293 }
294
STATE_SIP_CMD()295 mhw_render_g12_X::STATE_SIP_CMD::STATE_SIP_CMD()
296 {
297 DW0.Value = 0;
298 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
299 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_STATESIP;
300 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
301 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPECOMMON;
302 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
303
304 DW1_2.Value[0] = DW1_2.Value[1] = 0;
305
306 }
307
GPGPU_CSR_BASE_ADDRESS_CMD()308 mhw_render_g12_X::GPGPU_CSR_BASE_ADDRESS_CMD::GPGPU_CSR_BASE_ADDRESS_CMD()
309 {
310 DW0.Value = 0;
311 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
312 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_GPGPUCSRBASEADDRESS;
313 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
314 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPECOMMON;
315 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
316
317 DW1_2.Value[0] = DW1_2.Value[1] = 0;
318
319 }