Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5564 serge 1
#ifndef GEN_MI_XML
2
#define GEN_MI_XML
3
 
4
/* Autogenerated file, DO NOT EDIT manually!
5
 
6
This file was generated by the rules-ng-ng headergen tool in this git repository:
7
https://github.com/olvaffe/envytools/
8
git clone https://github.com/olvaffe/envytools.git
9
 
10
Copyright (C) 2014-2015 by the following authors:
11
- Chia-I Wu  (olv)
12
 
13
Permission is hereby granted, free of charge, to any person obtaining
14
a copy of this software and associated documentation files (the
15
"Software"), to deal in the Software without restriction, including
16
without limitation the rights to use, copy, modify, merge, publish,
17
distribute, sublicense, and/or sell copies of the Software, and to
18
permit persons to whom the Software is furnished to do so, subject to
19
the following conditions:
20
 
21
The above copyright notice and this permission notice (including the
22
next paragraph) shall be included in all copies or substantial
23
portions of the Software.
24
 
25
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
28
IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
29
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
30
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
31
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
*/
33
 
34
 
35
enum gen_mi_alu_opcode {
36
    GEN75_MI_ALU_NOOP					      = 0x0,
37
    GEN75_MI_ALU_LOAD					      = 0x80,
38
    GEN75_MI_ALU_LOADINV				      = 0x480,
39
    GEN75_MI_ALU_LOAD0					      = 0x81,
40
    GEN75_MI_ALU_LOAD1					      = 0x481,
41
    GEN75_MI_ALU_ADD					      = 0x100,
42
    GEN75_MI_ALU_SUB					      = 0x101,
43
    GEN75_MI_ALU_AND					      = 0x102,
44
    GEN75_MI_ALU_OR					      = 0x103,
45
    GEN75_MI_ALU_XOR					      = 0x104,
46
    GEN75_MI_ALU_STORE					      = 0x180,
47
    GEN75_MI_ALU_STOREINV				      = 0x580,
48
};
49
 
50
enum gen_mi_alu_operand {
51
    GEN75_MI_ALU_R0					      = 0x0,
52
    GEN75_MI_ALU_R1					      = 0x1,
53
    GEN75_MI_ALU_R2					      = 0x2,
54
    GEN75_MI_ALU_R3					      = 0x3,
55
    GEN75_MI_ALU_R4					      = 0x4,
56
    GEN75_MI_ALU_R5					      = 0x5,
57
    GEN75_MI_ALU_R6					      = 0x6,
58
    GEN75_MI_ALU_R7					      = 0x7,
59
    GEN75_MI_ALU_R8					      = 0x8,
60
    GEN75_MI_ALU_R9					      = 0x9,
61
    GEN75_MI_ALU_R10					      = 0xa,
62
    GEN75_MI_ALU_R11					      = 0xb,
63
    GEN75_MI_ALU_R12					      = 0xc,
64
    GEN75_MI_ALU_R13					      = 0xd,
65
    GEN75_MI_ALU_R14					      = 0xe,
66
    GEN75_MI_ALU_R15					      = 0xf,
67
    GEN75_MI_ALU_SRCA					      = 0x20,
68
    GEN75_MI_ALU_SRCB					      = 0x21,
69
    GEN75_MI_ALU_ACCU					      = 0x31,
70
    GEN75_MI_ALU_ZF					      = 0x32,
71
    GEN75_MI_ALU_CF					      = 0x33,
72
};
73
 
