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 }