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 }