74
#define GEN6_MI_TYPE__MASK					0xe0000000
75
#define GEN6_MI_TYPE__SHIFT					29
76
#define GEN6_MI_TYPE_MI						(0x0 << 29)
77
#define GEN6_MI_OPCODE__MASK					0x1f800000
78
#define GEN6_MI_OPCODE__SHIFT					23
79
#define GEN6_MI_OPCODE_MI_NOOP					(0x0 << 23)
80
#define GEN75_MI_OPCODE_MI_SET_PREDICATE			(0x1 << 23)
81
#define GEN75_MI_OPCODE_MI_RS_CONTROL				(0x6 << 23)
82
#define GEN75_MI_OPCODE_MI_URB_ATOMIC_ALLOC			(0x9 << 23)
83
#define GEN6_MI_OPCODE_MI_BATCH_BUFFER_END			(0xa << 23)
84
#define GEN7_MI_OPCODE_MI_PREDICATE				(0xc << 23)
85
#define GEN7_MI_OPCODE_MI_URB_CLEAR				(0x19 << 23)
86
#define GEN75_MI_OPCODE_MI_MATH					(0x1a << 23)
87
#define GEN6_MI_OPCODE_MI_STORE_DATA_IMM			(0x20 << 23)
88
#define GEN6_MI_OPCODE_MI_LOAD_REGISTER_IMM			(0x22 << 23)
89
#define GEN6_MI_OPCODE_MI_STORE_REGISTER_MEM			(0x24 << 23)
90
#define GEN6_MI_OPCODE_MI_FLUSH_DW				(0x26 << 23)
91
#define GEN6_MI_OPCODE_MI_REPORT_PERF_COUNT			(0x28 << 23)
92
#define GEN7_MI_OPCODE_MI_LOAD_REGISTER_MEM			(0x29 << 23)
93
#define GEN75_MI_OPCODE_MI_LOAD_REGISTER_REG			(0x2a << 23)
94
#define GEN75_MI_OPCODE_MI_LOAD_URB_MEM				(0x2c << 23)
95
#define GEN75_MI_OPCODE_MI_STORE_URB_MEM			(0x2d << 23)
96
#define GEN6_MI_OPCODE_MI_BATCH_BUFFER_START			(0x31 << 23)
97
#define GEN6_MI_LENGTH__MASK					0x0000003f
98
#define GEN6_MI_LENGTH__SHIFT					0
99
#define GEN6_MI_NOOP__SIZE					1
100
 
101
#define GEN75_MI_SET_PREDICATE__SIZE				1
102
#define GEN75_MI_SET_PREDICATE_DW0_PREDICATE__MASK		0x00000003
103
#define GEN75_MI_SET_PREDICATE_DW0_PREDICATE__SHIFT		0
104
#define GEN75_MI_SET_PREDICATE_DW0_PREDICATE_ALWAYS		0x0
105
#define GEN75_MI_SET_PREDICATE_DW0_PREDICATE_ON_CLEAR		0x1
106
#define GEN75_MI_SET_PREDICATE_DW0_PREDICATE_ON_SET		0x2
107
#define GEN75_MI_SET_PREDICATE_DW0_PREDICATE_DISABLE		0x3
108
 
109
#define GEN75_MI_RS_CONTROL__SIZE				1
110
#define GEN75_MI_RS_CONTROL_DW0_ENABLE				(0x1 << 0)
111
 
112
#define GEN75_MI_URB_ATOMIC_ALLOC__SIZE				1
113
#define GEN75_MI_URB_ATOMIC_ALLOC_DW0_OFFSET__MASK		0x000ff000
114
#define GEN75_MI_URB_ATOMIC_ALLOC_DW0_OFFSET__SHIFT		12
115
#define GEN75_MI_URB_ATOMIC_ALLOC_DW0_SIZE__MASK		0x000001ff
116
#define GEN75_MI_URB_ATOMIC_ALLOC_DW0_SIZE__SHIFT		0
117
 
118
#define GEN6_MI_BATCH_BUFFER_END__SIZE				1
119
 
120
#define GEN7_MI_PREDICATE__SIZE					1
121
#define GEN7_MI_PREDICATE_DW0_LOADOP__MASK			0x000000c0
122
#define GEN7_MI_PREDICATE_DW0_LOADOP__SHIFT			6
123
#define GEN7_MI_PREDICATE_DW0_LOADOP_KEEP			(0x0 << 6)
124
#define GEN7_MI_PREDICATE_DW0_LOADOP_LOAD			(0x2 << 6)
125
#define GEN7_MI_PREDICATE_DW0_LOADOP_LOADINV			(0x3 << 6)
126
#define GEN7_MI_PREDICATE_DW0_COMBINEOP__MASK			0x00000018
127
#define GEN7_MI_PREDICATE_DW0_COMBINEOP__SHIFT			3
128
#define GEN7_MI_PREDICATE_DW0_COMBINEOP_SET			(0x0 << 3)
129
#define GEN7_MI_PREDICATE_DW0_COMBINEOP_AND			(0x1 << 3)
130
#define GEN7_MI_PREDICATE_DW0_COMBINEOP_OR			(0x2 << 3)
131
#define GEN7_MI_PREDICATE_DW0_COMBINEOP_XOR			(0x3 << 3)
132
#define GEN7_MI_PREDICATE_DW0_COMPAREOP__MASK			0x00000003
133
#define GEN7_MI_PREDICATE_DW0_COMPAREOP__SHIFT			0
134
#define GEN7_MI_PREDICATE_DW0_COMPAREOP_TRUE			0x0
135
#define GEN7_MI_PREDICATE_DW0_COMPAREOP_FALSE			0x1
136
#define GEN7_MI_PREDICATE_DW0_COMPAREOP_SRCS_EQUAL		0x2
137
#define GEN7_MI_PREDICATE_DW0_COMPAREOP_DELTAS_EQUAL		0x3
138
 
