1 /*===================== begin_copyright_notice ==================================
2 
3 * Copyright (c) 2021, Intel Corporation
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included
13 * in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
21 * OTHER DEALINGS IN THE SOFTWARE.
22 
23 ======================= end_copyright_notice ==================================*/
24 
25 //!
26 //! \file   mhw_render_hwcmd_xe_hp_base.cpp
27 //! \brief  Auto-generated definitions for MHW commands and states.
28 //!
29 
30 // DO NOT EDIT
31 
32 #include "mhw_render_hwcmd_xe_hp_base.h"
33 #include <string.h>
34 
PIPELINE_SELECT_CMD()35 mhw_render_xe_xpm_base::PIPELINE_SELECT_CMD::PIPELINE_SELECT_CMD()
36 {
37     DW0.Value                                        = 0x69040000;
38     //DW0.PipelineSelection                            = PIPELINE_SELECTION_3D;
39     //DW0.RenderSliceCommonPowerGateEnable             = RENDER_SLICE_COMMON_POWER_GATE_ENABLE_DISABLED;
40     //DW0.RenderSamplerPowerGateEnable                 = RENDER_SAMPLER_POWER_GATE_ENABLE_DISABLED;
41     //DW0.MediaSamplerDopClockGateEnable               = MEDIA_SAMPLER_DOP_CLOCK_GATE_ENABLE_DISABLED;
42     //DW0.SystolicModeEnable                           = SYSTOLIC_MODE_ENABLE_SYSTOLICMODEDISABLED;
43     //DW0._3DCommandSubOpcode                          = _3D_COMMAND_SUB_OPCODE_PIPELINESELECT;
44     //DW0._3DCommandOpcode                             = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
45     //DW0.CommandSubtype                               = COMMAND_SUBTYPE_GFXPIPESINGLEDW;
46     //DW0.CommandType                                  = COMMAND_TYPE_GFXPIPE;
47 
48 }
49 
STATE_BASE_ADDRESS_CMD()50 mhw_render_xe_xpm_base::STATE_BASE_ADDRESS_CMD::STATE_BASE_ADDRESS_CMD()
51 {
52     DW0.Value                                        = 0x61010014;
53     //DW0.DwordLength                                  = GetOpLength(dwSize);
54     //DW0.Command3DSubOpcode                          = _3D_COMMAND_SUB_OPCODE_STATEBASEADDRESS;
55     //DW0.Command3DOpcode                             = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
56     //DW0.CommandSubtype                               = COMMAND_SUBTYPE_GFXPIPECOMMON;
57     //DW0.CommandType                                  = COMMAND_TYPE_GFXPIPE;
58 
59     DW1_2.Value[0] = DW1_2.Value[1]                  = 0x00000000;
60     //DW1_2.GeneralStateBaseAddressModifyEnable        = GENERAL_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
61 
62     DW3.Value                                        = 0x00000000;
63     //DW3.CoherencySettingModifyEnable                 = COHERENCY_SETTING_MODIFY_ENABLE_DISABLEWRITETOTHISDW;
64     //DW3.EnableMemoryCompressionForAllStatelessAccesses = ENABLE_MEMORY_COMPRESSION_FOR_ALL_STATELESS_ACCESSES_DISABLED;
65     //DW3.DisableSupportForMultiGpuAtomicsForStatelessAccesses = DISABLE_SUPPORT_FOR_MULTI_GPU_ATOMICS_FOR_STATELESS_ACCESSES_ENABLE;
66 
67     //To improve performance disable support for MultipleGpu sync features
68     //Current kernels don't support cross tiles writes
69     DW3.DisableSupportForMultiGpuAtomicsForStatelessAccesses = DISABLE_SUPPORT_FOR_MULTI_GPU_ATOMICS_FOR_STATELESS_ACCESSES_DISABLE;
70     DW3.DisableSupportForMultiGpuPartialWritesForStatelessMessages = DISABLE_SUPPORT_FOR_MULTI_GPU_PARTIAL_WRITES_FOR_STATELESS_MESSAGES_DISABLED;
71 
72     DW4_5.Value[0] = DW4_5.Value[1]                  = 0x00000000;
73     //DW4_5.SurfaceStateBaseAddressModifyEnable        = SURFACE_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
74 
75     DW6_7.Value[0] = DW6_7.Value[1]                  = 0x00000000;
76     //DW6_7.DynamicStateBaseAddressModifyEnable        = DYNAMIC_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
77 
78     DW8_9.Value[0] = DW8_9.Value[1]                  = 0x00000000;
79     //DW8_9.IndirectObjectBaseAddressModifyEnable      = INDIRECT_OBJECT_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
80 
81     DW10_11.Value[0] = DW10_11.Value[1]              = 0x00000000;
82     //DW10_11.InstructionBaseAddressModifyEnable       = INSTRUCTION_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
83 
84     DW12.Value                                       = 0x00000000;
85     //DW12.GeneralStateBufferSizeModifyEnable          = GENERAL_STATE_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
86 
87     DW13.Value                                       = 0x00000000;
88     //DW13.DynamicStateBufferSizeModifyEnable          = DYNAMIC_STATE_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
89 
90     DW14.Value                                       = 0x00000000;
91     //DW14.IndirectObjectBufferSizeModifyEnable        = INDIRECT_OBJECT_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
92 
93     DW15.Value                                       = 0x00000000;
94     //DW15.InstructionBufferSizeModifyEnable           = INSTRUCTION_BUFFER_SIZE_MODIFY_ENABLE_DISABLE;
95 
96     DW16_17.Value[0] = DW16_17.Value[1]              = 0x00000000;
97     //DW16_17.BindlessSurfaceStateBaseAddressModifyEnable = BINDLESS_SURFACE_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
98 
99     DW18.Value                                       = 0x00000000;
100 
101     DW19_20.Value[0] = DW19_20.Value[1]              = 0x00000000;
102     //DW19_20.BindlessSamplerStateBaseAddressModifyEnable = BINDLESS_SAMPLER_STATE_BASE_ADDRESS_MODIFY_ENABLE_DISABLE;
103 
104     DW21.Value                                       = 0x00000000;
105 
106 }
107 
_3DSTATE_CHROMA_KEY_CMD()108 mhw_render_xe_xpm_base::_3DSTATE_CHROMA_KEY_CMD::_3DSTATE_CHROMA_KEY_CMD()
109 {
110     DW0.Value                                        = 0x79040002;
111     //DW0.DwordLength                                  = GetOpLength(dwSize);
112     //DW0._3DCommandSubOpcode                          = _3D_COMMAND_SUB_OPCODE_3DSTATECHROMAKEY;
113     //DW0._3DCommandOpcode                             = _3D_COMMAND_OPCODE_3DSTATENONPIPELINED;
114     //DW0.CommandSubtype                               = COMMAND_SUBTYPE_GFXPIPE3D;
115     //DW0.CommandType                                  = COMMAND_TYPE_GFXPIPE;
116 
117     DW1.Value                                        = 0x00000000;
118 
119     DW2.Value                                        = 0x00000000;
120 
121     DW3.Value                                        = 0x00000000;
122 
123 }
124 
PALETTE_ENTRY_CMD()125 mhw_render_xe_xpm_base::PALETTE_ENTRY_CMD::PALETTE_ENTRY_CMD()
126 {
127     DW0.Value                                        = 0x00000000;
128 
129 }
130 
STATE_SIP_CMD()131 mhw_render_xe_xpm_base::STATE_SIP_CMD::STATE_SIP_CMD()
132 {
133     DW0.Value                                        = 0x61020001;
134     //DW0.DwordLength                                  = GetOpLength(dwSize);
135     //DW0._3DCommandSubOpcode                          = _3D_COMMAND_SUB_OPCODE_STATESIP;
136     //DW0._3DCommandOpcode                             = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
137     //DW0.CommandSubtype                               = COMMAND_SUBTYPE_GFXPIPECOMMON;
138     //DW0.CommandType                                  = COMMAND_TYPE_GFXPIPE;
139 
140     DW1_2.Value[0] = DW1_2.Value[1]                  = 0x00000000;
141 
142 }
143 
GPGPU_CSR_BASE_ADDRESS_CMD()144 mhw_render_xe_xpm_base::GPGPU_CSR_BASE_ADDRESS_CMD::GPGPU_CSR_BASE_ADDRESS_CMD()
145 {
146     DW0.Value                                        = 0x61040001;
147     //DW0.DwordLength                                  = GetOpLength(dwSize);
148     //DW0._3DCommandSubOpcode                          = _3D_COMMAND_SUB_OPCODE_GPGPUCSRBASEADDRESS;
149     //DW0._3DCommandOpcode                             = _3D_COMMAND_OPCODE_GFXPIPENONPIPELINED;
150     //DW0.CommandSubtype                               = COMMAND_SUBTYPE_GFXPIPECOMMON;
151     //DW0.CommandType                                  = COMMAND_TYPE_GFXPIPE;
152 
153     DW1_2.Value[0] = DW1_2.Value[1]                  = 0x00000000;
154 
155 }
156 
_3DSTATE_BINDING_TABLE_POOL_ALLOC_CMD()157 mhw_render_xe_xpm_base::_3DSTATE_BINDING_TABLE_POOL_ALLOC_CMD::_3DSTATE_BINDING_TABLE_POOL_ALLOC_CMD()
158 {
159     DW0.Value                                        = 0x79190002;
160     //DW0.DwordLength                                  = GetOpLength(dwSize);
161     //DW0._3DCommandSubOpcode                          = _3D_COMMAND_SUB_OPCODE_3DSTATEBINDINGTABLEPOOLALLOC;
162     //DW0._3DCommandOpcode                             = _3D_COMMAND_OPCODE_3DSTATENONPIPELINED;
163     //DW0.CommandSubtype                               = COMMAND_SUBTYPE_GFXPIPE3D;
164     //DW0.CommandType                                  = COMMAND_TYPE_GFXPIPE;
165 
166     DW1_2.Value[0] = DW1_2.Value[1]                  = 0x00000000;
167 
168     DW3.Value                                        = 0x00000000;
169     //DW3.BindingTablePoolBufferSize                   = BINDING_TABLE_POOL_BUFFER_SIZE_NOVALIDDATA;
170 
171 }
172 
CFE_STATE_CMD()173 mhw_render_xe_xpm_base::CFE_STATE_CMD::CFE_STATE_CMD()
174 {
175     DW0.DwordLength                                 = __CODEGEN_OP_LENGTH(dwSize);
176     DW0.CFESubOpcodeVariant                         = 0;
177     DW0.CFESubOpcode                                = 0;
178     DW0.ComputeCommandOpcode                        = COMPUTE_COMMAND_OPCODE_CFE_COMMAND;
179     DW0.Pipeline                                    = PIPELINE_COMPUTE;
180     DW0.CommandType                                 = COMMAND_TYPE_GFXPIPE;
181 
182     DW3.OverDispatchControl                         = VER_DISPATCH_CONTROL_NORMAL;
183 }
184 
COMPUTE_WALKER_CMD()185 mhw_render_xe_xpm_base::COMPUTE_WALKER_CMD::COMPUTE_WALKER_CMD()
186 {
187     DW0.DWordLength                                 = __CODEGEN_OP_LENGTH(dwSize);
188     DW0.CFESubOpcodeVariant                         = CFE_SUBOPCODE_VARIANT_STANDARD;
189     DW0.CFESubOpcode                                = CFE_SUBOPCODE_COMPUTE_WALKER;
190     DW0.ComputeCommandOpcode                        = COMPUTE_COMMAND_OPCODE_CFE_COMMAND;
191     DW0.Pipeline                                    = PIPELINE_COMPUTE;
192     DW0.CommandType                                 = COMMAND_TYPE_GFXPIPE;
193 }
194 
INTERFACE_DESCRIPTOR_DATA_G12HP_CMD()195 mhw_render_xe_xpm_base::COMPUTE_WALKER_CMD::INTERFACE_DESCRIPTOR_DATA_G12HP_CMD::INTERFACE_DESCRIPTOR_DATA_G12HP_CMD()
196 {
197 }
198 
POSTSYNC_DATA_CMD()199 mhw_render_xe_xpm_base::COMPUTE_WALKER_CMD::POSTSYNC_DATA_CMD::POSTSYNC_DATA_CMD()
200 {
201     DW3_4.Value = 0;
202     DW1_2.Value[1] = DW1_2.Value[0] = DW0.Value = 0;
203 }
204 
STATE_COMPUTE_MODE_CMD()205 mhw_render_xe_xpm_base::STATE_COMPUTE_MODE_CMD::STATE_COMPUTE_MODE_CMD()
206 {
207     DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
208     DW0.CommandSubOpcode = STATE_COMPUTE_MODE;
209     DW0.CommandOpcode = GFXPIPE_NONPIPELINED;
210     DW0.CommandSubType = GFXPIPE_COMMON;
211     DW0.CommandType = GFXPIPE;
212 
213     //To improve performance disable support for DisableSupportForMultiGpuAtomics
214     //and MultipleGpuParitalWrites, current kernels don't support cross tiles writes
215     DW1.DisableSupportForMultiGpuAtomics = 1;
216     DW1.DisableSupportMultiGpuPartialWrites = 1;
217 }