139
#define GEN7_MI_URB_CLEAR__SIZE					2
140
 
141
#define GEN7_MI_URB_CLEAR_DW1_LENGTH__MASK			0x3fff0000
142
#define GEN7_MI_URB_CLEAR_DW1_LENGTH__SHIFT			16
143
#define GEN7_MI_URB_CLEAR_DW1_OFFSET__MASK			0x00007fff
144
#define GEN7_MI_URB_CLEAR_DW1_OFFSET__SHIFT			0
145
 
146
#define GEN75_MI_MATH__SIZE					65
147
 
148
#define GEN75_MI_MATH_DW_OP__MASK				0xfff00000
149
#define GEN75_MI_MATH_DW_OP__SHIFT				20
150
#define GEN75_MI_MATH_DW_SRC1__MASK				0x000ffc00
151
#define GEN75_MI_MATH_DW_SRC1__SHIFT				10
152
#define GEN75_MI_MATH_DW_SRC2__MASK				0x000007ff
153
#define GEN75_MI_MATH_DW_SRC2__SHIFT				0
154
 
155
#define GEN6_MI_STORE_DATA_IMM__SIZE				6
156
#define GEN6_MI_STORE_DATA_IMM_DW0_USE_GGTT			(0x1 << 22)
157
 
158
 
159
#define GEN6_MI_STORE_DATA_IMM_DW2_ADDR__MASK			0xfffffffc
160
#define GEN6_MI_STORE_DATA_IMM_DW2_ADDR__SHIFT			2
161
#define GEN6_MI_STORE_DATA_IMM_DW2_ADDR__SHR			2
162
 
163
 
164
 
165
 
166
#define GEN6_MI_LOAD_REGISTER_IMM__SIZE				3
167
#define GEN6_MI_LOAD_REGISTER_IMM_DW0_WRITE_DISABLES__MASK	0x00000f00
168
#define GEN6_MI_LOAD_REGISTER_IMM_DW0_WRITE_DISABLES__SHIFT	8
169
 
170
#define GEN6_MI_LOAD_REGISTER_IMM_DW1_REG__MASK			0x007ffffc
171
#define GEN6_MI_LOAD_REGISTER_IMM_DW1_REG__SHIFT		2
172
#define GEN6_MI_LOAD_REGISTER_IMM_DW1_REG__SHR			2
173
 
174
 
175
#define GEN6_MI_STORE_REGISTER_MEM__SIZE			4
176
#define GEN6_MI_STORE_REGISTER_MEM_DW0_USE_GGTT			(0x1 << 22)
177
#define GEN75_MI_STORE_REGISTER_MEM_DW0_PREDICATE_ENABLE	(0x1 << 21)
178
 
179
#define GEN6_MI_STORE_REGISTER_MEM_DW1_REG__MASK		0x007ffffc
180
#define GEN6_MI_STORE_REGISTER_MEM_DW1_REG__SHIFT		2
181
#define GEN6_MI_STORE_REGISTER_MEM_DW1_REG__SHR			2
182
 
183
#define GEN6_MI_STORE_REGISTER_MEM_DW2_ADDR__MASK		0xfffffffc
184
#define GEN6_MI_STORE_REGISTER_MEM_DW2_ADDR__SHIFT		2
185
#define GEN6_MI_STORE_REGISTER_MEM_DW2_ADDR__SHR		2
186
 
187
 
188
#define GEN6_MI_FLUSH_DW__SIZE					4
189
 
190
 
191
 
192
 
193
#define GEN6_MI_REPORT_PERF_COUNT__SIZE				3
194
 
195
#define GEN6_MI_REPORT_PERF_COUNT_DW1_CORE_MODE_ENABLE		(0x1 << 4)
196
#define GEN6_MI_REPORT_PERF_COUNT_DW1_USE_GGTT			(0x1 << 0)
197
#define GEN6_MI_REPORT_PERF_COUNT_DW1_ADDR__MASK		0xffffffc0
198
#define GEN6_MI_REPORT_PERF_COUNT_DW1_ADDR__SHIFT		6
199
#define GEN6_MI_REPORT_PERF_COUNT_DW1_ADDR__SHR			6
200
 
201
 
202
#define GEN7_MI_LOAD_REGISTER_MEM__SIZE				4
203
#define GEN7_MI_LOAD_REGISTER_MEM_DW0_USE_GGTT			(0x1 << 22)
204
#define GEN7_MI_LOAD_REGISTER_MEM_DW0_ASYNC_MODE_ENABLE		(0x1 << 21)
205
 
206
#define GEN7_MI_LOAD_REGISTER_MEM_DW1_REG__MASK			0x007ffffc
207
#define GEN7_MI_LOAD_REGISTER_MEM_DW1_REG__SHIFT		2
208
#define GEN7_MI_LOAD_REGISTER_MEM_DW1_REG__SHR			2
209
 
210
#define GEN7_MI_LOAD_REGISTER_MEM_DW2_ADDR__MASK		0xfffffffc
211
#define GEN7_MI_LOAD_REGISTER_MEM_DW2_ADDR__SHIFT		2
212
#define GEN7_MI_LOAD_REGISTER_MEM_DW2_ADDR__SHR			2
213
 
214
 
215
#define GEN75_MI_LOAD_REGISTER_REG__SIZE			3
216
 
217
#define GEN75_MI_LOAD_REGISTER_REG_DW1_SRC_REG__MASK		0x007ffffc
218
#define GEN75_MI_LOAD_REGISTER_REG_DW1_SRC_REG__SHIFT		2
219
#define GEN75_MI_LOAD_REGISTER_REG_DW1_SRC_REG__SHR		2
220
 
221
#define GEN75_MI_LOAD_REGISTER_REG_DW2_DST_REG__MASK		0x007ffffc
222
#define GEN75_MI_LOAD_REGISTER_REG_DW2_DST_REG__SHIFT		2
223
#define GEN75_MI_LOAD_REGISTER_REG_DW2_DST_REG__SHR		2
224
 
225
#define GEN75_MI_LOAD_URB_MEM__SIZE				4
226
 
227
#define GEN75_MI_LOAD_URB_MEM_DW1_ADDR__MASK			0x00007ffc
228
#define GEN75_MI_LOAD_URB_MEM_DW1_ADDR__SHIFT			2
229
#define GEN75_MI_LOAD_URB_MEM_DW1_ADDR__SHR			2
230
 
231
#define GEN75_MI_LOAD_URB_MEM_DW2_ADDR__MASK			0xffffffc0
232
#define GEN75_MI_LOAD_URB_MEM_DW2_ADDR__SHIFT			6
233
#define GEN75_MI_LOAD_URB_MEM_DW2_ADDR__SHR			6
234
 
235
 
236
#define GEN75_MI_STORE_URB_MEM__SIZE				4
237
 
238
#define GEN75_MI_STORE_URB_MEM_DW1_ADDR__MASK			0x00007ffc
239
#define GEN75_MI_STORE_URB_MEM_DW1_ADDR__SHIFT			2
240
#define GEN75_MI_STORE_URB_MEM_DW1_ADDR__SHR			2
241
 
242
#define GEN75_MI_STORE_URB_MEM_DW2_ADDR__MASK			0xffffffc0
243
#define GEN75_MI_STORE_URB_MEM_DW2_ADDR__SHIFT			6
244
#define GEN75_MI_STORE_URB_MEM_DW2_ADDR__SHR			6
245
 
246
 
247
#define GEN6_MI_BATCH_BUFFER_START__SIZE			3
248
#define GEN75_MI_BATCH_BUFFER_START_DW0_SECOND_LEVEL		(0x1 << 22)
249
#define GEN75_MI_BATCH_BUFFER_START_DW0_ADD_OFFSET_ENABLE	(0x1 << 16)
250
#define GEN75_MI_BATCH_BUFFER_START_DW0_PREDICATION_ENABLE	(0x1 << 15)
251
#define GEN75_MI_BATCH_BUFFER_START_DW0_NON_PRIVILEGED		(0x1 << 13)
252
#define GEN6_MI_BATCH_BUFFER_START_DW0_CLEAR_COMMAND_BUFFER	(0x1 << 11)
253
#define GEN6_MI_BATCH_BUFFER_START_DW0_USE_PPGTT		(0x1 << 8)
254
 
255
#define GEN6_MI_BATCH_BUFFER_START_DW1_ADDR__MASK		0xfffffffc
256
#define GEN6_MI_BATCH_BUFFER_START_DW1_ADDR__SHIFT		2
257
#define GEN6_MI_BATCH_BUFFER_START_DW1_ADDR__SHR		2
258
 
259
 
260
 
261
#endif /* GEN_MI_XML */