1bf215546Sopenharmony_ci#ifndef STATE_3D_XML
2bf215546Sopenharmony_ci#define STATE_3D_XML
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually!
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository:
7bf215546Sopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng
8bf215546Sopenharmony_cigit clone git://0x04.net/rules-ng-ng
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ciThe rules-ng-ng source files this header was generated from are:
11bf215546Sopenharmony_ci- state.xml     (  26877 bytes, from 2022-04-09 20:48:40)
12bf215546Sopenharmony_ci- common.xml    (  35468 bytes, from 2020-10-28 12:56:03)
13bf215546Sopenharmony_ci- common_3d.xml (  15058 bytes, from 2020-10-28 12:56:03)
14bf215546Sopenharmony_ci- state_hi.xml  (  34803 bytes, from 2020-10-28 12:56:03)
15bf215546Sopenharmony_ci- copyright.xml (   1597 bytes, from 2020-10-28 12:56:03)
16bf215546Sopenharmony_ci- state_2d.xml  (  51552 bytes, from 2020-10-28 12:56:03)
17bf215546Sopenharmony_ci- state_3d.xml  (  84326 bytes, from 2022-04-09 21:11:44)
18bf215546Sopenharmony_ci- state_blt.xml (  14252 bytes, from 2020-10-28 12:56:03)
19bf215546Sopenharmony_ci- state_vg.xml  (   5975 bytes, from 2020-10-28 12:56:03)
20bf215546Sopenharmony_ci
21bf215546Sopenharmony_ciCopyright (C) 2012-2022 by the following authors:
22bf215546Sopenharmony_ci- Wladimir J. van der Laan <laanwj@gmail.com>
23bf215546Sopenharmony_ci- Christian Gmeiner <christian.gmeiner@gmail.com>
24bf215546Sopenharmony_ci- Lucas Stach <l.stach@pengutronix.de>
25bf215546Sopenharmony_ci- Russell King <rmk@arm.linux.org.uk>
26bf215546Sopenharmony_ci
27bf215546Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a
28bf215546Sopenharmony_cicopy of this software and associated documentation files (the "Software"),
29bf215546Sopenharmony_cito deal in the Software without restriction, including without limitation
30bf215546Sopenharmony_cithe rights to use, copy, modify, merge, publish, distribute, sub license,
31bf215546Sopenharmony_ciand/or sell copies of the Software, and to permit persons to whom the
32bf215546Sopenharmony_ciSoftware is furnished to do so, subject to the following conditions:
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_ciThe above copyright notice and this permission notice (including the
35bf215546Sopenharmony_cinext paragraph) shall be included in all copies or substantial portions
36bf215546Sopenharmony_ciof the Software.
37bf215546Sopenharmony_ci
38bf215546Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
39bf215546Sopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
40bf215546Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
41bf215546Sopenharmony_ciTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
42bf215546Sopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43bf215546Sopenharmony_ciFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
44bf215546Sopenharmony_ciDEALINGS IN THE SOFTWARE.
45bf215546Sopenharmony_ci*/
46bf215546Sopenharmony_ci
47bf215546Sopenharmony_ci
48bf215546Sopenharmony_ci#define STENCIL_OP_KEEP						0x00000000
49bf215546Sopenharmony_ci#define STENCIL_OP_ZERO						0x00000001
50bf215546Sopenharmony_ci#define STENCIL_OP_REPLACE					0x00000002
51bf215546Sopenharmony_ci#define STENCIL_OP_INCR						0x00000003
52bf215546Sopenharmony_ci#define STENCIL_OP_DECR						0x00000004
53bf215546Sopenharmony_ci#define STENCIL_OP_INVERT					0x00000005
54bf215546Sopenharmony_ci#define STENCIL_OP_INCR_WRAP					0x00000006
55bf215546Sopenharmony_ci#define STENCIL_OP_DECR_WRAP					0x00000007
56bf215546Sopenharmony_ci#define BLEND_EQ_ADD						0x00000000
57bf215546Sopenharmony_ci#define BLEND_EQ_SUBTRACT					0x00000001
58bf215546Sopenharmony_ci#define BLEND_EQ_REVERSE_SUBTRACT				0x00000002
59bf215546Sopenharmony_ci#define BLEND_EQ_MIN						0x00000003
60bf215546Sopenharmony_ci#define BLEND_EQ_MAX						0x00000004
61bf215546Sopenharmony_ci#define BLEND_FUNC_ZERO						0x00000000
62bf215546Sopenharmony_ci#define BLEND_FUNC_ONE						0x00000001
63bf215546Sopenharmony_ci#define BLEND_FUNC_SRC_COLOR					0x00000002
64bf215546Sopenharmony_ci#define BLEND_FUNC_ONE_MINUS_SRC_COLOR				0x00000003
65bf215546Sopenharmony_ci#define BLEND_FUNC_SRC_ALPHA					0x00000004
66bf215546Sopenharmony_ci#define BLEND_FUNC_ONE_MINUS_SRC_ALPHA				0x00000005
67bf215546Sopenharmony_ci#define BLEND_FUNC_DST_ALPHA					0x00000006
68bf215546Sopenharmony_ci#define BLEND_FUNC_ONE_MINUS_DST_ALPHA				0x00000007
69bf215546Sopenharmony_ci#define BLEND_FUNC_DST_COLOR					0x00000008
70bf215546Sopenharmony_ci#define BLEND_FUNC_ONE_MINUS_DST_COLOR				0x00000009
71bf215546Sopenharmony_ci#define BLEND_FUNC_SRC_ALPHA_SATURATE				0x0000000a
72bf215546Sopenharmony_ci#define BLEND_FUNC_CONSTANT_ALPHA				0x0000000b
73bf215546Sopenharmony_ci#define BLEND_FUNC_ONE_MINUS_CONSTANT_ALPHA			0x0000000c
74bf215546Sopenharmony_ci#define BLEND_FUNC_CONSTANT_COLOR				0x0000000d
75bf215546Sopenharmony_ci#define BLEND_FUNC_ONE_MINUS_CONSTANT_COLOR			0x0000000e
76bf215546Sopenharmony_ci#define RS_FORMAT_X4R4G4B4					0x00000000
77bf215546Sopenharmony_ci#define RS_FORMAT_A4R4G4B4					0x00000001
78bf215546Sopenharmony_ci#define RS_FORMAT_X1R5G5B5					0x00000002
79bf215546Sopenharmony_ci#define RS_FORMAT_A1R5G5B5					0x00000003
80bf215546Sopenharmony_ci#define RS_FORMAT_R5G6B5					0x00000004
81bf215546Sopenharmony_ci#define RS_FORMAT_X8R8G8B8					0x00000005
82bf215546Sopenharmony_ci#define RS_FORMAT_A8R8G8B8					0x00000006
83bf215546Sopenharmony_ci#define RS_FORMAT_YUY2						0x00000007
84bf215546Sopenharmony_ci#define RS_FORMAT_64BPP_CLEAR					0x00000015
85bf215546Sopenharmony_ci#define PE_FORMAT_X4R4G4B4					0x00000000
86bf215546Sopenharmony_ci#define PE_FORMAT_A4R4G4B4					0x00000001
87bf215546Sopenharmony_ci#define PE_FORMAT_X1R5G5B5					0x00000002
88bf215546Sopenharmony_ci#define PE_FORMAT_A1R5G5B5					0x00000003
89bf215546Sopenharmony_ci#define PE_FORMAT_R5G6B5					0x00000004
90bf215546Sopenharmony_ci#define PE_FORMAT_X8R8G8B8					0x00000005
91bf215546Sopenharmony_ci#define PE_FORMAT_A8R8G8B8					0x00000006
92bf215546Sopenharmony_ci#define PE_FORMAT_YUY2						0x00000007
93bf215546Sopenharmony_ci#define PE_FORMAT_A8						0x00000010
94bf215546Sopenharmony_ci#define PE_FORMAT_R16F						0x00000011
95bf215546Sopenharmony_ci#define PE_FORMAT_G16R16F					0x00000012
96bf215546Sopenharmony_ci#define PE_FORMAT_A16B16G16R16F					0x00000013
97bf215546Sopenharmony_ci#define PE_FORMAT_R32F						0x00000014
98bf215546Sopenharmony_ci#define PE_FORMAT_G32R32F					0x00000015
99bf215546Sopenharmony_ci#define PE_FORMAT_A2B10G10R10					0x00000016
100bf215546Sopenharmony_ci#define PE_FORMAT_R8I						0x00000017
101bf215546Sopenharmony_ci#define PE_FORMAT_G8R8I						0x00000018
102bf215546Sopenharmony_ci#define PE_FORMAT_A8B8G8R8I					0x00000019
103bf215546Sopenharmony_ci#define PE_FORMAT_R16I						0x0000001a
104bf215546Sopenharmony_ci#define PE_FORMAT_G16R16I					0x0000001b
105bf215546Sopenharmony_ci#define PE_FORMAT_A16B16G16R16I					0x0000001c
106bf215546Sopenharmony_ci#define PE_FORMAT_B10G11R11F					0x0000001d
107bf215546Sopenharmony_ci#define PE_FORMAT_A2B10G10R10UI					0x0000001e
108bf215546Sopenharmony_ci#define PE_FORMAT_G8R8						0x0000001f
109bf215546Sopenharmony_ci#define PE_FORMAT_R8						0x00000023
110bf215546Sopenharmony_ci#define LOGIC_OP_CLEAR						0x00000000
111bf215546Sopenharmony_ci#define LOGIC_OP_NOR						0x00000001
112bf215546Sopenharmony_ci#define LOGIC_OP_AND_INVERTED					0x00000002
113bf215546Sopenharmony_ci#define LOGIC_OP_COPY_INVERTED					0x00000003
114bf215546Sopenharmony_ci#define LOGIC_OP_AND_REVERSE					0x00000004
115bf215546Sopenharmony_ci#define LOGIC_OP_INVERT						0x00000005
116bf215546Sopenharmony_ci#define LOGIC_OP_XOR						0x00000006
117bf215546Sopenharmony_ci#define LOGIC_OP_NAND						0x00000007
118bf215546Sopenharmony_ci#define LOGIC_OP_AND						0x00000008
119bf215546Sopenharmony_ci#define LOGIC_OP_EQUIV						0x00000009
120bf215546Sopenharmony_ci#define LOGIC_OP_NOOP						0x0000000a
121bf215546Sopenharmony_ci#define LOGIC_OP_OR_INVERTED					0x0000000b
122bf215546Sopenharmony_ci#define LOGIC_OP_COPY						0x0000000c
123bf215546Sopenharmony_ci#define LOGIC_OP_OR_REVERSE					0x0000000d
124bf215546Sopenharmony_ci#define LOGIC_OP_OR						0x0000000e
125bf215546Sopenharmony_ci#define LOGIC_OP_SET						0x0000000f
126bf215546Sopenharmony_ci#define COLOR_OUTPUT_MODE_NORMAL				0x00000000
127bf215546Sopenharmony_ci#define COLOR_OUTPUT_MODE_A2B10G10R10UI				0x00000001
128bf215546Sopenharmony_ci#define COLOR_OUTPUT_MODE_UIF32					0x00000002
129bf215546Sopenharmony_ci#define COLOR_OUTPUT_MODE_U8					0x00000003
130bf215546Sopenharmony_ci#define COLOR_OUTPUT_MODE_U16					0x00000004
131bf215546Sopenharmony_ci#define COLOR_OUTPUT_MODE_I8					0x00000005
132bf215546Sopenharmony_ci#define COLOR_OUTPUT_MODE_I16					0x00000006
133bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR0__MASK			0x00000007
134bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR0__SHIFT			0
135bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR0(x)				(((x) << VARYING_NUM_COMPONENTS_VAR0__SHIFT) & VARYING_NUM_COMPONENTS_VAR0__MASK)
136bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR1__MASK			0x00000070
137bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR1__SHIFT			4
138bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR1(x)				(((x) << VARYING_NUM_COMPONENTS_VAR1__SHIFT) & VARYING_NUM_COMPONENTS_VAR1__MASK)
139bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR2__MASK			0x00000700
140bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR2__SHIFT			8
141bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR2(x)				(((x) << VARYING_NUM_COMPONENTS_VAR2__SHIFT) & VARYING_NUM_COMPONENTS_VAR2__MASK)
142bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR3__MASK			0x00007000
143bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR3__SHIFT			12
144bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR3(x)				(((x) << VARYING_NUM_COMPONENTS_VAR3__SHIFT) & VARYING_NUM_COMPONENTS_VAR3__MASK)
145bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR4__MASK			0x00070000
146bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR4__SHIFT			16
147bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR4(x)				(((x) << VARYING_NUM_COMPONENTS_VAR4__SHIFT) & VARYING_NUM_COMPONENTS_VAR4__MASK)
148bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR5__MASK			0x00700000
149bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR5__SHIFT			20
150bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR5(x)				(((x) << VARYING_NUM_COMPONENTS_VAR5__SHIFT) & VARYING_NUM_COMPONENTS_VAR5__MASK)
151bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR6__MASK			0x07000000
152bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR6__SHIFT			24
153bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR6(x)				(((x) << VARYING_NUM_COMPONENTS_VAR6__SHIFT) & VARYING_NUM_COMPONENTS_VAR6__MASK)
154bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR7__MASK			0x70000000
155bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR7__SHIFT			28
156bf215546Sopenharmony_ci#define VARYING_NUM_COMPONENTS_VAR7(x)				(((x) << VARYING_NUM_COMPONENTS_VAR7__SHIFT) & VARYING_NUM_COMPONENTS_VAR7__MASK)
157bf215546Sopenharmony_ci#define VIVS_VS							0x00000000
158bf215546Sopenharmony_ci
159bf215546Sopenharmony_ci#define VIVS_VS_END_PC						0x00000800
160bf215546Sopenharmony_ci
161bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_COUNT					0x00000804
162bf215546Sopenharmony_ci
163bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT					0x00000808
164bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT_COUNT__MASK				0x0000000f
165bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT_COUNT__SHIFT			0
166bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT_COUNT(x)				(((x) << VIVS_VS_INPUT_COUNT_COUNT__SHIFT) & VIVS_VS_INPUT_COUNT_COUNT__MASK)
167bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT_UNK8__MASK				0x00001f00
168bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT_UNK8__SHIFT				8
169bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT_UNK8(x)				(((x) << VIVS_VS_INPUT_COUNT_UNK8__SHIFT) & VIVS_VS_INPUT_COUNT_UNK8__MASK)
170bf215546Sopenharmony_ci#define VIVS_VS_INPUT_COUNT_ID_ENABLE				0x80000000
171bf215546Sopenharmony_ci
172bf215546Sopenharmony_ci#define VIVS_VS_TEMP_REGISTER_CONTROL				0x0000080c
173bf215546Sopenharmony_ci#define VIVS_VS_TEMP_REGISTER_CONTROL_NUM_TEMPS__MASK		0x0000003f
174bf215546Sopenharmony_ci#define VIVS_VS_TEMP_REGISTER_CONTROL_NUM_TEMPS__SHIFT		0
175bf215546Sopenharmony_ci#define VIVS_VS_TEMP_REGISTER_CONTROL_NUM_TEMPS(x)		(((x) << VIVS_VS_TEMP_REGISTER_CONTROL_NUM_TEMPS__SHIFT) & VIVS_VS_TEMP_REGISTER_CONTROL_NUM_TEMPS__MASK)
176bf215546Sopenharmony_ci
177bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT(i0)				       (0x00000810 + 0x4*(i0))
178bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT__ESIZE					0x00000004
179bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT__LEN					0x00000004
180bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O0__MASK					0x000000ff
181bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O0__SHIFT				0
182bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O0(x)					(((x) << VIVS_VS_OUTPUT_O0__SHIFT) & VIVS_VS_OUTPUT_O0__MASK)
183bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O1__MASK					0x0000ff00
184bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O1__SHIFT				8
185bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O1(x)					(((x) << VIVS_VS_OUTPUT_O1__SHIFT) & VIVS_VS_OUTPUT_O1__MASK)
186bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O2__MASK					0x00ff0000
187bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O2__SHIFT				16
188bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O2(x)					(((x) << VIVS_VS_OUTPUT_O2__SHIFT) & VIVS_VS_OUTPUT_O2__MASK)
189bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O3__MASK					0xff000000
190bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O3__SHIFT				24
191bf215546Sopenharmony_ci#define VIVS_VS_OUTPUT_O3(x)					(((x) << VIVS_VS_OUTPUT_O3__SHIFT) & VIVS_VS_OUTPUT_O3__MASK)
192bf215546Sopenharmony_ci
193bf215546Sopenharmony_ci#define VIVS_VS_INPUT(i0)				       (0x00000820 + 0x4*(i0))
194bf215546Sopenharmony_ci#define VIVS_VS_INPUT__ESIZE					0x00000004
195bf215546Sopenharmony_ci#define VIVS_VS_INPUT__LEN					0x00000004
196bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I0__MASK					0x000000ff
197bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I0__SHIFT					0
198bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I0(x)					(((x) << VIVS_VS_INPUT_I0__SHIFT) & VIVS_VS_INPUT_I0__MASK)
199bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I1__MASK					0x0000ff00
200bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I1__SHIFT					8
201bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I1(x)					(((x) << VIVS_VS_INPUT_I1__SHIFT) & VIVS_VS_INPUT_I1__MASK)
202bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I2__MASK					0x00ff0000
203bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I2__SHIFT					16
204bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I2(x)					(((x) << VIVS_VS_INPUT_I2__SHIFT) & VIVS_VS_INPUT_I2__MASK)
205bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I3__MASK					0xff000000
206bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I3__SHIFT					24
207bf215546Sopenharmony_ci#define VIVS_VS_INPUT_I3(x)					(((x) << VIVS_VS_INPUT_I3__SHIFT) & VIVS_VS_INPUT_I3__MASK)
208bf215546Sopenharmony_ci
209bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING					0x00000830
210bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_A__MASK				0x000000ff
211bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_A__SHIFT				0
212bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_A(x)				(((x) << VIVS_VS_LOAD_BALANCING_A__SHIFT) & VIVS_VS_LOAD_BALANCING_A__MASK)
213bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_B__MASK				0x0000ff00
214bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_B__SHIFT				8
215bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_B(x)				(((x) << VIVS_VS_LOAD_BALANCING_B__SHIFT) & VIVS_VS_LOAD_BALANCING_B__MASK)
216bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_C__MASK				0x00ff0000
217bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_C__SHIFT				16
218bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_C(x)				(((x) << VIVS_VS_LOAD_BALANCING_C__SHIFT) & VIVS_VS_LOAD_BALANCING_C__MASK)
219bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_D__MASK				0xff000000
220bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_D__SHIFT				24
221bf215546Sopenharmony_ci#define VIVS_VS_LOAD_BALANCING_D(x)				(((x) << VIVS_VS_LOAD_BALANCING_D__SHIFT) & VIVS_VS_LOAD_BALANCING_D__MASK)
222bf215546Sopenharmony_ci
223bf215546Sopenharmony_ci#define VIVS_VS_PERF_COUNTER					0x00000834
224bf215546Sopenharmony_ci
225bf215546Sopenharmony_ci#define VIVS_VS_START_PC					0x00000838
226bf215546Sopenharmony_ci
227bf215546Sopenharmony_ci#define VIVS_VS_UNK00850					0x00000850
228bf215546Sopenharmony_ci
229bf215546Sopenharmony_ci#define VIVS_VS_UNK00854					0x00000854
230bf215546Sopenharmony_ci
231bf215546Sopenharmony_ci#define VIVS_VS_UNK00858					0x00000858
232bf215546Sopenharmony_ci
233bf215546Sopenharmony_ci#define VIVS_VS_RANGE						0x0000085c
234bf215546Sopenharmony_ci#define VIVS_VS_RANGE_LOW__MASK					0x0000ffff
235bf215546Sopenharmony_ci#define VIVS_VS_RANGE_LOW__SHIFT				0
236bf215546Sopenharmony_ci#define VIVS_VS_RANGE_LOW(x)					(((x) << VIVS_VS_RANGE_LOW__SHIFT) & VIVS_VS_RANGE_LOW__MASK)
237bf215546Sopenharmony_ci#define VIVS_VS_RANGE_HIGH__MASK				0xffff0000
238bf215546Sopenharmony_ci#define VIVS_VS_RANGE_HIGH__SHIFT				16
239bf215546Sopenharmony_ci#define VIVS_VS_RANGE_HIGH(x)					(((x) << VIVS_VS_RANGE_HIGH__SHIFT) & VIVS_VS_RANGE_HIGH__MASK)
240bf215546Sopenharmony_ci
241bf215546Sopenharmony_ci#define VIVS_VS_UNIFORM_CACHE					0x00000860
242bf215546Sopenharmony_ci#define VIVS_VS_UNIFORM_CACHE_FLUSH				0x00000001
243bf215546Sopenharmony_ci#define VIVS_VS_UNIFORM_CACHE_PS				0x00000010
244bf215546Sopenharmony_ci#define VIVS_VS_UNIFORM_CACHE_RTNE_ROUNDING			0x00001000
245bf215546Sopenharmony_ci
246bf215546Sopenharmony_ci#define VIVS_VS_UNIFORM_BASE					0x00000864
247bf215546Sopenharmony_ci
248bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_CONTROL					0x00000868
249bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_CONTROL_ENABLE				0x00000001
250bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_CONTROL_FLUSH_VS				0x00000010
251bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_CONTROL_FLUSH_PS				0x00000020
252bf215546Sopenharmony_ci
253bf215546Sopenharmony_ci#define VIVS_VS_INST_ADDR					0x0000086c
254bf215546Sopenharmony_ci
255bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_COUNT				0x00000870
256bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_COUNT_COUNT__MASK			0x000003ff
257bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_COUNT_COUNT__SHIFT		0
258bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_COUNT_COUNT(x)			(((x) << VIVS_VS_HALTI5_OUTPUT_COUNT_COUNT__SHIFT) & VIVS_VS_HALTI5_OUTPUT_COUNT_COUNT__MASK)
259bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_COUNT_B__MASK			0x0007ff00
260bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_COUNT_B__SHIFT			8
261bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_COUNT_B(x)			(((x) << VIVS_VS_HALTI5_OUTPUT_COUNT_B__SHIFT) & VIVS_VS_HALTI5_OUTPUT_COUNT_B__MASK)
262bf215546Sopenharmony_ci
263bf215546Sopenharmony_ci#define VIVS_VS_NEWRANGE_LOW					0x00000874
264bf215546Sopenharmony_ci
265bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK00878					0x00000878
266bf215546Sopenharmony_ci
267bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK00880					0x00000880
268bf215546Sopenharmony_ci
269bf215546Sopenharmony_ci#define VIVS_VS_HALTI1_UNK00884					0x00000884
270bf215546Sopenharmony_ci
271bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_PREFETCH					0x0000088c
272bf215546Sopenharmony_ci
273bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_UNK00890					0x00000890
274bf215546Sopenharmony_ci
275bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK00898(i0)			       (0x00000898 + 0x4*(i0))
276bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK00898__ESIZE				0x00000004
277bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK00898__LEN				0x00000002
278bf215546Sopenharmony_ci
279bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0					0x000008a0
280bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_A__MASK				0x0000003f
281bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_A__SHIFT			0
282bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_A(x)				(((x) << VIVS_VS_HALTI5_UNK008A0_A__SHIFT) & VIVS_VS_HALTI5_UNK008A0_A__MASK)
283bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_B__MASK				0x0007f000
284bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_B__SHIFT			12
285bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_B(x)				(((x) << VIVS_VS_HALTI5_UNK008A0_B__SHIFT) & VIVS_VS_HALTI5_UNK008A0_B__MASK)
286bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_C__MASK				0x1ff00000
287bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_C__SHIFT			20
288bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008A0_C(x)				(((x) << VIVS_VS_HALTI5_UNK008A0_C__SHIFT) & VIVS_VS_HALTI5_UNK008A0_C__MASK)
289bf215546Sopenharmony_ci
290bf215546Sopenharmony_ci#define VIVS_VS_SAMPLER_BASE					0x000008a8
291bf215546Sopenharmony_ci
292bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_INVALIDATE				0x000008b0
293bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_INVALIDATE_UNK0				0x00000001
294bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_INVALIDATE_UNK1				0x00000002
295bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_INVALIDATE_UNK2				0x00000004
296bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_INVALIDATE_UNK3				0x00000008
297bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_INVALIDATE_UNK4				0x00000010
298bf215546Sopenharmony_ci
299bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_UNK008B8					0x000008b8
300bf215546Sopenharmony_ci
301bf215546Sopenharmony_ci#define VIVS_VS_NEWRANGE_HIGH					0x000008bc
302bf215546Sopenharmony_ci
303bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT(i0)			       (0x000008c0 + 0x4*(i0))
304bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT__ESIZE				0x00000004
305bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT__LEN				0x00000008
306bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I0__MASK				0x000000ff
307bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I0__SHIFT				0
308bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I0(x)				(((x) << VIVS_VS_HALTI5_INPUT_I0__SHIFT) & VIVS_VS_HALTI5_INPUT_I0__MASK)
309bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I1__MASK				0x0000ff00
310bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I1__SHIFT				8
311bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I1(x)				(((x) << VIVS_VS_HALTI5_INPUT_I1__SHIFT) & VIVS_VS_HALTI5_INPUT_I1__MASK)
312bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I2__MASK				0x00ff0000
313bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I2__SHIFT				16
314bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I2(x)				(((x) << VIVS_VS_HALTI5_INPUT_I2__SHIFT) & VIVS_VS_HALTI5_INPUT_I2__MASK)
315bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I3__MASK				0xff000000
316bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I3__SHIFT				24
317bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_INPUT_I3(x)				(((x) << VIVS_VS_HALTI5_INPUT_I3__SHIFT) & VIVS_VS_HALTI5_INPUT_I3__MASK)
318bf215546Sopenharmony_ci
319bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT(i0)			       (0x000008e0 + 0x4*(i0))
320bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT__ESIZE				0x00000004
321bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT__LEN				0x00000008
322bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O0__MASK				0x000000ff
323bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O0__SHIFT				0
324bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O0(x)				(((x) << VIVS_VS_HALTI5_OUTPUT_O0__SHIFT) & VIVS_VS_HALTI5_OUTPUT_O0__MASK)
325bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O1__MASK				0x0000ff00
326bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O1__SHIFT				8
327bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O1(x)				(((x) << VIVS_VS_HALTI5_OUTPUT_O1__SHIFT) & VIVS_VS_HALTI5_OUTPUT_O1__MASK)
328bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O2__MASK				0x00ff0000
329bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O2__SHIFT				16
330bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O2(x)				(((x) << VIVS_VS_HALTI5_OUTPUT_O2__SHIFT) & VIVS_VS_HALTI5_OUTPUT_O2__MASK)
331bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O3__MASK				0xff000000
332bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O3__SHIFT				24
333bf215546Sopenharmony_ci#define VIVS_VS_HALTI5_OUTPUT_O3(x)				(((x) << VIVS_VS_HALTI5_OUTPUT_O3__SHIFT) & VIVS_VS_HALTI5_OUTPUT_O3__MASK)
334bf215546Sopenharmony_ci
335bf215546Sopenharmony_ci#define VIVS_VS_INST_MEM(i0)				       (0x00004000 + 0x4*(i0))
336bf215546Sopenharmony_ci#define VIVS_VS_INST_MEM__ESIZE					0x00000004
337bf215546Sopenharmony_ci#define VIVS_VS_INST_MEM__LEN					0x00000400
338bf215546Sopenharmony_ci
339bf215546Sopenharmony_ci#define VIVS_VS_UNIFORMS(i0)				       (0x00005000 + 0x4*(i0))
340bf215546Sopenharmony_ci#define VIVS_VS_UNIFORMS__ESIZE					0x00000004
341bf215546Sopenharmony_ci#define VIVS_VS_UNIFORMS__LEN					0x00000400
342bf215546Sopenharmony_ci
343bf215546Sopenharmony_ci#define VIVS_VS_ICACHE_COUNT					0x00015604
344bf215546Sopenharmony_ci
345bf215546Sopenharmony_ci#define VIVS_CL							0x00000000
346bf215546Sopenharmony_ci
347bf215546Sopenharmony_ci#define VIVS_CL_CONFIG						0x00000900
348bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_DIMENSIONS__MASK				0x00000003
349bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_DIMENSIONS__SHIFT			0
350bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_DIMENSIONS(x)				(((x) << VIVS_CL_CONFIG_DIMENSIONS__SHIFT) & VIVS_CL_CONFIG_DIMENSIONS__MASK)
351bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_TRAVERSE_ORDER__MASK			0x00000070
352bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_TRAVERSE_ORDER__SHIFT			4
353bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_TRAVERSE_ORDER(x)			(((x) << VIVS_CL_CONFIG_TRAVERSE_ORDER__SHIFT) & VIVS_CL_CONFIG_TRAVERSE_ORDER__MASK)
354bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_ENABLE_SWATH_X				0x00000100
355bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_ENABLE_SWATH_Y				0x00000200
356bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_ENABLE_SWATH_Z				0x00000400
357bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_X__MASK			0x0000f000
358bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_X__SHIFT			12
359bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_X(x)				(((x) << VIVS_CL_CONFIG_SWATH_SIZE_X__SHIFT) & VIVS_CL_CONFIG_SWATH_SIZE_X__MASK)
360bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_Y__MASK			0x000f0000
361bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_Y__SHIFT			16
362bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_Y(x)				(((x) << VIVS_CL_CONFIG_SWATH_SIZE_Y__SHIFT) & VIVS_CL_CONFIG_SWATH_SIZE_Y__MASK)
363bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_Z__MASK			0x00f00000
364bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_Z__SHIFT			20
365bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_SWATH_SIZE_Z(x)				(((x) << VIVS_CL_CONFIG_SWATH_SIZE_Z__SHIFT) & VIVS_CL_CONFIG_SWATH_SIZE_Z__MASK)
366bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_VALUE_ORDER__MASK			0x07000000
367bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_VALUE_ORDER__SHIFT			24
368bf215546Sopenharmony_ci#define VIVS_CL_CONFIG_VALUE_ORDER(x)				(((x) << VIVS_CL_CONFIG_VALUE_ORDER__SHIFT) & VIVS_CL_CONFIG_VALUE_ORDER__MASK)
369bf215546Sopenharmony_ci
370bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_X					0x00000904
371bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_X_SIZE__MASK				0x0000ffff
372bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_X_SIZE__SHIFT				0
373bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_X_SIZE(x)				(((x) << VIVS_CL_GLOBAL_X_SIZE__SHIFT) & VIVS_CL_GLOBAL_X_SIZE__MASK)
374bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_X_OFFSET__MASK				0xffff0000
375bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_X_OFFSET__SHIFT				16
376bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_X_OFFSET(x)				(((x) << VIVS_CL_GLOBAL_X_OFFSET__SHIFT) & VIVS_CL_GLOBAL_X_OFFSET__MASK)
377bf215546Sopenharmony_ci
378bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Y					0x00000908
379bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Y_SIZE__MASK				0x0000ffff
380bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Y_SIZE__SHIFT				0
381bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Y_SIZE(x)				(((x) << VIVS_CL_GLOBAL_Y_SIZE__SHIFT) & VIVS_CL_GLOBAL_Y_SIZE__MASK)
382bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Y_OFFSET__MASK				0xffff0000
383bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Y_OFFSET__SHIFT				16
384bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Y_OFFSET(x)				(((x) << VIVS_CL_GLOBAL_Y_OFFSET__SHIFT) & VIVS_CL_GLOBAL_Y_OFFSET__MASK)
385bf215546Sopenharmony_ci
386bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Z					0x0000090c
387bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Z_SIZE__MASK				0x0000ffff
388bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Z_SIZE__SHIFT				0
389bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Z_SIZE(x)				(((x) << VIVS_CL_GLOBAL_Z_SIZE__SHIFT) & VIVS_CL_GLOBAL_Z_SIZE__MASK)
390bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Z_OFFSET__MASK				0xffff0000
391bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Z_OFFSET__SHIFT				16
392bf215546Sopenharmony_ci#define VIVS_CL_GLOBAL_Z_OFFSET(x)				(((x) << VIVS_CL_GLOBAL_Z_OFFSET__SHIFT) & VIVS_CL_GLOBAL_Z_OFFSET__MASK)
393bf215546Sopenharmony_ci
394bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_X					0x00000910
395bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_X_SIZE__MASK				0x000003ff
396bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_X_SIZE__SHIFT				0
397bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_X_SIZE(x)				(((x) << VIVS_CL_WORKGROUP_X_SIZE__SHIFT) & VIVS_CL_WORKGROUP_X_SIZE__MASK)
398bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_X_COUNT__MASK				0xffff0000
399bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_X_COUNT__SHIFT			16
400bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_X_COUNT(x)				(((x) << VIVS_CL_WORKGROUP_X_COUNT__SHIFT) & VIVS_CL_WORKGROUP_X_COUNT__MASK)
401bf215546Sopenharmony_ci
402bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Y					0x00000914
403bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Y_SIZE__MASK				0x000003ff
404bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Y_SIZE__SHIFT				0
405bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Y_SIZE(x)				(((x) << VIVS_CL_WORKGROUP_Y_SIZE__SHIFT) & VIVS_CL_WORKGROUP_Y_SIZE__MASK)
406bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Y_COUNT__MASK				0xffff0000
407bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Y_COUNT__SHIFT			16
408bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Y_COUNT(x)				(((x) << VIVS_CL_WORKGROUP_Y_COUNT__SHIFT) & VIVS_CL_WORKGROUP_Y_COUNT__MASK)
409bf215546Sopenharmony_ci
410bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Z					0x00000918
411bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Z_SIZE__MASK				0x000003ff
412bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Z_SIZE__SHIFT				0
413bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Z_SIZE(x)				(((x) << VIVS_CL_WORKGROUP_Z_SIZE__SHIFT) & VIVS_CL_WORKGROUP_Z_SIZE__MASK)
414bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Z_COUNT__MASK				0xffff0000
415bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Z_COUNT__SHIFT			16
416bf215546Sopenharmony_ci#define VIVS_CL_WORKGROUP_Z_COUNT(x)				(((x) << VIVS_CL_WORKGROUP_Z_COUNT__SHIFT) & VIVS_CL_WORKGROUP_Z_COUNT__MASK)
417bf215546Sopenharmony_ci
418bf215546Sopenharmony_ci#define VIVS_CL_THREAD_ALLOCATION				0x0000091c
419bf215546Sopenharmony_ci
420bf215546Sopenharmony_ci#define VIVS_CL_KICKER						0x00000920
421bf215546Sopenharmony_ci
422bf215546Sopenharmony_ci#define VIVS_CL_UNK00924					0x00000924
423bf215546Sopenharmony_ci
424bf215546Sopenharmony_ci#define VIVS_CL_UNK00940					0x00000940
425bf215546Sopenharmony_ci
426bf215546Sopenharmony_ci#define VIVS_CL_UNK00944					0x00000944
427bf215546Sopenharmony_ci
428bf215546Sopenharmony_ci#define VIVS_CL_UNK00948					0x00000948
429bf215546Sopenharmony_ci
430bf215546Sopenharmony_ci#define VIVS_CL_UNK0094C					0x0000094c
431bf215546Sopenharmony_ci
432bf215546Sopenharmony_ci#define VIVS_CL_UNK00950					0x00000950
433bf215546Sopenharmony_ci
434bf215546Sopenharmony_ci#define VIVS_CL_UNK00954					0x00000954
435bf215546Sopenharmony_ci
436bf215546Sopenharmony_ci#define VIVS_CL_HALTI5_UNK00958					0x00000958
437bf215546Sopenharmony_ci
438bf215546Sopenharmony_ci#define VIVS_CL_HALTI5_UNK0095C					0x0000095c
439bf215546Sopenharmony_ci
440bf215546Sopenharmony_ci#define VIVS_CL_HALTI5_UNK00960					0x00000960
441bf215546Sopenharmony_ci
442bf215546Sopenharmony_ci#define VIVS_PA							0x00000000
443bf215546Sopenharmony_ci
444bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_SCALE_X				0x00000a00
445bf215546Sopenharmony_ci
446bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_SCALE_Y				0x00000a04
447bf215546Sopenharmony_ci
448bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_SCALE_Z				0x00000a08
449bf215546Sopenharmony_ci
450bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_OFFSET_X				0x00000a0c
451bf215546Sopenharmony_ci
452bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_OFFSET_Y				0x00000a10
453bf215546Sopenharmony_ci
454bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_OFFSET_Z				0x00000a14
455bf215546Sopenharmony_ci
456bf215546Sopenharmony_ci#define VIVS_PA_LINE_WIDTH					0x00000a18
457bf215546Sopenharmony_ci
458bf215546Sopenharmony_ci#define VIVS_PA_POINT_SIZE					0x00000a1c
459bf215546Sopenharmony_ci
460bf215546Sopenharmony_ci#define VIVS_PA_UNK00A24					0x00000a24
461bf215546Sopenharmony_ci
462bf215546Sopenharmony_ci#define VIVS_PA_SYSTEM_MODE					0x00000a28
463bf215546Sopenharmony_ci#define VIVS_PA_SYSTEM_MODE_PROVOKING_VERTEX_LAST		0x00000001
464bf215546Sopenharmony_ci#define VIVS_PA_SYSTEM_MODE_HALF_PIXEL_CENTER			0x00000010
465bf215546Sopenharmony_ci
466bf215546Sopenharmony_ci#define VIVS_PA_W_CLIP_LIMIT					0x00000a2c
467bf215546Sopenharmony_ci
468bf215546Sopenharmony_ci#define VIVS_PA_ATTRIBUTE_ELEMENT_COUNT				0x00000a30
469bf215546Sopenharmony_ci#define VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_UNK0__MASK		0x000000ff
470bf215546Sopenharmony_ci#define VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_UNK0__SHIFT		0
471bf215546Sopenharmony_ci#define VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_UNK0(x)			(((x) << VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_UNK0__SHIFT) & VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_UNK0__MASK)
472bf215546Sopenharmony_ci#define VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_COUNT__MASK		0x0000ff00
473bf215546Sopenharmony_ci#define VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_COUNT__SHIFT		8
474bf215546Sopenharmony_ci#define VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_COUNT(x)		(((x) << VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_COUNT__SHIFT) & VIVS_PA_ATTRIBUTE_ELEMENT_COUNT_COUNT__MASK)
475bf215546Sopenharmony_ci
476bf215546Sopenharmony_ci#define VIVS_PA_CONFIG						0x00000a34
477bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_POINT_SIZE_ENABLE			0x00000004
478bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_POINT_SIZE_ENABLE_MASK			0x00000008
479bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_POINT_SPRITE_ENABLE			0x00000010
480bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_POINT_SPRITE_ENABLE_MASK			0x00000020
481bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_CULL_FACE_MODE__MASK			0x00000300
482bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_CULL_FACE_MODE__SHIFT			8
483bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_CULL_FACE_MODE_OFF			0x00000000
484bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_CULL_FACE_MODE_CW			0x00000100
485bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_CULL_FACE_MODE_CCW			0x00000200
486bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_CULL_FACE_MODE_MASK			0x00000400
487bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_FILL_MODE__MASK				0x00003000
488bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_FILL_MODE__SHIFT				12
489bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_FILL_MODE_POINT				0x00000000
490bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_FILL_MODE_WIREFRAME			0x00001000
491bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_FILL_MODE_SOLID				0x00002000
492bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_FILL_MODE_MASK				0x00004000
493bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_SHADE_MODEL__MASK			0x00030000
494bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_SHADE_MODEL__SHIFT			16
495bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_SHADE_MODEL_FLAT				0x00000000
496bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_SHADE_MODEL_SMOOTH			0x00010000
497bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_SHADE_MODEL_MASK				0x00040000
498bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_WIDE_LINE				0x00400000
499bf215546Sopenharmony_ci#define VIVS_PA_CONFIG_WIDE_LINE_MASK				0x00800000
500bf215546Sopenharmony_ci
501bf215546Sopenharmony_ci#define VIVS_PA_WIDE_LINE_WIDTH0				0x00000a38
502bf215546Sopenharmony_ci
503bf215546Sopenharmony_ci#define VIVS_PA_WIDE_LINE_WIDTH1				0x00000a3c
504bf215546Sopenharmony_ci
505bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES(i0)			       (0x00000a40 + 0x4*(i0))
506bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES__ESIZE			0x00000004
507bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES__LEN				0x0000000a
508bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES_BYPASS_FLAT			0x00000001
509bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES_UNK4__MASK			0x000000f0
510bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES_UNK4__SHIFT			4
511bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES_UNK4(x)			(((x) << VIVS_PA_SHADER_ATTRIBUTES_UNK4__SHIFT) & VIVS_PA_SHADER_ATTRIBUTES_UNK4__MASK)
512bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES_UNK8__MASK			0x00000f00
513bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES_UNK8__SHIFT			8
514bf215546Sopenharmony_ci#define VIVS_PA_SHADER_ATTRIBUTES_UNK8(x)			(((x) << VIVS_PA_SHADER_ATTRIBUTES_UNK8__SHIFT) & VIVS_PA_SHADER_ATTRIBUTES_UNK8__MASK)
515bf215546Sopenharmony_ci
516bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_UNK00A80				0x00000a80
517bf215546Sopenharmony_ci
518bf215546Sopenharmony_ci#define VIVS_PA_VIEWPORT_UNK00A84				0x00000a84
519bf215546Sopenharmony_ci
520bf215546Sopenharmony_ci#define VIVS_PA_FLAGS						0x00000a88
521bf215546Sopenharmony_ci#define VIVS_PA_FLAGS_UNK24					0x01000000
522bf215546Sopenharmony_ci#define VIVS_PA_FLAGS_ZCONVERT_BYPASS				0x40000000
523bf215546Sopenharmony_ci
524bf215546Sopenharmony_ci#define VIVS_PA_ZFARCLIPPING					0x00000a8c
525bf215546Sopenharmony_ci
526bf215546Sopenharmony_ci#define VIVS_PA_VARYING_NUM_COMPONENTS(i0)		       (0x00000a90 + 0x4*(i0))
527bf215546Sopenharmony_ci#define VIVS_PA_VARYING_NUM_COMPONENTS__ESIZE			0x00000004
528bf215546Sopenharmony_ci#define VIVS_PA_VARYING_NUM_COMPONENTS__LEN			0x00000004
529bf215546Sopenharmony_ci
530bf215546Sopenharmony_ci#define VIVS_PA_VS_OUTPUT_COUNT					0x00000aa8
531bf215546Sopenharmony_ci
532bf215546Sopenharmony_ci#define VIVS_SE							0x00000000
533bf215546Sopenharmony_ci
534bf215546Sopenharmony_ci#define VIVS_SE_SCISSOR_LEFT					0x00000c00
535bf215546Sopenharmony_ci
536bf215546Sopenharmony_ci#define VIVS_SE_SCISSOR_TOP					0x00000c04
537bf215546Sopenharmony_ci
538bf215546Sopenharmony_ci#define VIVS_SE_SCISSOR_RIGHT					0x00000c08
539bf215546Sopenharmony_ci
540bf215546Sopenharmony_ci#define VIVS_SE_SCISSOR_BOTTOM					0x00000c0c
541bf215546Sopenharmony_ci
542bf215546Sopenharmony_ci#define VIVS_SE_DEPTH_SCALE					0x00000c10
543bf215546Sopenharmony_ci
544bf215546Sopenharmony_ci#define VIVS_SE_DEPTH_BIAS					0x00000c14
545bf215546Sopenharmony_ci
546bf215546Sopenharmony_ci#define VIVS_SE_CONFIG						0x00000c18
547bf215546Sopenharmony_ci#define VIVS_SE_CONFIG_LAST_PIXEL_ENABLE			0x00000001
548bf215546Sopenharmony_ci
549bf215546Sopenharmony_ci#define VIVS_SE_UNK00C1C					0x00000c1c
550bf215546Sopenharmony_ci
551bf215546Sopenharmony_ci#define VIVS_SE_CLIP_RIGHT					0x00000c20
552bf215546Sopenharmony_ci
553bf215546Sopenharmony_ci#define VIVS_SE_CLIP_BOTTOM					0x00000c24
554bf215546Sopenharmony_ci
555bf215546Sopenharmony_ci#define VIVS_RA							0x00000000
556bf215546Sopenharmony_ci
557bf215546Sopenharmony_ci#define VIVS_RA_CONTROL						0x00000e00
558bf215546Sopenharmony_ci#define VIVS_RA_CONTROL_UNK0					0x00000001
559bf215546Sopenharmony_ci#define VIVS_RA_CONTROL_LAST_VARYING_2X				0x00000002
560bf215546Sopenharmony_ci
561bf215546Sopenharmony_ci#define VIVS_RA_MULTISAMPLE_UNK00E04				0x00000e04
562bf215546Sopenharmony_ci
563bf215546Sopenharmony_ci#define VIVS_RA_EARLY_DEPTH					0x00000e08
564bf215546Sopenharmony_ci#define VIVS_RA_EARLY_DEPTH_TEST_ENABLE				0x00000001
565bf215546Sopenharmony_ci#define VIVS_RA_EARLY_DEPTH_HDEPTH_DISABLE			0x01000000
566bf215546Sopenharmony_ci#define VIVS_RA_EARLY_DEPTH_WRITE_DISABLE			0x10000000
567bf215546Sopenharmony_ci
568bf215546Sopenharmony_ci#define VIVS_RA_UNK00E0C					0x00000e0c
569bf215546Sopenharmony_ci
570bf215546Sopenharmony_ci#define VIVS_RA_MULTISAMPLE_UNK00E10(i0)		       (0x00000e10 + 0x4*(i0))
571bf215546Sopenharmony_ci#define VIVS_RA_MULTISAMPLE_UNK00E10__ESIZE			0x00000004
572bf215546Sopenharmony_ci#define VIVS_RA_MULTISAMPLE_UNK00E10__LEN			0x00000004
573bf215546Sopenharmony_ci
574bf215546Sopenharmony_ci#define VIVS_RA_HDEPTH_CONTROL					0x00000e20
575bf215546Sopenharmony_ci#define VIVS_RA_HDEPTH_CONTROL_UNK0				0x00000001
576bf215546Sopenharmony_ci#define VIVS_RA_HDEPTH_CONTROL_COMPARE__MASK			0x00007000
577bf215546Sopenharmony_ci#define VIVS_RA_HDEPTH_CONTROL_COMPARE__SHIFT			12
578bf215546Sopenharmony_ci#define VIVS_RA_HDEPTH_CONTROL_COMPARE(x)			(((x) << VIVS_RA_HDEPTH_CONTROL_COMPARE__SHIFT) & VIVS_RA_HDEPTH_CONTROL_COMPARE__MASK)
579bf215546Sopenharmony_ci
580bf215546Sopenharmony_ci#define VIVS_RA_UNK00E24					0x00000e24
581bf215546Sopenharmony_ci
582bf215546Sopenharmony_ci#define VIVS_RA_HALTI5_UNK00E34					0x00000e34
583bf215546Sopenharmony_ci
584bf215546Sopenharmony_ci#define VIVS_RA_CENTROID_TABLE(i0)			       (0x00000e40 + 0x4*(i0))
585bf215546Sopenharmony_ci#define VIVS_RA_CENTROID_TABLE__ESIZE				0x00000004
586bf215546Sopenharmony_ci#define VIVS_RA_CENTROID_TABLE__LEN				0x00000010
587bf215546Sopenharmony_ci
588bf215546Sopenharmony_ci#define VIVS_PS							0x00000000
589bf215546Sopenharmony_ci
590bf215546Sopenharmony_ci#define VIVS_PS_END_PC						0x00001000
591bf215546Sopenharmony_ci
592bf215546Sopenharmony_ci#define VIVS_PS_OUTPUT_REG					0x00001004
593bf215546Sopenharmony_ci
594bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT					0x00001008
595bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT_COUNT__MASK				0x0000000f
596bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT_COUNT__SHIFT			0
597bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT_COUNT(x)				(((x) << VIVS_PS_INPUT_COUNT_COUNT__SHIFT) & VIVS_PS_INPUT_COUNT_COUNT__MASK)
598bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT_UNK8__MASK				0x00001f00
599bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT_UNK8__SHIFT				8
600bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT_UNK8(x)				(((x) << VIVS_PS_INPUT_COUNT_UNK8__SHIFT) & VIVS_PS_INPUT_COUNT_UNK8__MASK)
601bf215546Sopenharmony_ci#define VIVS_PS_INPUT_COUNT_DUAL16				0x00010000
602bf215546Sopenharmony_ci
603bf215546Sopenharmony_ci#define VIVS_PS_TEMP_REGISTER_CONTROL				0x0000100c
604bf215546Sopenharmony_ci#define VIVS_PS_TEMP_REGISTER_CONTROL_NUM_TEMPS__MASK		0x0000003f
605bf215546Sopenharmony_ci#define VIVS_PS_TEMP_REGISTER_CONTROL_NUM_TEMPS__SHIFT		0
606bf215546Sopenharmony_ci#define VIVS_PS_TEMP_REGISTER_CONTROL_NUM_TEMPS(x)		(((x) << VIVS_PS_TEMP_REGISTER_CONTROL_NUM_TEMPS__SHIFT) & VIVS_PS_TEMP_REGISTER_CONTROL_NUM_TEMPS__MASK)
607bf215546Sopenharmony_ci
608bf215546Sopenharmony_ci#define VIVS_PS_CONTROL						0x00001010
609bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_BYPASS					0x00000001
610bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_SATURATE_RT0				0x00000002
611bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_SATURATE_RT1				0x00000004
612bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_SATURATE_RT2				0x00000008
613bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_SATURATE_RT3				0x00000010
614bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_RT_COUNT__MASK				0x00000700
615bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_RT_COUNT__SHIFT				8
616bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_RT_COUNT(x)				(((x) << VIVS_PS_CONTROL_RT_COUNT__SHIFT) & VIVS_PS_CONTROL_RT_COUNT__MASK)
617bf215546Sopenharmony_ci
618bf215546Sopenharmony_ci#define VIVS_PS_PERF_COUNTER					0x00001014
619bf215546Sopenharmony_ci
620bf215546Sopenharmony_ci#define VIVS_PS_START_PC					0x00001018
621bf215546Sopenharmony_ci
622bf215546Sopenharmony_ci#define VIVS_PS_RANGE						0x0000101c
623bf215546Sopenharmony_ci#define VIVS_PS_RANGE_LOW__MASK					0x0000ffff
624bf215546Sopenharmony_ci#define VIVS_PS_RANGE_LOW__SHIFT				0
625bf215546Sopenharmony_ci#define VIVS_PS_RANGE_LOW(x)					(((x) << VIVS_PS_RANGE_LOW__SHIFT) & VIVS_PS_RANGE_LOW__MASK)
626bf215546Sopenharmony_ci#define VIVS_PS_RANGE_HIGH__MASK				0xffff0000
627bf215546Sopenharmony_ci#define VIVS_PS_RANGE_HIGH__SHIFT				16
628bf215546Sopenharmony_ci#define VIVS_PS_RANGE_HIGH(x)					(((x) << VIVS_PS_RANGE_HIGH__SHIFT) & VIVS_PS_RANGE_HIGH__MASK)
629bf215546Sopenharmony_ci
630bf215546Sopenharmony_ci#define VIVS_PS_UNIFORM_BASE					0x00001024
631bf215546Sopenharmony_ci
632bf215546Sopenharmony_ci#define VIVS_PS_INST_ADDR					0x00001028
633bf215546Sopenharmony_ci
634bf215546Sopenharmony_ci#define VIVS_PS_CONTROL2					0x0000102c
635bf215546Sopenharmony_ci#define VIVS_PS_CONTROL2_SATURATE_RT4				0x00000080
636bf215546Sopenharmony_ci#define VIVS_PS_CONTROL2_SATURATE_RT5				0x00008000
637bf215546Sopenharmony_ci#define VIVS_PS_CONTROL2_SATURATE_RT6				0x00800000
638bf215546Sopenharmony_ci#define VIVS_PS_CONTROL2_SATURATE_RT7				0x80000000
639bf215546Sopenharmony_ci
640bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT					0x00001030
641bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__MASK			0x00000007
642bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__SHIFT			0
643bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE0(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__MASK)
644bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__MASK			0x00000070
645bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__SHIFT			4
646bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE1(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__MASK)
647bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__MASK			0x00000700
648bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__SHIFT			8
649bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE2(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__MASK)
650bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__MASK			0x00007000
651bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__SHIFT			12
652bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE3(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__MASK)
653bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__MASK			0x00070000
654bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__SHIFT			16
655bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE4(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__MASK)
656bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__MASK			0x00700000
657bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__SHIFT			20
658bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE5(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__MASK)
659bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__MASK			0x07000000
660bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__SHIFT			24
661bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE6(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__MASK)
662bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__MASK			0x70000000
663bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__SHIFT			28
664bf215546Sopenharmony_ci#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE7(x)			(((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__MASK)
665bf215546Sopenharmony_ci
666bf215546Sopenharmony_ci#define VIVS_PS_UNK01034					0x00001034
667bf215546Sopenharmony_ci
668bf215546Sopenharmony_ci#define VIVS_PS_UNK01038					0x00001038
669bf215546Sopenharmony_ci
670bf215546Sopenharmony_ci#define VIVS_PS_HALTI3_UNK0103C					0x0000103c
671bf215546Sopenharmony_ci
672bf215546Sopenharmony_ci#define VIVS_PS_UNK01040(i0)				       (0x00001040 + 0x4*(i0))
673bf215546Sopenharmony_ci#define VIVS_PS_UNK01040__ESIZE					0x00000004
674bf215546Sopenharmony_ci#define VIVS_PS_UNK01040__LEN					0x00000002
675bf215546Sopenharmony_ci
676bf215546Sopenharmony_ci#define VIVS_PS_ICACHE_PREFETCH					0x00001048
677bf215546Sopenharmony_ci
678bf215546Sopenharmony_ci#define VIVS_PS_ICACHE_UNK0104C					0x0000104c
679bf215546Sopenharmony_ci
680bf215546Sopenharmony_ci#define VIVS_PS_MSAA_CONFIG					0x00001054
681bf215546Sopenharmony_ci
682bf215546Sopenharmony_ci#define VIVS_PS_SAMPLER_BASE					0x00001058
683bf215546Sopenharmony_ci
684bf215546Sopenharmony_ci#define VIVS_PS_VARYING_NUM_COMPONENTS(i0)		       (0x00001080 + 0x4*(i0))
685bf215546Sopenharmony_ci#define VIVS_PS_VARYING_NUM_COMPONENTS__ESIZE			0x00000004
686bf215546Sopenharmony_ci#define VIVS_PS_VARYING_NUM_COMPONENTS__LEN			0x00000004
687bf215546Sopenharmony_ci
688bf215546Sopenharmony_ci#define VIVS_PS_NEWRANGE_LOW					0x0000087c
689bf215546Sopenharmony_ci
690bf215546Sopenharmony_ci#define VIVS_PS_NEWRANGE_HIGH					0x00001090
691bf215546Sopenharmony_ci
692bf215546Sopenharmony_ci#define VIVS_PS_ICACHE_COUNT					0x00001094
693bf215546Sopenharmony_ci
694bf215546Sopenharmony_ci#define VIVS_PS_HALTI5_UNK01098					0x00001098
695bf215546Sopenharmony_ci
696bf215546Sopenharmony_ci#define VIVS_PS_INST_MEM(i0)				       (0x00006000 + 0x4*(i0))
697bf215546Sopenharmony_ci#define VIVS_PS_INST_MEM__ESIZE					0x00000004
698bf215546Sopenharmony_ci#define VIVS_PS_INST_MEM__LEN					0x00000400
699bf215546Sopenharmony_ci
700bf215546Sopenharmony_ci#define VIVS_PS_UNIFORMS(i0)				       (0x00007000 + 0x4*(i0))
701bf215546Sopenharmony_ci#define VIVS_PS_UNIFORMS__ESIZE					0x00000004
702bf215546Sopenharmony_ci#define VIVS_PS_UNIFORMS__LEN					0x00000400
703bf215546Sopenharmony_ci
704bf215546Sopenharmony_ci#define VIVS_GS							0x00000000
705bf215546Sopenharmony_ci
706bf215546Sopenharmony_ci#define VIVS_GS_UNK01100					0x00001100
707bf215546Sopenharmony_ci
708bf215546Sopenharmony_ci#define VIVS_GS_UNK01104					0x00001104
709bf215546Sopenharmony_ci
710bf215546Sopenharmony_ci#define VIVS_GS_UNK01108					0x00001108
711bf215546Sopenharmony_ci
712bf215546Sopenharmony_ci#define VIVS_GS_UNK0110C					0x0000110c
713bf215546Sopenharmony_ci
714bf215546Sopenharmony_ci#define VIVS_GS_UNK01110					0x00001110
715bf215546Sopenharmony_ci
716bf215546Sopenharmony_ci#define VIVS_GS_UNK01114					0x00001114
717bf215546Sopenharmony_ci
718bf215546Sopenharmony_ci#define VIVS_GS_ICACHE_PREFETCH					0x00001118
719bf215546Sopenharmony_ci
720bf215546Sopenharmony_ci#define VIVS_GS_UNK0111C					0x0000111c
721bf215546Sopenharmony_ci
722bf215546Sopenharmony_ci#define VIVS_GS_UNK01120(i0)				       (0x00001120 + 0x4*(i0))
723bf215546Sopenharmony_ci#define VIVS_GS_UNK01120__ESIZE					0x00000004
724bf215546Sopenharmony_ci#define VIVS_GS_UNK01120__LEN					0x00000008
725bf215546Sopenharmony_ci
726bf215546Sopenharmony_ci#define VIVS_GS_UNK01140					0x00001140
727bf215546Sopenharmony_ci
728bf215546Sopenharmony_ci#define VIVS_GS_UNK01144					0x00001144
729bf215546Sopenharmony_ci
730bf215546Sopenharmony_ci#define VIVS_GS_UNK01148					0x00001148
731bf215546Sopenharmony_ci
732bf215546Sopenharmony_ci#define VIVS_GS_UNK0114C					0x0000114c
733bf215546Sopenharmony_ci
734bf215546Sopenharmony_ci#define VIVS_GS_UNK01154					0x00001154
735bf215546Sopenharmony_ci
736bf215546Sopenharmony_ci#define VIVS_TCS						0x00000000
737bf215546Sopenharmony_ci
738bf215546Sopenharmony_ci#define VIVS_TCS_UNK007C0					0x000007c0
739bf215546Sopenharmony_ci
740bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A00					0x00014a00
741bf215546Sopenharmony_ci
742bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A04					0x00014a04
743bf215546Sopenharmony_ci
744bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A08					0x00014a08
745bf215546Sopenharmony_ci
746bf215546Sopenharmony_ci#define VIVS_TCS_ICACHE_PREFETCH				0x00014a0c
747bf215546Sopenharmony_ci
748bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A10					0x00014a10
749bf215546Sopenharmony_ci
750bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A14					0x00014a14
751bf215546Sopenharmony_ci
752bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A18					0x00014a18
753bf215546Sopenharmony_ci
754bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A1C					0x00014a1c
755bf215546Sopenharmony_ci
756bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A20(i0)				       (0x00014a20 + 0x4*(i0))
757bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A20__ESIZE				0x00000004
758bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A20__LEN					0x00000008
759bf215546Sopenharmony_ci
760bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A40					0x00014a40
761bf215546Sopenharmony_ci
762bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A44					0x00014a44
763bf215546Sopenharmony_ci
764bf215546Sopenharmony_ci#define VIVS_TCS_UNK14A4C					0x00014a4c
765bf215546Sopenharmony_ci
766bf215546Sopenharmony_ci#define VIVS_TES						0x00000000
767bf215546Sopenharmony_ci
768bf215546Sopenharmony_ci#define VIVS_TES_UNK14B00					0x00014b00
769bf215546Sopenharmony_ci
770bf215546Sopenharmony_ci#define VIVS_TES_UNK14B04					0x00014b04
771bf215546Sopenharmony_ci
772bf215546Sopenharmony_ci#define VIVS_TES_UNK14B08					0x00014b08
773bf215546Sopenharmony_ci
774bf215546Sopenharmony_ci#define VIVS_TES_UNK14B0C					0x00014b0c
775bf215546Sopenharmony_ci
776bf215546Sopenharmony_ci#define VIVS_TES_ICACHE_PREFETCH				0x00014b10
777bf215546Sopenharmony_ci
778bf215546Sopenharmony_ci#define VIVS_TES_UNK14B14					0x00014b14
779bf215546Sopenharmony_ci
780bf215546Sopenharmony_ci#define VIVS_TES_UNK14B18					0x00014b18
781bf215546Sopenharmony_ci
782bf215546Sopenharmony_ci#define VIVS_TES_UNK14B1C					0x00014b1c
783bf215546Sopenharmony_ci
784bf215546Sopenharmony_ci#define VIVS_TES_UNK14B20					0x00014b20
785bf215546Sopenharmony_ci
786bf215546Sopenharmony_ci#define VIVS_TES_UNK14B24					0x00014b24
787bf215546Sopenharmony_ci
788bf215546Sopenharmony_ci#define VIVS_TES_UNK14B2C					0x00014b2c
789bf215546Sopenharmony_ci
790bf215546Sopenharmony_ci#define VIVS_TES_UNK14B34					0x00014b34
791bf215546Sopenharmony_ci
792bf215546Sopenharmony_ci#define VIVS_TES_UNK14B40(i0)				       (0x00014b40 + 0x4*(i0))
793bf215546Sopenharmony_ci#define VIVS_TES_UNK14B40__ESIZE				0x00000004
794bf215546Sopenharmony_ci#define VIVS_TES_UNK14B40__LEN					0x00000008
795bf215546Sopenharmony_ci
796bf215546Sopenharmony_ci#define VIVS_TFB						0x00000000
797bf215546Sopenharmony_ci
798bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C000					0x0001c000
799bf215546Sopenharmony_ci
800bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C008					0x0001c008
801bf215546Sopenharmony_ci
802bf215546Sopenharmony_ci#define VIVS_TFB_FLUSH						0x0001c00c
803bf215546Sopenharmony_ci
804bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C014					0x0001c014
805bf215546Sopenharmony_ci
806bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C040(i0)				       (0x0001c040 + 0x4*(i0))
807bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C040__ESIZE				0x00000004
808bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C040__LEN					0x00000004
809bf215546Sopenharmony_ci
810bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C080(i0)				       (0x0001c080 + 0x4*(i0))
811bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C080__ESIZE				0x00000004
812bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C080__LEN					0x00000004
813bf215546Sopenharmony_ci
814bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C0C0(i0)				       (0x0001c0c0 + 0x4*(i0))
815bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C0C0__ESIZE				0x00000004
816bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C0C0__LEN					0x00000004
817bf215546Sopenharmony_ci
818bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C100(i0)				       (0x0001c100 + 0x4*(i0))
819bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C100__ESIZE				0x00000004
820bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C100__LEN					0x00000004
821bf215546Sopenharmony_ci
822bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C800(i0)				       (0x0001c800 + 0x4*(i0))
823bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C800__ESIZE				0x00000004
824bf215546Sopenharmony_ci#define VIVS_TFB_UNK1C800__LEN					0x00000200
825bf215546Sopenharmony_ci
826bf215546Sopenharmony_ci#define VIVS_PE							0x00000000
827bf215546Sopenharmony_ci
828bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG					0x00001400
829bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_MODE__MASK			0x00000003
830bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_MODE__SHIFT			0
831bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_MODE_NONE			0x00000000
832bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_MODE_Z			0x00000001
833bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_MODE_W			0x00000002
834bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_MODE_MASK			0x00000008
835bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FORMAT__MASK			0x00000010
836bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FORMAT__SHIFT		4
837bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FORMAT_D16			0x00000000
838bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FORMAT_D24S8			0x00000010
839bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FORMAT_MASK			0x00000020
840bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FUNC__MASK			0x00000700
841bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FUNC__SHIFT			8
842bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FUNC(x)			(((x) << VIVS_PE_DEPTH_CONFIG_DEPTH_FUNC__SHIFT) & VIVS_PE_DEPTH_CONFIG_DEPTH_FUNC__MASK)
843bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DEPTH_FUNC_MASK			0x00000800
844bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_WRITE_ENABLE			0x00001000
845bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_WRITE_ENABLE_MASK			0x00002000
846bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_EARLY_Z				0x00010000
847bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_EARLY_Z_MASK			0x00020000
848bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_UNK18				0x00040000
849bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_UNK18_MASK				0x00080000
850bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_ONLY_DEPTH				0x00100000
851bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_ONLY_DEPTH_MASK			0x00200000
852bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DISABLE_ZS				0x01000000
853bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_DISABLE_ZS_MASK			0x02000000
854bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_SUPER_TILED			0x04000000
855bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_CONFIG_SUPER_TILED_MASK			0x08000000
856bf215546Sopenharmony_ci
857bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_NEAR					0x00001404
858bf215546Sopenharmony_ci
859bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_FAR					0x00001408
860bf215546Sopenharmony_ci
861bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_NORMALIZE					0x0000140c
862bf215546Sopenharmony_ci
863bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_ADDR					0x00001410
864bf215546Sopenharmony_ci
865bf215546Sopenharmony_ci#define VIVS_PE_DEPTH_STRIDE					0x00001414
866bf215546Sopenharmony_ci
867bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP					0x00001418
868bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_FRONT__MASK			0x00000007
869bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_FRONT__SHIFT			0
870bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_FRONT(x)			(((x) << VIVS_PE_STENCIL_OP_FUNC_FRONT__SHIFT) & VIVS_PE_STENCIL_OP_FUNC_FRONT__MASK)
871bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_FRONT_MASK			0x00000008
872bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_FRONT__MASK			0x00000070
873bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_FRONT__SHIFT			4
874bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_FRONT(x)			(((x) << VIVS_PE_STENCIL_OP_PASS_FRONT__SHIFT) & VIVS_PE_STENCIL_OP_PASS_FRONT__MASK)
875bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_FRONT_MASK			0x00000080
876bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_FRONT__MASK			0x00000700
877bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_FRONT__SHIFT			8
878bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_FRONT(x)			(((x) << VIVS_PE_STENCIL_OP_FAIL_FRONT__SHIFT) & VIVS_PE_STENCIL_OP_FAIL_FRONT__MASK)
879bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_FRONT_MASK			0x00000800
880bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_FRONT__MASK		0x00007000
881bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_FRONT__SHIFT		12
882bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_FRONT(x)			(((x) << VIVS_PE_STENCIL_OP_DEPTH_FAIL_FRONT__SHIFT) & VIVS_PE_STENCIL_OP_DEPTH_FAIL_FRONT__MASK)
883bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_FRONT_MASK		0x00008000
884bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_BACK__MASK			0x00070000
885bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_BACK__SHIFT			16
886bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_BACK(x)				(((x) << VIVS_PE_STENCIL_OP_FUNC_BACK__SHIFT) & VIVS_PE_STENCIL_OP_FUNC_BACK__MASK)
887bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FUNC_BACK_MASK			0x00080000
888bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_BACK__MASK			0x00700000
889bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_BACK__SHIFT			20
890bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_BACK(x)				(((x) << VIVS_PE_STENCIL_OP_PASS_BACK__SHIFT) & VIVS_PE_STENCIL_OP_PASS_BACK__MASK)
891bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_PASS_BACK_MASK			0x00800000
892bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_BACK__MASK			0x07000000
893bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_BACK__SHIFT			24
894bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_BACK(x)				(((x) << VIVS_PE_STENCIL_OP_FAIL_BACK__SHIFT) & VIVS_PE_STENCIL_OP_FAIL_BACK__MASK)
895bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_FAIL_BACK_MASK			0x08000000
896bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_BACK__MASK		0x70000000
897bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_BACK__SHIFT		28
898bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_BACK(x)			(((x) << VIVS_PE_STENCIL_OP_DEPTH_FAIL_BACK__SHIFT) & VIVS_PE_STENCIL_OP_DEPTH_FAIL_BACK__MASK)
899bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_OP_DEPTH_FAIL_BACK_MASK			0x80000000
900bf215546Sopenharmony_ci
901bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG					0x0000141c
902bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MODE__MASK			0x00000003
903bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MODE__SHIFT			0
904bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MODE_DISABLED			0x00000000
905bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MODE_ONE_SIDED			0x00000001
906bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MODE_TWO_SIDED			0x00000002
907bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MODE_MASK			0x00000010
908bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_REF_FRONT_MASK			0x00000020
909bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MASK_FRONT_MASK			0x00000040
910bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_WRITE_MASK_MASK			0x00000080
911bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_REF_FRONT__MASK			0x0000ff00
912bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_REF_FRONT__SHIFT			8
913bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_REF_FRONT(x)			(((x) << VIVS_PE_STENCIL_CONFIG_REF_FRONT__SHIFT) & VIVS_PE_STENCIL_CONFIG_REF_FRONT__MASK)
914bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MASK_FRONT__MASK			0x00ff0000
915bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MASK_FRONT__SHIFT		16
916bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_MASK_FRONT(x)			(((x) << VIVS_PE_STENCIL_CONFIG_MASK_FRONT__SHIFT) & VIVS_PE_STENCIL_CONFIG_MASK_FRONT__MASK)
917bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_WRITE_MASK_FRONT__MASK		0xff000000
918bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_WRITE_MASK_FRONT__SHIFT		24
919bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_WRITE_MASK_FRONT(x)		(((x) << VIVS_PE_STENCIL_CONFIG_WRITE_MASK_FRONT__SHIFT) & VIVS_PE_STENCIL_CONFIG_WRITE_MASK_FRONT__MASK)
920bf215546Sopenharmony_ci
921bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP					0x00001420
922bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_TEST				0x00000001
923bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_TEST_MASK			0x00000002
924bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_FUNC__MASK			0x00000070
925bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_FUNC__SHIFT			4
926bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_FUNC(x)				(((x) << VIVS_PE_ALPHA_OP_ALPHA_FUNC__SHIFT) & VIVS_PE_ALPHA_OP_ALPHA_FUNC__MASK)
927bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_FUNC_MASK			0x00000080
928bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_REF__MASK			0x0000ff00
929bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_REF__SHIFT			8
930bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_REF(x)				(((x) << VIVS_PE_ALPHA_OP_ALPHA_REF__SHIFT) & VIVS_PE_ALPHA_OP_ALPHA_REF__MASK)
931bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_OP_ALPHA_REF_MASKFUNC_MASK		0x00010000
932bf215546Sopenharmony_ci
933bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR				0x00001424
934bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_B__MASK			0x000000ff
935bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_B__SHIFT			0
936bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_B(x)				(((x) << VIVS_PE_ALPHA_BLEND_COLOR_B__SHIFT) & VIVS_PE_ALPHA_BLEND_COLOR_B__MASK)
937bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_G__MASK			0x0000ff00
938bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_G__SHIFT			8
939bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_G(x)				(((x) << VIVS_PE_ALPHA_BLEND_COLOR_G__SHIFT) & VIVS_PE_ALPHA_BLEND_COLOR_G__MASK)
940bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_R__MASK			0x00ff0000
941bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_R__SHIFT			16
942bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_R(x)				(((x) << VIVS_PE_ALPHA_BLEND_COLOR_R__SHIFT) & VIVS_PE_ALPHA_BLEND_COLOR_R__MASK)
943bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_A__MASK			0xff000000
944bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_A__SHIFT			24
945bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_BLEND_COLOR_A(x)				(((x) << VIVS_PE_ALPHA_BLEND_COLOR_A__SHIFT) & VIVS_PE_ALPHA_BLEND_COLOR_A__MASK)
946bf215546Sopenharmony_ci
947bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG					0x00001428
948bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_BLEND_ENABLE_COLOR			0x00000001
949bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_BLEND_ENABLE_COLOR_MASK		0x00000002
950bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_COLOR_MASK		0x00000004
951bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_COLOR_MASK		0x00000008
952bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_COLOR__MASK		0x000000f0
953bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_COLOR__SHIFT		4
954bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_COLOR(x)			(((x) << VIVS_PE_ALPHA_CONFIG_SRC_FUNC_COLOR__SHIFT) & VIVS_PE_ALPHA_CONFIG_SRC_FUNC_COLOR__MASK)
955bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_COLOR__MASK		0x00000f00
956bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_COLOR__SHIFT		8
957bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_COLOR(x)			(((x) << VIVS_PE_ALPHA_CONFIG_DST_FUNC_COLOR__SHIFT) & VIVS_PE_ALPHA_CONFIG_DST_FUNC_COLOR__MASK)
958bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_COLOR__MASK			0x00007000
959bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_COLOR__SHIFT			12
960bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_COLOR(x)			(((x) << VIVS_PE_ALPHA_CONFIG_EQ_COLOR__SHIFT) & VIVS_PE_ALPHA_CONFIG_EQ_COLOR__MASK)
961bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_COLOR_MASK			0x00008000
962bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_BLEND_SEPARATE_ALPHA		0x00010000
963bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_BLEND_SEPARATE_ALPHA_MASK		0x00020000
964bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_ALPHA_MASK		0x00040000
965bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_ALPHA_MASK		0x00080000
966bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_ALPHA__MASK		0x00f00000
967bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_ALPHA__SHIFT		20
968bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_SRC_FUNC_ALPHA(x)			(((x) << VIVS_PE_ALPHA_CONFIG_SRC_FUNC_ALPHA__SHIFT) & VIVS_PE_ALPHA_CONFIG_SRC_FUNC_ALPHA__MASK)
969bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_ALPHA__MASK		0x0f000000
970bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_ALPHA__SHIFT		24
971bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_DST_FUNC_ALPHA(x)			(((x) << VIVS_PE_ALPHA_CONFIG_DST_FUNC_ALPHA__SHIFT) & VIVS_PE_ALPHA_CONFIG_DST_FUNC_ALPHA__MASK)
972bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_ALPHA__MASK			0x70000000
973bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_ALPHA__SHIFT			28
974bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_ALPHA(x)			(((x) << VIVS_PE_ALPHA_CONFIG_EQ_ALPHA__SHIFT) & VIVS_PE_ALPHA_CONFIG_EQ_ALPHA__MASK)
975bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_CONFIG_EQ_ALPHA_MASK			0x80000000
976bf215546Sopenharmony_ci
977bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT					0x0000142c
978bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT__MASK			0x0000000f
979bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT__SHIFT			0
980bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT(x)				(((x) << VIVS_PE_COLOR_FORMAT_FORMAT__SHIFT) & VIVS_PE_COLOR_FORMAT_FORMAT__MASK)
981bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT_MASK			0x00000010
982bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_COMPONENTS__MASK			0x00000f00
983bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_COMPONENTS__SHIFT			8
984bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_COMPONENTS(x)			(((x) << VIVS_PE_COLOR_FORMAT_COMPONENTS__SHIFT) & VIVS_PE_COLOR_FORMAT_COMPONENTS__MASK)
985bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_COMPONENTS_MASK			0x00001000
986bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_SUPER_TILED_NEW			0x00002000
987bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_OVERWRITE				0x00010000
988bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_OVERWRITE_MASK			0x00020000
989bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_SUPER_TILED			0x00100000
990bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_SUPER_TILED_MASK			0x00200000
991bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT_EXT__MASK			0x7f000000
992bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT_EXT__SHIFT			24
993bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT_EXT(x)			(((x) << VIVS_PE_COLOR_FORMAT_FORMAT_EXT__SHIFT) & VIVS_PE_COLOR_FORMAT_FORMAT_EXT__MASK)
994bf215546Sopenharmony_ci#define VIVS_PE_COLOR_FORMAT_FORMAT_EXT_MASK			0x80000000
995bf215546Sopenharmony_ci
996bf215546Sopenharmony_ci#define VIVS_PE_COLOR_ADDR					0x00001430
997bf215546Sopenharmony_ci
998bf215546Sopenharmony_ci#define VIVS_PE_COLOR_STRIDE					0x00001434
999bf215546Sopenharmony_ci
1000bf215546Sopenharmony_ci#define VIVS_PE_HDEPTH_CONTROL					0x00001454
1001bf215546Sopenharmony_ci#define VIVS_PE_HDEPTH_CONTROL_FORMAT__MASK			0x0000000f
1002bf215546Sopenharmony_ci#define VIVS_PE_HDEPTH_CONTROL_FORMAT__SHIFT			0
1003bf215546Sopenharmony_ci#define VIVS_PE_HDEPTH_CONTROL_FORMAT_DISABLED			0x00000000
1004bf215546Sopenharmony_ci#define VIVS_PE_HDEPTH_CONTROL_FORMAT_D16			0x00000005
1005bf215546Sopenharmony_ci#define VIVS_PE_HDEPTH_CONTROL_FORMAT_D24S8			0x00000008
1006bf215546Sopenharmony_ci
1007bf215546Sopenharmony_ci#define VIVS_PE_HDEPTH_ADDR					0x00001458
1008bf215546Sopenharmony_ci
1009bf215546Sopenharmony_ci#define VIVS_PE_UNK0145C					0x0000145c
1010bf215546Sopenharmony_ci
1011bf215546Sopenharmony_ci#define VIVS_PE_PIPE(i0)				       (0x00000000 + 0x4*(i0))
1012bf215546Sopenharmony_ci#define VIVS_PE_PIPE__ESIZE					0x00000004
1013bf215546Sopenharmony_ci#define VIVS_PE_PIPE__LEN					0x00000008
1014bf215546Sopenharmony_ci
1015bf215546Sopenharmony_ci#define VIVS_PE_PIPE_COLOR_ADDR(i0)			       (0x00001460 + 0x4*(i0))
1016bf215546Sopenharmony_ci
1017bf215546Sopenharmony_ci#define VIVS_PE_PIPE_DEPTH_ADDR(i0)			       (0x00001480 + 0x4*(i0))
1018bf215546Sopenharmony_ci
1019bf215546Sopenharmony_ci#define VIVS_PE_PIPE_ADDR_UNK01500(i0)			       (0x00001500 + 0x4*(i0))
1020bf215546Sopenharmony_ci
1021bf215546Sopenharmony_ci#define VIVS_PE_PIPE_ADDR_UNK01520(i0)			       (0x00001520 + 0x4*(i0))
1022bf215546Sopenharmony_ci
1023bf215546Sopenharmony_ci#define VIVS_PE_PIPE_ADDR_UNK01540(i0)			       (0x00001540 + 0x4*(i0))
1024bf215546Sopenharmony_ci
1025bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT				0x000014a0
1026bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_REF_BACK__MASK		0x000000ff
1027bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_REF_BACK__SHIFT		0
1028bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_REF_BACK(x)			(((x) << VIVS_PE_STENCIL_CONFIG_EXT_REF_BACK__SHIFT) & VIVS_PE_STENCIL_CONFIG_EXT_REF_BACK__MASK)
1029bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_REF_BACK_MASK		0x00000100
1030bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_UNK16_MASK			0x00000200
1031bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_EXTRA_ALPHA_REF__MASK	0xffff0000
1032bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_EXTRA_ALPHA_REF__SHIFT	16
1033bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT_EXTRA_ALPHA_REF(x)		(((x) << VIVS_PE_STENCIL_CONFIG_EXT_EXTRA_ALPHA_REF__SHIFT) & VIVS_PE_STENCIL_CONFIG_EXT_EXTRA_ALPHA_REF__MASK)
1034bf215546Sopenharmony_ci
1035bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP					0x000014a4
1036bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_OP__MASK				0x0000000f
1037bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_OP__SHIFT				0
1038bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_OP(x)					(((x) << VIVS_PE_LOGIC_OP_OP__SHIFT) & VIVS_PE_LOGIC_OP_OP__MASK)
1039bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_OP_MASK				0x00000010
1040bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_DITHER_MODE__MASK			0x00000060
1041bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_DITHER_MODE__SHIFT			5
1042bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_DITHER_MODE(x)				(((x) << VIVS_PE_LOGIC_OP_DITHER_MODE__SHIFT) & VIVS_PE_LOGIC_OP_DITHER_MODE__MASK)
1043bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_SINGLE_BUFFER_MASK			0x00000080
1044bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_SINGLE_BUFFER__MASK			0x00000300
1045bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_SINGLE_BUFFER__SHIFT			8
1046bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_SINGLE_BUFFER(x)			(((x) << VIVS_PE_LOGIC_OP_SINGLE_BUFFER__SHIFT) & VIVS_PE_LOGIC_OP_SINGLE_BUFFER__MASK)
1047bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_DITHER_MODE_MASK			0x00000400
1048bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK11					0x00000800
1049bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK20__MASK				0x00300000
1050bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK20__SHIFT				20
1051bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK20(x)				(((x) << VIVS_PE_LOGIC_OP_UNK20__SHIFT) & VIVS_PE_LOGIC_OP_UNK20__MASK)
1052bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK20_MASK				0x00800000
1053bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK24__MASK				0x07000000
1054bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK24__SHIFT				24
1055bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK24(x)				(((x) << VIVS_PE_LOGIC_OP_UNK24__SHIFT) & VIVS_PE_LOGIC_OP_UNK24__MASK)
1056bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_UNK24_MASK				0x08000000
1057bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_SRGB_MASK				0x40000000
1058bf215546Sopenharmony_ci#define VIVS_PE_LOGIC_OP_SRGB					0x80000000
1059bf215546Sopenharmony_ci
1060bf215546Sopenharmony_ci#define VIVS_PE_DITHER(i0)				       (0x000014a8 + 0x4*(i0))
1061bf215546Sopenharmony_ci#define VIVS_PE_DITHER__ESIZE					0x00000004
1062bf215546Sopenharmony_ci#define VIVS_PE_DITHER__LEN					0x00000002
1063bf215546Sopenharmony_ci
1064bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT0				0x000014b0
1065bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT0_B__MASK			0x0000ffff
1066bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT0_B__SHIFT			0
1067bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT0_B(x)				(((x) << VIVS_PE_ALPHA_COLOR_EXT0_B__SHIFT) & VIVS_PE_ALPHA_COLOR_EXT0_B__MASK)
1068bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT0_G__MASK			0xffff0000
1069bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT0_G__SHIFT			16
1070bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT0_G(x)				(((x) << VIVS_PE_ALPHA_COLOR_EXT0_G__SHIFT) & VIVS_PE_ALPHA_COLOR_EXT0_G__MASK)
1071bf215546Sopenharmony_ci
1072bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT1				0x000014b4
1073bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT1_R__MASK			0x0000ffff
1074bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT1_R__SHIFT			0
1075bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT1_R(x)				(((x) << VIVS_PE_ALPHA_COLOR_EXT1_R__SHIFT) & VIVS_PE_ALPHA_COLOR_EXT1_R__MASK)
1076bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT1_A__MASK			0xffff0000
1077bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT1_A__SHIFT			16
1078bf215546Sopenharmony_ci#define VIVS_PE_ALPHA_COLOR_EXT1_A(x)				(((x) << VIVS_PE_ALPHA_COLOR_EXT1_A__SHIFT) & VIVS_PE_ALPHA_COLOR_EXT1_A__MASK)
1079bf215546Sopenharmony_ci
1080bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT2				0x000014b8
1081bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT2_MASK_BACK__MASK		0x000000ff
1082bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT2_MASK_BACK__SHIFT		0
1083bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT2_MASK_BACK(x)		(((x) << VIVS_PE_STENCIL_CONFIG_EXT2_MASK_BACK__SHIFT) & VIVS_PE_STENCIL_CONFIG_EXT2_MASK_BACK__MASK)
1084bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT2_WRITE_MASK_BACK__MASK	0x0000ff00
1085bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT2_WRITE_MASK_BACK__SHIFT	8
1086bf215546Sopenharmony_ci#define VIVS_PE_STENCIL_CONFIG_EXT2_WRITE_MASK_BACK(x)		(((x) << VIVS_PE_STENCIL_CONFIG_EXT2_WRITE_MASK_BACK__SHIFT) & VIVS_PE_STENCIL_CONFIG_EXT2_WRITE_MASK_BACK__MASK)
1087bf215546Sopenharmony_ci
1088bf215546Sopenharmony_ci#define VIVS_PE_MEM_CONFIG					0x000014bc
1089bf215546Sopenharmony_ci#define VIVS_PE_MEM_CONFIG_COLOR_TS_MODE__MASK			0x01000000
1090bf215546Sopenharmony_ci#define VIVS_PE_MEM_CONFIG_COLOR_TS_MODE__SHIFT			24
1091bf215546Sopenharmony_ci#define VIVS_PE_MEM_CONFIG_COLOR_TS_MODE(x)			(((x) << VIVS_PE_MEM_CONFIG_COLOR_TS_MODE__SHIFT) & VIVS_PE_MEM_CONFIG_COLOR_TS_MODE__MASK)
1092bf215546Sopenharmony_ci#define VIVS_PE_MEM_CONFIG_DEPTH_TS_MODE__MASK			0x04000000
1093bf215546Sopenharmony_ci#define VIVS_PE_MEM_CONFIG_DEPTH_TS_MODE__SHIFT			26
1094bf215546Sopenharmony_ci#define VIVS_PE_MEM_CONFIG_DEPTH_TS_MODE(x)			(((x) << VIVS_PE_MEM_CONFIG_DEPTH_TS_MODE__SHIFT) & VIVS_PE_MEM_CONFIG_DEPTH_TS_MODE__MASK)
1095bf215546Sopenharmony_ci
1096bf215546Sopenharmony_ci#define VIVS_PE_HALTI4_UNK014C0					0x000014c0
1097bf215546Sopenharmony_ci
1098bf215546Sopenharmony_ci#define VIVS_PE_ROBUSTNESS_UNK014C4				0x000014c4
1099bf215546Sopenharmony_ci
1100bf215546Sopenharmony_ci#define VIVS_PE_UNK01580(i0)				       (0x00001580 + 0x4*(i0))
1101bf215546Sopenharmony_ci#define VIVS_PE_UNK01580__ESIZE					0x00000004
1102bf215546Sopenharmony_ci#define VIVS_PE_UNK01580__LEN					0x00000003
1103bf215546Sopenharmony_ci
1104bf215546Sopenharmony_ci#define VIVS_PE_RT_ADDR(i0)				       (0x00000000 + 0x20*(i0))
1105bf215546Sopenharmony_ci#define VIVS_PE_RT_ADDR__ESIZE					0x00000020
1106bf215546Sopenharmony_ci#define VIVS_PE_RT_ADDR__LEN					0x00000008
1107bf215546Sopenharmony_ci
1108bf215546Sopenharmony_ci#define VIVS_PE_RT_ADDR_PIPE(i0, i1)			       (0x00014800 + 0x20*(i0) + 0x4*(i1))
1109bf215546Sopenharmony_ci#define VIVS_PE_RT_ADDR_PIPE__ESIZE				0x00000004
1110bf215546Sopenharmony_ci#define VIVS_PE_RT_ADDR_PIPE__LEN				0x00000008
1111bf215546Sopenharmony_ci
1112bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG(i0)				       (0x00014900 + 0x4*(i0))
1113bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG__ESIZE				0x00000004
1114bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG__LEN					0x00000008
1115bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_STRIDE__MASK				0x0000ffff
1116bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_STRIDE__SHIFT				0
1117bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_STRIDE(x)				(((x) << VIVS_PE_RT_CONFIG_STRIDE__SHIFT) & VIVS_PE_RT_CONFIG_STRIDE__MASK)
1118bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_FORMAT__MASK				0x001f0000
1119bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_FORMAT__SHIFT				16
1120bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_FORMAT(x)				(((x) << VIVS_PE_RT_CONFIG_FORMAT__SHIFT) & VIVS_PE_RT_CONFIG_FORMAT__MASK)
1121bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_SUPER_TILED				0x04000000
1122bf215546Sopenharmony_ci#define VIVS_PE_RT_CONFIG_UNK28					0x10000000
1123bf215546Sopenharmony_ci
1124bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14920(i0)			       (0x00014920 + 0x4*(i0))
1125bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14920__ESIZE				0x00000004
1126bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14920__LEN				0x00000007
1127bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14920_COMPONENTS__MASK		0x000000f0
1128bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14920_COMPONENTS__SHIFT		4
1129bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14920_COMPONENTS(x)			(((x) << VIVS_PE_HALTI5_UNK14920_COMPONENTS__SHIFT) & VIVS_PE_HALTI5_UNK14920_COMPONENTS__MASK)
1130bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14920_UNK8				0x00000100
1131bf215546Sopenharmony_ci
1132bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14940(i0)			       (0x00014940 + 0x4*(i0))
1133bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14940__ESIZE				0x00000004
1134bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14940__LEN				0x00000007
1135bf215546Sopenharmony_ci
1136bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14960(i0)			       (0x00014960 + 0x4*(i0))
1137bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14960__ESIZE				0x00000004
1138bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14960__LEN				0x00000007
1139bf215546Sopenharmony_ci
1140bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14980(i0)			       (0x00014980 + 0x4*(i0))
1141bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14980__ESIZE				0x00000004
1142bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK14980__LEN				0x00000007
1143bf215546Sopenharmony_ci
1144bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK149A0(i0)			       (0x000149a0 + 0x4*(i0))
1145bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK149A0__ESIZE				0x00000004
1146bf215546Sopenharmony_ci#define VIVS_PE_HALTI5_UNK149A0__LEN				0x00000007
1147bf215546Sopenharmony_ci
1148bf215546Sopenharmony_ci#define VIVS_PE_ROBUSTNESS_UNK149C0(i0)			       (0x000149c0 + 0x4*(i0))
1149bf215546Sopenharmony_ci#define VIVS_PE_ROBUSTNESS_UNK149C0__ESIZE			0x00000004
1150bf215546Sopenharmony_ci#define VIVS_PE_ROBUSTNESS_UNK149C0__LEN			0x00000008
1151bf215546Sopenharmony_ci
1152bf215546Sopenharmony_ci#define VIVS_CO							0x00000000
1153bf215546Sopenharmony_ci
1154bf215546Sopenharmony_ci#define VIVS_CO_UNK03008					0x00003008
1155bf215546Sopenharmony_ci
1156bf215546Sopenharmony_ci#define VIVS_CO_KICKER						0x0000300c
1157bf215546Sopenharmony_ci
1158bf215546Sopenharmony_ci#define VIVS_CO_UNK03010					0x00003010
1159bf215546Sopenharmony_ci
1160bf215546Sopenharmony_ci#define VIVS_CO_UNK03014					0x00003014
1161bf215546Sopenharmony_ci
1162bf215546Sopenharmony_ci#define VIVS_CO_UNK03018					0x00003018
1163bf215546Sopenharmony_ci
1164bf215546Sopenharmony_ci#define VIVS_CO_UNK0301C					0x0000301c
1165bf215546Sopenharmony_ci
1166bf215546Sopenharmony_ci#define VIVS_CO_UNK03020					0x00003020
1167bf215546Sopenharmony_ci
1168bf215546Sopenharmony_ci#define VIVS_CO_UNK03024					0x00003024
1169bf215546Sopenharmony_ci
1170bf215546Sopenharmony_ci#define VIVS_CO_UNK03040					0x00003040
1171bf215546Sopenharmony_ci
1172bf215546Sopenharmony_ci#define VIVS_CO_UNK03044					0x00003044
1173bf215546Sopenharmony_ci
1174bf215546Sopenharmony_ci#define VIVS_CO_UNK03048					0x00003048
1175bf215546Sopenharmony_ci
1176bf215546Sopenharmony_ci#define VIVS_CO_ICACHE_UNK0304C					0x0000304c
1177bf215546Sopenharmony_ci
1178bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER(i0)				       (0x00000000 + 0x4*(i0))
1179bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER__ESIZE					0x00000004
1180bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER__LEN					0x00000008
1181bf215546Sopenharmony_ci
1182bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK03060(i0)			       (0x00003060 + 0x4*(i0))
1183bf215546Sopenharmony_ci
1184bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK03080(i0)			       (0x00003080 + 0x4*(i0))
1185bf215546Sopenharmony_ci
1186bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK030A0(i0)			       (0x000030a0 + 0x4*(i0))
1187bf215546Sopenharmony_ci
1188bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK030C0(i0)			       (0x000030c0 + 0x4*(i0))
1189bf215546Sopenharmony_ci
1190bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK030E0(i0)			       (0x000030e0 + 0x4*(i0))
1191bf215546Sopenharmony_ci
1192bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK03100(i0)			       (0x00003100 + 0x4*(i0))
1193bf215546Sopenharmony_ci
1194bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK03120(i0)			       (0x00003120 + 0x4*(i0))
1195bf215546Sopenharmony_ci
1196bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK03140(i0)			       (0x00003140 + 0x4*(i0))
1197bf215546Sopenharmony_ci
1198bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK03160(i0)			       (0x00003160 + 0x4*(i0))
1199bf215546Sopenharmony_ci
1200bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK03180(i0)			       (0x00003180 + 0x4*(i0))
1201bf215546Sopenharmony_ci
1202bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK031A0(i0)			       (0x000031a0 + 0x4*(i0))
1203bf215546Sopenharmony_ci
1204bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK031C0(i0)			       (0x000031c0 + 0x4*(i0))
1205bf215546Sopenharmony_ci
1206bf215546Sopenharmony_ci#define VIVS_CO_SAMPLER_UNK031E0(i0)			       (0x000031e0 + 0x4*(i0))
1207bf215546Sopenharmony_ci
1208bf215546Sopenharmony_ci#define VIVS_CO_ADDR_UNK03200(i0)			       (0x00003200 + 0x20*(i0))
1209bf215546Sopenharmony_ci#define VIVS_CO_ADDR_UNK03200__ESIZE				0x00000020
1210bf215546Sopenharmony_ci#define VIVS_CO_ADDR_UNK03200__LEN				0x00000008
1211bf215546Sopenharmony_ci
1212bf215546Sopenharmony_ci#define VIVS_CO_ADDR_UNK03200_PPIPE(i0, i1)		       (0x00003200 + 0x20*(i0) + 0x4*(i1))
1213bf215546Sopenharmony_ci#define VIVS_CO_ADDR_UNK03200_PPIPE__ESIZE			0x00000004
1214bf215546Sopenharmony_ci#define VIVS_CO_ADDR_UNK03200_PPIPE__LEN			0x00000008
1215bf215546Sopenharmony_ci
1216bf215546Sopenharmony_ci#define VIVS_RS							0x00000000
1217bf215546Sopenharmony_ci
1218bf215546Sopenharmony_ci#define VIVS_RS_KICKER						0x00001600
1219bf215546Sopenharmony_ci
1220bf215546Sopenharmony_ci#define VIVS_RS_CONFIG						0x00001604
1221bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_SOURCE_FORMAT__MASK			0x0000001f
1222bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_SOURCE_FORMAT__SHIFT			0
1223bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_SOURCE_FORMAT(x)				(((x) << VIVS_RS_CONFIG_SOURCE_FORMAT__SHIFT) & VIVS_RS_CONFIG_SOURCE_FORMAT__MASK)
1224bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_DOWNSAMPLE_X				0x00000020
1225bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_DOWNSAMPLE_Y				0x00000040
1226bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_SOURCE_TILED				0x00000080
1227bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_DEST_FORMAT__MASK			0x00001f00
1228bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_DEST_FORMAT__SHIFT			8
1229bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_DEST_FORMAT(x)				(((x) << VIVS_RS_CONFIG_DEST_FORMAT__SHIFT) & VIVS_RS_CONFIG_DEST_FORMAT__MASK)
1230bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_DEST_TILED				0x00004000
1231bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_SWAP_RB					0x20000000
1232bf215546Sopenharmony_ci#define VIVS_RS_CONFIG_FLIP					0x40000000
1233bf215546Sopenharmony_ci
1234bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_ADDR					0x00001608
1235bf215546Sopenharmony_ci
1236bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE					0x0000160c
1237bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_STRIDE__MASK			0x0003ffff
1238bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_STRIDE__SHIFT			0
1239bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_STRIDE(x)				(((x) << VIVS_RS_SOURCE_STRIDE_STRIDE__SHIFT) & VIVS_RS_SOURCE_STRIDE_STRIDE__MASK)
1240bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_TS_MODE__MASK			0x20000000
1241bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_TS_MODE__SHIFT			29
1242bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_TS_MODE(x)			(((x) << VIVS_RS_SOURCE_STRIDE_TS_MODE__SHIFT) & VIVS_RS_SOURCE_STRIDE_TS_MODE__MASK)
1243bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_SUPER_TILED_NEW			0x08000000
1244bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_MULTI				0x40000000
1245bf215546Sopenharmony_ci#define VIVS_RS_SOURCE_STRIDE_TILING				0x80000000
1246bf215546Sopenharmony_ci
1247bf215546Sopenharmony_ci#define VIVS_RS_DEST_ADDR					0x00001610
1248bf215546Sopenharmony_ci
1249bf215546Sopenharmony_ci#define VIVS_RS_DEST_STRIDE					0x00001614
1250bf215546Sopenharmony_ci#define VIVS_RS_DEST_STRIDE_STRIDE__MASK			0x0003ffff
1251bf215546Sopenharmony_ci#define VIVS_RS_DEST_STRIDE_STRIDE__SHIFT			0
1252bf215546Sopenharmony_ci#define VIVS_RS_DEST_STRIDE_STRIDE(x)				(((x) << VIVS_RS_DEST_STRIDE_STRIDE__SHIFT) & VIVS_RS_DEST_STRIDE_STRIDE__MASK)
1253bf215546Sopenharmony_ci#define VIVS_RS_DEST_STRIDE_SUPER_TILED_NEW			0x08000000
1254bf215546Sopenharmony_ci#define VIVS_RS_DEST_STRIDE_MULTI				0x40000000
1255bf215546Sopenharmony_ci#define VIVS_RS_DEST_STRIDE_TILING				0x80000000
1256bf215546Sopenharmony_ci
1257bf215546Sopenharmony_ci#define VIVS_RS_WINDOW_SIZE					0x00001620
1258bf215546Sopenharmony_ci#define VIVS_RS_WINDOW_SIZE_HEIGHT__MASK			0xffff0000
1259bf215546Sopenharmony_ci#define VIVS_RS_WINDOW_SIZE_HEIGHT__SHIFT			16
1260bf215546Sopenharmony_ci#define VIVS_RS_WINDOW_SIZE_HEIGHT(x)				(((x) << VIVS_RS_WINDOW_SIZE_HEIGHT__SHIFT) & VIVS_RS_WINDOW_SIZE_HEIGHT__MASK)
1261bf215546Sopenharmony_ci#define VIVS_RS_WINDOW_SIZE_WIDTH__MASK				0x0000ffff
1262bf215546Sopenharmony_ci#define VIVS_RS_WINDOW_SIZE_WIDTH__SHIFT			0
1263bf215546Sopenharmony_ci#define VIVS_RS_WINDOW_SIZE_WIDTH(x)				(((x) << VIVS_RS_WINDOW_SIZE_WIDTH__SHIFT) & VIVS_RS_WINDOW_SIZE_WIDTH__MASK)
1264bf215546Sopenharmony_ci
1265bf215546Sopenharmony_ci#define VIVS_RS_DITHER(i0)				       (0x00001630 + 0x4*(i0))
1266bf215546Sopenharmony_ci#define VIVS_RS_DITHER__ESIZE					0x00000004
1267bf215546Sopenharmony_ci#define VIVS_RS_DITHER__LEN					0x00000002
1268bf215546Sopenharmony_ci
1269bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL					0x0000163c
1270bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_BITS__MASK			0x0000ffff
1271bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_BITS__SHIFT			0
1272bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_BITS(x)				(((x) << VIVS_RS_CLEAR_CONTROL_BITS__SHIFT) & VIVS_RS_CLEAR_CONTROL_BITS__MASK)
1273bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_MODE__MASK			0x00030000
1274bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_MODE__SHIFT			16
1275bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_MODE_DISABLED			0x00000000
1276bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_MODE_ENABLED1			0x00010000
1277bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_MODE_ENABLED4			0x00020000
1278bf215546Sopenharmony_ci#define VIVS_RS_CLEAR_CONTROL_MODE_ENABLED4_2			0x00030000
1279bf215546Sopenharmony_ci
1280bf215546Sopenharmony_ci#define VIVS_RS_FILL_VALUE(i0)				       (0x00001640 + 0x4*(i0))
1281bf215546Sopenharmony_ci#define VIVS_RS_FILL_VALUE__ESIZE				0x00000004
1282bf215546Sopenharmony_ci#define VIVS_RS_FILL_VALUE__LEN					0x00000004
1283bf215546Sopenharmony_ci
1284bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG					0x000016a0
1285bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_AA__MASK				0x00000003
1286bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_AA__SHIFT				0
1287bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_AA(x)				(((x) << VIVS_RS_EXTRA_CONFIG_AA__SHIFT) & VIVS_RS_EXTRA_CONFIG_AA__MASK)
1288bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_ENDIAN__MASK			0x00000300
1289bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_ENDIAN__SHIFT			8
1290bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_ENDIAN(x)				(((x) << VIVS_RS_EXTRA_CONFIG_ENDIAN__SHIFT) & VIVS_RS_EXTRA_CONFIG_ENDIAN__MASK)
1291bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_UNK20				0x00100000
1292bf215546Sopenharmony_ci#define VIVS_RS_EXTRA_CONFIG_UNK28				0x10000000
1293bf215546Sopenharmony_ci
1294bf215546Sopenharmony_ci#define VIVS_RS_KICKER_INPLACE					0x000016b0
1295bf215546Sopenharmony_ci
1296bf215546Sopenharmony_ci#define VIVS_RS_UNK016B4					0x000016b4
1297bf215546Sopenharmony_ci
1298bf215546Sopenharmony_ci#define VIVS_RS_SINGLE_BUFFER					0x000016b8
1299bf215546Sopenharmony_ci#define VIVS_RS_SINGLE_BUFFER_ENABLE				0x00000001
1300bf215546Sopenharmony_ci
1301bf215546Sopenharmony_ci#define VIVS_RS_PIPE(i0)				       (0x00000000 + 0x4*(i0))
1302bf215546Sopenharmony_ci#define VIVS_RS_PIPE__ESIZE					0x00000004
1303bf215546Sopenharmony_ci#define VIVS_RS_PIPE__LEN					0x00000008
1304bf215546Sopenharmony_ci
1305bf215546Sopenharmony_ci#define VIVS_RS_PIPE_SOURCE_ADDR(i0)			       (0x000016c0 + 0x4*(i0))
1306bf215546Sopenharmony_ci
1307bf215546Sopenharmony_ci#define VIVS_RS_PIPE_DEST_ADDR(i0)			       (0x000016e0 + 0x4*(i0))
1308bf215546Sopenharmony_ci
1309bf215546Sopenharmony_ci#define VIVS_RS_PIPE_OFFSET(i0)				       (0x00001700 + 0x4*(i0))
1310bf215546Sopenharmony_ci#define VIVS_RS_PIPE_OFFSET_X__MASK				0x0000ffff
1311bf215546Sopenharmony_ci#define VIVS_RS_PIPE_OFFSET_X__SHIFT				0
1312bf215546Sopenharmony_ci#define VIVS_RS_PIPE_OFFSET_X(x)				(((x) << VIVS_RS_PIPE_OFFSET_X__SHIFT) & VIVS_RS_PIPE_OFFSET_X__MASK)
1313bf215546Sopenharmony_ci#define VIVS_RS_PIPE_OFFSET_Y__MASK				0xffff0000
1314bf215546Sopenharmony_ci#define VIVS_RS_PIPE_OFFSET_Y__SHIFT				16
1315bf215546Sopenharmony_ci#define VIVS_RS_PIPE_OFFSET_Y(x)				(((x) << VIVS_RS_PIPE_OFFSET_Y__SHIFT) & VIVS_RS_PIPE_OFFSET_Y__MASK)
1316bf215546Sopenharmony_ci
1317bf215546Sopenharmony_ci#define VIVS_TS							0x00000000
1318bf215546Sopenharmony_ci
1319bf215546Sopenharmony_ci#define VIVS_TS_FLUSH_CACHE					0x00001650
1320bf215546Sopenharmony_ci#define VIVS_TS_FLUSH_CACHE_FLUSH				0x00000001
1321bf215546Sopenharmony_ci
1322bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG					0x00001654
1323bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_DEPTH_FAST_CLEAR			0x00000001
1324bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_COLOR_FAST_CLEAR			0x00000002
1325bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_DEPTH_16BPP				0x00000008
1326bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_DEPTH_AUTO_DISABLE			0x00000010
1327bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_COLOR_AUTO_DISABLE			0x00000020
1328bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_DEPTH_COMPRESSION			0x00000040
1329bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_COLOR_COMPRESSION			0x00000080
1330bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_COLOR_COMPRESSION_FORMAT__MASK	0x00000f00
1331bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_COLOR_COMPRESSION_FORMAT__SHIFT	8
1332bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_COLOR_COMPRESSION_FORMAT(x)		(((x) << VIVS_TS_MEM_CONFIG_COLOR_COMPRESSION_FORMAT__SHIFT) & VIVS_TS_MEM_CONFIG_COLOR_COMPRESSION_FORMAT__MASK)
1333bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_UNK12				0x00001000
1334bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_HDEPTH_AUTO_DISABLE			0x00002000
1335bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_STENCIL_ENABLE			0x00004000
1336bf215546Sopenharmony_ci#define VIVS_TS_MEM_CONFIG_UNK21				0x00200000
1337bf215546Sopenharmony_ci
1338bf215546Sopenharmony_ci#define VIVS_TS_COLOR_STATUS_BASE				0x00001658
1339bf215546Sopenharmony_ci
1340bf215546Sopenharmony_ci#define VIVS_TS_COLOR_SURFACE_BASE				0x0000165c
1341bf215546Sopenharmony_ci
1342bf215546Sopenharmony_ci#define VIVS_TS_COLOR_CLEAR_VALUE				0x00001660
1343bf215546Sopenharmony_ci
1344bf215546Sopenharmony_ci#define VIVS_TS_DEPTH_STATUS_BASE				0x00001664
1345bf215546Sopenharmony_ci
1346bf215546Sopenharmony_ci#define VIVS_TS_DEPTH_SURFACE_BASE				0x00001668
1347bf215546Sopenharmony_ci
1348bf215546Sopenharmony_ci#define VIVS_TS_DEPTH_CLEAR_VALUE				0x0000166c
1349bf215546Sopenharmony_ci
1350bf215546Sopenharmony_ci#define VIVS_TS_DEPTH_AUTO_DISABLE_COUNT			0x00001670
1351bf215546Sopenharmony_ci
1352bf215546Sopenharmony_ci#define VIVS_TS_COLOR_AUTO_DISABLE_COUNT			0x00001674
1353bf215546Sopenharmony_ci
1354bf215546Sopenharmony_ci#define VIVS_TS_HDEPTH_STATUS_BASE				0x000016a4
1355bf215546Sopenharmony_ci
1356bf215546Sopenharmony_ci#define VIVS_TS_HDEPTH_CLEAR_VALUE				0x000016a8
1357bf215546Sopenharmony_ci
1358bf215546Sopenharmony_ci#define VIVS_TS_HDEPTH_SIZE					0x000016ac
1359bf215546Sopenharmony_ci
1360bf215546Sopenharmony_ci#define VIVS_TS_COLOR_CLEAR_VALUE_EXT				0x000016bc
1361bf215546Sopenharmony_ci
1362bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER(i0)				       (0x00000000 + 0x4*(i0))
1363bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER__ESIZE					0x00000004
1364bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER__LEN					0x00000008
1365bf215546Sopenharmony_ci
1366bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG(i0)			       (0x00001720 + 0x4*(i0))
1367bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_ENABLE				0x00000001
1368bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_COMPRESSION			0x00000002
1369bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_COMPRESSION_FORMAT__MASK		0x000000f0
1370bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_COMPRESSION_FORMAT__SHIFT	4
1371bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_COMPRESSION_FORMAT(x)		(((x) << VIVS_TS_SAMPLER_CONFIG_COMPRESSION_FORMAT__SHIFT) & VIVS_TS_SAMPLER_CONFIG_COMPRESSION_FORMAT__MASK)
1372bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_UNK11__MASK			0x00003800
1373bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_UNK11__SHIFT			11
1374bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CONFIG_UNK11(x)				(((x) << VIVS_TS_SAMPLER_CONFIG_UNK11__SHIFT) & VIVS_TS_SAMPLER_CONFIG_UNK11__MASK)
1375bf215546Sopenharmony_ci
1376bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_STATUS_BASE(i0)			       (0x00001740 + 0x4*(i0))
1377bf215546Sopenharmony_ci
1378bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CLEAR_VALUE(i0)			       (0x00001760 + 0x4*(i0))
1379bf215546Sopenharmony_ci
1380bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_CLEAR_VALUE2(i0)		       (0x00001780 + 0x4*(i0))
1381bf215546Sopenharmony_ci
1382bf215546Sopenharmony_ci#define VIVS_TS_SAMPLER_SURFACE_BASE(i0)		       (0x00001a80 + 0x4*(i0))
1383bf215546Sopenharmony_ci
1384bf215546Sopenharmony_ci#define VIVS_TS_RT(i0)					       (0x00000000 + 0x4*(i0))
1385bf215546Sopenharmony_ci#define VIVS_TS_RT__ESIZE					0x00000004
1386bf215546Sopenharmony_ci#define VIVS_TS_RT__LEN						0x00000008
1387bf215546Sopenharmony_ci
1388bf215546Sopenharmony_ci#define VIVS_TS_RT_UNK017A0(i0)				       (0x000017a0 + 0x4*(i0))
1389bf215546Sopenharmony_ci
1390bf215546Sopenharmony_ci#define VIVS_TS_RT_STATUS_BASE(i0)			       (0x000017c0 + 0x4*(i0))
1391bf215546Sopenharmony_ci
1392bf215546Sopenharmony_ci#define VIVS_TS_RT_SURFACE_BASE(i0)			       (0x000017e0 + 0x4*(i0))
1393bf215546Sopenharmony_ci
1394bf215546Sopenharmony_ci#define VIVS_TS_RT_CLEAR_VALUE(i0)			       (0x00001a00 + 0x4*(i0))
1395bf215546Sopenharmony_ci
1396bf215546Sopenharmony_ci#define VIVS_TS_RT_CLEAR_VALUE2(i0)			       (0x00001a20 + 0x4*(i0))
1397bf215546Sopenharmony_ci
1398bf215546Sopenharmony_ci#define VIVS_TS_RT_UNK01A40(i0)				       (0x00001a40 + 0x4*(i0))
1399bf215546Sopenharmony_ci
1400bf215546Sopenharmony_ci#define VIVS_YUV						0x00000000
1401bf215546Sopenharmony_ci
1402bf215546Sopenharmony_ci#define VIVS_YUV_CONFIG						0x00001678
1403bf215546Sopenharmony_ci#define VIVS_YUV_CONFIG_ENABLE					0x00000001
1404bf215546Sopenharmony_ci#define VIVS_YUV_CONFIG_SOURCE_FORMAT__MASK			0x00000030
1405bf215546Sopenharmony_ci#define VIVS_YUV_CONFIG_SOURCE_FORMAT__SHIFT			4
1406bf215546Sopenharmony_ci#define VIVS_YUV_CONFIG_SOURCE_FORMAT(x)			(((x) << VIVS_YUV_CONFIG_SOURCE_FORMAT__SHIFT) & VIVS_YUV_CONFIG_SOURCE_FORMAT__MASK)
1407bf215546Sopenharmony_ci#define VIVS_YUV_CONFIG_UV_SWAP					0x00000100
1408bf215546Sopenharmony_ci
1409bf215546Sopenharmony_ci#define VIVS_YUV_WINDOW_SIZE					0x0000167c
1410bf215546Sopenharmony_ci#define VIVS_YUV_WINDOW_SIZE_HEIGHT__MASK			0xffff0000
1411bf215546Sopenharmony_ci#define VIVS_YUV_WINDOW_SIZE_HEIGHT__SHIFT			16
1412bf215546Sopenharmony_ci#define VIVS_YUV_WINDOW_SIZE_HEIGHT(x)				(((x) << VIVS_YUV_WINDOW_SIZE_HEIGHT__SHIFT) & VIVS_YUV_WINDOW_SIZE_HEIGHT__MASK)
1413bf215546Sopenharmony_ci#define VIVS_YUV_WINDOW_SIZE_WIDTH__MASK			0x0000ffff
1414bf215546Sopenharmony_ci#define VIVS_YUV_WINDOW_SIZE_WIDTH__SHIFT			0
1415bf215546Sopenharmony_ci#define VIVS_YUV_WINDOW_SIZE_WIDTH(x)				(((x) << VIVS_YUV_WINDOW_SIZE_WIDTH__SHIFT) & VIVS_YUV_WINDOW_SIZE_WIDTH__MASK)
1416bf215546Sopenharmony_ci
1417bf215546Sopenharmony_ci#define VIVS_YUV_Y_BASE						0x00001680
1418bf215546Sopenharmony_ci
1419bf215546Sopenharmony_ci#define VIVS_YUV_Y_STRIDE					0x00001684
1420bf215546Sopenharmony_ci
1421bf215546Sopenharmony_ci#define VIVS_YUV_U_BASE						0x00001688
1422bf215546Sopenharmony_ci
1423bf215546Sopenharmony_ci#define VIVS_YUV_U_STRIDE					0x0000168c
1424bf215546Sopenharmony_ci
1425bf215546Sopenharmony_ci#define VIVS_YUV_V_BASE						0x00001690
1426bf215546Sopenharmony_ci
1427bf215546Sopenharmony_ci#define VIVS_YUV_V_STRIDE					0x00001694
1428bf215546Sopenharmony_ci
1429bf215546Sopenharmony_ci#define VIVS_YUV_DEST_BASE					0x00001698
1430bf215546Sopenharmony_ci
1431bf215546Sopenharmony_ci#define VIVS_YUV_DEST_STRIDE					0x0000169c
1432bf215546Sopenharmony_ci
1433bf215546Sopenharmony_ci#define VIVS_TE							0x00000000
1434bf215546Sopenharmony_ci
1435bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER(i0)				       (0x00000000 + 0x4*(i0))
1436bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER__ESIZE					0x00000004
1437bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER__LEN					0x0000000c
1438bf215546Sopenharmony_ci
1439bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0(i0)			       (0x00002000 + 0x4*(i0))
1440bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_TYPE__MASK			0x00000007
1441bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_TYPE__SHIFT			0
1442bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_TYPE(x)				(((x) << VIVS_TE_SAMPLER_CONFIG0_TYPE__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_TYPE__MASK)
1443bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_UWRAP__MASK			0x00000018
1444bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_UWRAP__SHIFT			3
1445bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_UWRAP(x)			(((x) << VIVS_TE_SAMPLER_CONFIG0_UWRAP__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_UWRAP__MASK)
1446bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_VWRAP__MASK			0x00000060
1447bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_VWRAP__SHIFT			5
1448bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_VWRAP(x)			(((x) << VIVS_TE_SAMPLER_CONFIG0_VWRAP__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_VWRAP__MASK)
1449bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MIN__MASK			0x00000180
1450bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MIN__SHIFT			7
1451bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MIN(x)				(((x) << VIVS_TE_SAMPLER_CONFIG0_MIN__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_MIN__MASK)
1452bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MIP__MASK			0x00000600
1453bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MIP__SHIFT			9
1454bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MIP(x)				(((x) << VIVS_TE_SAMPLER_CONFIG0_MIP__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_MIP__MASK)
1455bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MAG__MASK			0x00001800
1456bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MAG__SHIFT			11
1457bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_MAG(x)				(((x) << VIVS_TE_SAMPLER_CONFIG0_MAG__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_MAG__MASK)
1458bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_FORMAT__MASK			0x0003e000
1459bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_FORMAT__SHIFT			13
1460bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_FORMAT(x)			(((x) << VIVS_TE_SAMPLER_CONFIG0_FORMAT__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_FORMAT__MASK)
1461bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ROUND_UV			0x00080000
1462bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ADDRESSING_MODE__MASK		0x00300000
1463bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ADDRESSING_MODE__SHIFT		20
1464bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ADDRESSING_MODE(x)		(((x) << VIVS_TE_SAMPLER_CONFIG0_ADDRESSING_MODE__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_ADDRESSING_MODE__MASK)
1465bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ENDIAN__MASK			0x00c00000
1466bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ENDIAN__SHIFT			22
1467bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ENDIAN(x)			(((x) << VIVS_TE_SAMPLER_CONFIG0_ENDIAN__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_ENDIAN__MASK)
1468bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ANISOTROPY__MASK		0xff000000
1469bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ANISOTROPY__SHIFT		24
1470bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG0_ANISOTROPY(x)			(((x) << VIVS_TE_SAMPLER_CONFIG0_ANISOTROPY__SHIFT) & VIVS_TE_SAMPLER_CONFIG0_ANISOTROPY__MASK)
1471bf215546Sopenharmony_ci
1472bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_SIZE(i0)			       (0x00002040 + 0x4*(i0))
1473bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_SIZE_WIDTH__MASK			0x0000ffff
1474bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_SIZE_WIDTH__SHIFT			0
1475bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_SIZE_WIDTH(x)				(((x) << VIVS_TE_SAMPLER_SIZE_WIDTH__SHIFT) & VIVS_TE_SAMPLER_SIZE_WIDTH__MASK)
1476bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_SIZE_HEIGHT__MASK			0xffff0000
1477bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_SIZE_HEIGHT__SHIFT			16
1478bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_SIZE_HEIGHT(x)				(((x) << VIVS_TE_SAMPLER_SIZE_HEIGHT__SHIFT) & VIVS_TE_SAMPLER_SIZE_HEIGHT__MASK)
1479bf215546Sopenharmony_ci
1480bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE(i0)			       (0x00002080 + 0x4*(i0))
1481bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_WIDTH__MASK			0x000003ff
1482bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_WIDTH__SHIFT			0
1483bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_WIDTH(x)			(((x) << VIVS_TE_SAMPLER_LOG_SIZE_WIDTH__SHIFT) & VIVS_TE_SAMPLER_LOG_SIZE_WIDTH__MASK)
1484bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_HEIGHT__MASK			0x000ffc00
1485bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_HEIGHT__SHIFT			10
1486bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_HEIGHT(x)			(((x) << VIVS_TE_SAMPLER_LOG_SIZE_HEIGHT__SHIFT) & VIVS_TE_SAMPLER_LOG_SIZE_HEIGHT__MASK)
1487bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_ASTC				0x10000000
1488bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_INT_FILTER			0x20000000
1489bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOG_SIZE_SRGB				0x80000000
1490bf215546Sopenharmony_ci
1491bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG(i0)			       (0x000020c0 + 0x4*(i0))
1492bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_BIAS_ENABLE			0x00000001
1493bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_MAX__MASK			0x000007fe
1494bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_MAX__SHIFT			1
1495bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_MAX(x)			(((x) << VIVS_TE_SAMPLER_LOD_CONFIG_MAX__SHIFT) & VIVS_TE_SAMPLER_LOD_CONFIG_MAX__MASK)
1496bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_MIN__MASK			0x001ff800
1497bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_MIN__SHIFT			11
1498bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_MIN(x)			(((x) << VIVS_TE_SAMPLER_LOD_CONFIG_MIN__SHIFT) & VIVS_TE_SAMPLER_LOD_CONFIG_MIN__MASK)
1499bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_BIAS__MASK			0x7fe00000
1500bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_BIAS__SHIFT			21
1501bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_CONFIG_BIAS(x)			(((x) << VIVS_TE_SAMPLER_LOD_CONFIG_BIAS__SHIFT) & VIVS_TE_SAMPLER_LOD_CONFIG_BIAS__MASK)
1502bf215546Sopenharmony_ci
1503bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_UNK02100(i0)			       (0x00002100 + 0x4*(i0))
1504bf215546Sopenharmony_ci
1505bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_UNK02140(i0)			       (0x00002140 + 0x4*(i0))
1506bf215546Sopenharmony_ci
1507bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG(i0)			       (0x00002180 + 0x4*(i0))
1508bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_DEPTH__MASK			0x00003fff
1509bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_DEPTH__SHIFT			0
1510bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_DEPTH(x)			(((x) << VIVS_TE_SAMPLER_3D_CONFIG_DEPTH__SHIFT) & VIVS_TE_SAMPLER_3D_CONFIG_DEPTH__MASK)
1511bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_LOG_DEPTH__MASK		0x03ff0000
1512bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_LOG_DEPTH__SHIFT		16
1513bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_LOG_DEPTH(x)			(((x) << VIVS_TE_SAMPLER_3D_CONFIG_LOG_DEPTH__SHIFT) & VIVS_TE_SAMPLER_3D_CONFIG_LOG_DEPTH__MASK)
1514bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_WRAP__MASK			0x30000000
1515bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_WRAP__SHIFT			28
1516bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_3D_CONFIG_WRAP(x)			(((x) << VIVS_TE_SAMPLER_3D_CONFIG_WRAP__SHIFT) & VIVS_TE_SAMPLER_3D_CONFIG_WRAP__MASK)
1517bf215546Sopenharmony_ci
1518bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1(i0)			       (0x000021c0 + 0x4*(i0))
1519bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_FORMAT_EXT__MASK		0x0000003f
1520bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_FORMAT_EXT__SHIFT		0
1521bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_FORMAT_EXT(x)			(((x) << VIVS_TE_SAMPLER_CONFIG1_FORMAT_EXT__SHIFT) & VIVS_TE_SAMPLER_CONFIG1_FORMAT_EXT__MASK)
1522bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_R__MASK			0x00000700
1523bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_R__SHIFT		8
1524bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_R(x)			(((x) << VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_R__SHIFT) & VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_R__MASK)
1525bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_G__MASK			0x00007000
1526bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_G__SHIFT		12
1527bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_G(x)			(((x) << VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_G__SHIFT) & VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_G__MASK)
1528bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_B__MASK			0x00070000
1529bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_B__SHIFT		16
1530bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_B(x)			(((x) << VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_B__SHIFT) & VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_B__MASK)
1531bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_A__MASK			0x00700000
1532bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_A__SHIFT		20
1533bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_A(x)			(((x) << VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_A__SHIFT) & VIVS_TE_SAMPLER_CONFIG1_SWIZZLE_A__MASK)
1534bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_TS_MODE__MASK			0x00800000
1535bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_TS_MODE__SHIFT			23
1536bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_TS_MODE(x)			(((x) << VIVS_TE_SAMPLER_CONFIG1_TS_MODE__SHIFT) & VIVS_TE_SAMPLER_CONFIG1_TS_MODE__MASK)
1537bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_TEXTURE_ARRAY			0x01000000
1538bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_SEAMLESS_CUBE_MAP		0x02000000
1539bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_HALIGN__MASK			0x1c000000
1540bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_HALIGN__SHIFT			26
1541bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_HALIGN(x)			(((x) << VIVS_TE_SAMPLER_CONFIG1_HALIGN__SHIFT) & VIVS_TE_SAMPLER_CONFIG1_HALIGN__MASK)
1542bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_CONFIG1_USE_TS				0x40000000
1543bf215546Sopenharmony_ci
1544bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_UNK02200(i0)			       (0x00002200 + 0x4*(i0))
1545bf215546Sopenharmony_ci
1546bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_UNK02240(i0)			       (0x00002240 + 0x4*(i0))
1547bf215546Sopenharmony_ci
1548bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0(i0)			       (0x00002280 + 0x4*(i0))
1549bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_ASTC_FORMAT__MASK			0x0000000f
1550bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_ASTC_FORMAT__SHIFT		0
1551bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_ASTC_FORMAT(x)			(((x) << VIVS_TE_SAMPLER_ASTC0_ASTC_FORMAT__SHIFT) & VIVS_TE_SAMPLER_ASTC0_ASTC_FORMAT__MASK)
1552bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_ASTC_SRGB				0x00000010
1553bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK8__MASK			0x0000ff00
1554bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK8__SHIFT			8
1555bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK8(x)				(((x) << VIVS_TE_SAMPLER_ASTC0_UNK8__SHIFT) & VIVS_TE_SAMPLER_ASTC0_UNK8__MASK)
1556bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK16__MASK			0x00ff0000
1557bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK16__SHIFT			16
1558bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK16(x)				(((x) << VIVS_TE_SAMPLER_ASTC0_UNK16__SHIFT) & VIVS_TE_SAMPLER_ASTC0_UNK16__MASK)
1559bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK24__MASK			0xff000000
1560bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK24__SHIFT			24
1561bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC0_UNK24(x)				(((x) << VIVS_TE_SAMPLER_ASTC0_UNK24__SHIFT) & VIVS_TE_SAMPLER_ASTC0_UNK24__MASK)
1562bf215546Sopenharmony_ci
1563bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC1(i0)			       (0x00002300 + 0x4*(i0))
1564bf215546Sopenharmony_ci
1565bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC2(i0)			       (0x00002380 + 0x4*(i0))
1566bf215546Sopenharmony_ci
1567bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_ASTC3(i0)			       (0x00002340 + 0x4*(i0))
1568bf215546Sopenharmony_ci
1569bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_ADDR(i0, i1)		       (0x00002400 + 0x4*(i0) + 0x40*(i1))
1570bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_ADDR__ESIZE				0x00000040
1571bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LOD_ADDR__LEN				0x0000000e
1572bf215546Sopenharmony_ci
1573bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LINEAR_STRIDE(i0, i1)		       (0x00002c00 + 0x4*(i0) + 0x40*(i1))
1574bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LINEAR_STRIDE__ESIZE			0x00000040
1575bf215546Sopenharmony_ci#define VIVS_TE_SAMPLER_LINEAR_STRIDE__LEN			0x0000000e
1576bf215546Sopenharmony_ci
1577bf215546Sopenharmony_ci#define VIVS_NTE						0x00000000
1578bf215546Sopenharmony_ci
1579bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER(i0)				       (0x00000000 + 0x4*(i0))
1580bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER__ESIZE					0x00000004
1581bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER__LEN					0x00000020
1582bf215546Sopenharmony_ci
1583bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0(i0)			       (0x00010000 + 0x4*(i0))
1584bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_TYPE__MASK			0x00000007
1585bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_TYPE__SHIFT			0
1586bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_TYPE(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG0_TYPE__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_TYPE__MASK)
1587bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_UWRAP__MASK			0x00000018
1588bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_UWRAP__SHIFT			3
1589bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_UWRAP(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG0_UWRAP__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_UWRAP__MASK)
1590bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_VWRAP__MASK			0x00000060
1591bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_VWRAP__SHIFT			5
1592bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_VWRAP(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG0_VWRAP__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_VWRAP__MASK)
1593bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MIN__MASK			0x00000180
1594bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MIN__SHIFT			7
1595bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MIN(x)				(((x) << VIVS_NTE_SAMPLER_CONFIG0_MIN__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_MIN__MASK)
1596bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MIP__MASK			0x00000600
1597bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MIP__SHIFT			9
1598bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MIP(x)				(((x) << VIVS_NTE_SAMPLER_CONFIG0_MIP__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_MIP__MASK)
1599bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MAG__MASK			0x00001800
1600bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MAG__SHIFT			11
1601bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_MAG(x)				(((x) << VIVS_NTE_SAMPLER_CONFIG0_MAG__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_MAG__MASK)
1602bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_FORMAT__MASK			0x0003e000
1603bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_FORMAT__SHIFT			13
1604bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_FORMAT(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG0_FORMAT__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_FORMAT__MASK)
1605bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ROUND_UV			0x00080000
1606bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ADDRESSING_MODE__MASK		0x00300000
1607bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ADDRESSING_MODE__SHIFT		20
1608bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ADDRESSING_MODE(x)		(((x) << VIVS_NTE_SAMPLER_CONFIG0_ADDRESSING_MODE__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_ADDRESSING_MODE__MASK)
1609bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ENDIAN__MASK			0x00c00000
1610bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ENDIAN__SHIFT			22
1611bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ENDIAN(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG0_ENDIAN__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_ENDIAN__MASK)
1612bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ANISOTROPY__MASK		0xff000000
1613bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ANISOTROPY__SHIFT		24
1614bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG0_ANISOTROPY(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG0_ANISOTROPY__SHIFT) & VIVS_NTE_SAMPLER_CONFIG0_ANISOTROPY__MASK)
1615bf215546Sopenharmony_ci
1616bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_SIZE(i0)			       (0x00010080 + 0x4*(i0))
1617bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_SIZE_WIDTH__MASK			0x0000ffff
1618bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_SIZE_WIDTH__SHIFT			0
1619bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_SIZE_WIDTH(x)				(((x) << VIVS_NTE_SAMPLER_SIZE_WIDTH__SHIFT) & VIVS_NTE_SAMPLER_SIZE_WIDTH__MASK)
1620bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_SIZE_HEIGHT__MASK			0xffff0000
1621bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_SIZE_HEIGHT__SHIFT			16
1622bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_SIZE_HEIGHT(x)				(((x) << VIVS_NTE_SAMPLER_SIZE_HEIGHT__SHIFT) & VIVS_NTE_SAMPLER_SIZE_HEIGHT__MASK)
1623bf215546Sopenharmony_ci
1624bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE(i0)			       (0x00010100 + 0x4*(i0))
1625bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_WIDTH__MASK			0x000003ff
1626bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_WIDTH__SHIFT			0
1627bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_WIDTH(x)			(((x) << VIVS_NTE_SAMPLER_LOG_SIZE_WIDTH__SHIFT) & VIVS_NTE_SAMPLER_LOG_SIZE_WIDTH__MASK)
1628bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_HEIGHT__MASK			0x000ffc00
1629bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_HEIGHT__SHIFT			10
1630bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_HEIGHT(x)			(((x) << VIVS_NTE_SAMPLER_LOG_SIZE_HEIGHT__SHIFT) & VIVS_NTE_SAMPLER_LOG_SIZE_HEIGHT__MASK)
1631bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_ASTC				0x10000000
1632bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_INT_FILTER			0x20000000
1633bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOG_SIZE_SRGB				0x80000000
1634bf215546Sopenharmony_ci
1635bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG(i0)			       (0x00010180 + 0x4*(i0))
1636bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_BIAS_ENABLE			0x00000001
1637bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_MAX__MASK			0x000007fe
1638bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_MAX__SHIFT			1
1639bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_MAX(x)			(((x) << VIVS_NTE_SAMPLER_LOD_CONFIG_MAX__SHIFT) & VIVS_NTE_SAMPLER_LOD_CONFIG_MAX__MASK)
1640bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_MIN__MASK			0x001ff800
1641bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_MIN__SHIFT			11
1642bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_MIN(x)			(((x) << VIVS_NTE_SAMPLER_LOD_CONFIG_MIN__SHIFT) & VIVS_NTE_SAMPLER_LOD_CONFIG_MIN__MASK)
1643bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_BIAS__MASK			0x7fe00000
1644bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_BIAS__SHIFT			21
1645bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LOD_CONFIG_BIAS(x)			(((x) << VIVS_NTE_SAMPLER_LOD_CONFIG_BIAS__SHIFT) & VIVS_NTE_SAMPLER_LOD_CONFIG_BIAS__MASK)
1646bf215546Sopenharmony_ci
1647bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_UNK10200(i0)			       (0x00010200 + 0x4*(i0))
1648bf215546Sopenharmony_ci
1649bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LINEAR_STRIDE(i0, i1)		       (0x00010280 + 0x4*(i0) + 0x4*(i1))
1650bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LINEAR_STRIDE__ESIZE			0x00000004
1651bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_LINEAR_STRIDE__LEN			0x00000020
1652bf215546Sopenharmony_ci
1653bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG(i0)			       (0x00010300 + 0x4*(i0))
1654bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_DEPTH__MASK			0x00003fff
1655bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_DEPTH__SHIFT			0
1656bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_DEPTH(x)			(((x) << VIVS_NTE_SAMPLER_3D_CONFIG_DEPTH__SHIFT) & VIVS_NTE_SAMPLER_3D_CONFIG_DEPTH__MASK)
1657bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_LOG_DEPTH__MASK		0x03ff0000
1658bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_LOG_DEPTH__SHIFT		16
1659bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_LOG_DEPTH(x)			(((x) << VIVS_NTE_SAMPLER_3D_CONFIG_LOG_DEPTH__SHIFT) & VIVS_NTE_SAMPLER_3D_CONFIG_LOG_DEPTH__MASK)
1660bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_WRAP__MASK			0x30000000
1661bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_WRAP__SHIFT			28
1662bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_3D_CONFIG_WRAP(x)			(((x) << VIVS_NTE_SAMPLER_3D_CONFIG_WRAP__SHIFT) & VIVS_NTE_SAMPLER_3D_CONFIG_WRAP__MASK)
1663bf215546Sopenharmony_ci
1664bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1(i0)			       (0x00010380 + 0x4*(i0))
1665bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_FORMAT_EXT__MASK		0x0000003f
1666bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_FORMAT_EXT__SHIFT		0
1667bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_FORMAT_EXT(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG1_FORMAT_EXT__SHIFT) & VIVS_NTE_SAMPLER_CONFIG1_FORMAT_EXT__MASK)
1668bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_R__MASK		0x00000700
1669bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_R__SHIFT		8
1670bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_R(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_R__SHIFT) & VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_R__MASK)
1671bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_G__MASK		0x00007000
1672bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_G__SHIFT		12
1673bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_G(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_G__SHIFT) & VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_G__MASK)
1674bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_B__MASK		0x00070000
1675bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_B__SHIFT		16
1676bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_B(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_B__SHIFT) & VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_B__MASK)
1677bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_A__MASK		0x00700000
1678bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_A__SHIFT		20
1679bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_A(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_A__SHIFT) & VIVS_NTE_SAMPLER_CONFIG1_SWIZZLE_A__MASK)
1680bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_TS_MODE__MASK			0x00800000
1681bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_TS_MODE__SHIFT			23
1682bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_TS_MODE(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG1_TS_MODE__SHIFT) & VIVS_NTE_SAMPLER_CONFIG1_TS_MODE__MASK)
1683bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_TEXTURE_ARRAY			0x01000000
1684bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_SEAMLESS_CUBE_MAP		0x02000000
1685bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_HALIGN__MASK			0x1c000000
1686bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_HALIGN__SHIFT			26
1687bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_HALIGN(x)			(((x) << VIVS_NTE_SAMPLER_CONFIG1_HALIGN__SHIFT) & VIVS_NTE_SAMPLER_CONFIG1_HALIGN__MASK)
1688bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_CONFIG1_USE_TS				0x40000000
1689bf215546Sopenharmony_ci
1690bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_UNK10400(i0)			       (0x00010400 + 0x4*(i0))
1691bf215546Sopenharmony_ci
1692bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_UNK10480(i0)			       (0x00010480 + 0x4*(i0))
1693bf215546Sopenharmony_ci
1694bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0(i0)			       (0x00010500 + 0x4*(i0))
1695bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__MASK		0x0000000f
1696bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__SHIFT		0
1697bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT(x)			(((x) << VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__SHIFT) & VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__MASK)
1698bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_ASTC_SRGB			0x00000010
1699bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK8__MASK			0x0000ff00
1700bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK8__SHIFT			8
1701bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK8(x)				(((x) << VIVS_NTE_SAMPLER_ASTC0_UNK8__SHIFT) & VIVS_NTE_SAMPLER_ASTC0_UNK8__MASK)
1702bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK16__MASK			0x00ff0000
1703bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK16__SHIFT			16
1704bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK16(x)				(((x) << VIVS_NTE_SAMPLER_ASTC0_UNK16__SHIFT) & VIVS_NTE_SAMPLER_ASTC0_UNK16__MASK)
1705bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK24__MASK			0xff000000
1706bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK24__SHIFT			24
1707bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC0_UNK24(x)				(((x) << VIVS_NTE_SAMPLER_ASTC0_UNK24__SHIFT) & VIVS_NTE_SAMPLER_ASTC0_UNK24__MASK)
1708bf215546Sopenharmony_ci
1709bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC1(i0)			       (0x00010580 + 0x4*(i0))
1710bf215546Sopenharmony_ci
1711bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC2(i0)			       (0x00010600 + 0x4*(i0))
1712bf215546Sopenharmony_ci
1713bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ASTC3(i0)			       (0x00010680 + 0x4*(i0))
1714bf215546Sopenharmony_ci
1715bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD(i0)			       (0x00010700 + 0x4*(i0))
1716bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_BASELOD__MASK			0x0000000f
1717bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_BASELOD__SHIFT			0
1718bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_BASELOD(x)			(((x) << VIVS_NTE_SAMPLER_BASELOD_BASELOD__SHIFT) & VIVS_NTE_SAMPLER_BASELOD_BASELOD__MASK)
1719bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_MAXLOD__MASK			0x00000f00
1720bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_MAXLOD__SHIFT			8
1721bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_MAXLOD(x)			(((x) << VIVS_NTE_SAMPLER_BASELOD_MAXLOD__SHIFT) & VIVS_NTE_SAMPLER_BASELOD_MAXLOD__MASK)
1722bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_COMPARE_ENABLE			0x00010000
1723bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_COMPARE_FUNC__MASK		0x00700000
1724bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_COMPARE_FUNC__SHIFT		20
1725bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_COMPARE_FUNC(x)		(((x) << VIVS_NTE_SAMPLER_BASELOD_COMPARE_FUNC__SHIFT) & VIVS_NTE_SAMPLER_BASELOD_COMPARE_FUNC__MASK)
1726bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_BASELOD_BASELOD_ENABLE			0x00800000
1727bf215546Sopenharmony_ci
1728bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_UNK10780(i0)			       (0x00010780 + 0x4*(i0))
1729bf215546Sopenharmony_ci
1730bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_FRAC_UNK11000(i0)		       (0x00011000 + 0x4*(i0))
1731bf215546Sopenharmony_ci
1732bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_FRAC_UNK11080(i0)		       (0x00011080 + 0x4*(i0))
1733bf215546Sopenharmony_ci
1734bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_FRAC_UNK11100(i0)		       (0x00011100 + 0x4*(i0))
1735bf215546Sopenharmony_ci
1736bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_FRAC_UNK11180(i0)		       (0x00011180 + 0x4*(i0))
1737bf215546Sopenharmony_ci
1738bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_HALTI4_UNK11200(i0)		       (0x00011200 + 0x4*(i0))
1739bf215546Sopenharmony_ci
1740bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_HALTI4_UNK11280(i0)		       (0x00011280 + 0x4*(i0))
1741bf215546Sopenharmony_ci
1742bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_FRAC_UNK11300(i0)		       (0x00011300 + 0x4*(i0))
1743bf215546Sopenharmony_ci
1744bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ADDR(i0)			       (0x00010800 + 0x40*(i0))
1745bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ADDR__ESIZE				0x00000040
1746bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ADDR__LEN				0x00000020
1747bf215546Sopenharmony_ci
1748bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ADDR_LOD(i0, i1)		       (0x00010800 + 0x40*(i0) + 0x4*(i1))
1749bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ADDR_LOD__ESIZE			0x00000004
1750bf215546Sopenharmony_ci#define VIVS_NTE_SAMPLER_ADDR_LOD__LEN				0x0000000e
1751bf215546Sopenharmony_ci
1752bf215546Sopenharmony_ci#define VIVS_NTE_UNK12000(i0)				       (0x00012000 + 0x4*(i0))
1753bf215546Sopenharmony_ci#define VIVS_NTE_UNK12000__ESIZE				0x00000004
1754bf215546Sopenharmony_ci#define VIVS_NTE_UNK12000__LEN					0x00000100
1755bf215546Sopenharmony_ci
1756bf215546Sopenharmony_ci#define VIVS_NTE_UNK12400(i0)				       (0x00012400 + 0x4*(i0))
1757bf215546Sopenharmony_ci#define VIVS_NTE_UNK12400__ESIZE				0x00000004
1758bf215546Sopenharmony_ci#define VIVS_NTE_UNK12400__LEN					0x00000100
1759bf215546Sopenharmony_ci
1760bf215546Sopenharmony_ci#define VIVS_NTE_HALTI3_UNK14C00(i0)			       (0x00014c00 + 0x4*(i0))
1761bf215546Sopenharmony_ci#define VIVS_NTE_HALTI3_UNK14C00__ESIZE				0x00000004
1762bf215546Sopenharmony_ci#define VIVS_NTE_HALTI3_UNK14C00__LEN				0x00000010
1763bf215546Sopenharmony_ci
1764bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_UNK14C40				0x00014c40
1765bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_UNK14C40_UNK0			0x00000001
1766bf215546Sopenharmony_ci
1767bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_FLUSH				0x00014c44
1768bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_FLUSH_UNK28__MASK			0xf0000000
1769bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_FLUSH_UNK28__SHIFT			28
1770bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_FLUSH_UNK28(x)			(((x) << VIVS_NTE_DESCRIPTOR_FLUSH_UNK28__SHIFT) & VIVS_NTE_DESCRIPTOR_FLUSH_UNK28__MASK)
1771bf215546Sopenharmony_ci
1772bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_INVALIDATE				0x00014c48
1773bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_INVALIDATE_IDX__MASK		0x000001ff
1774bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_INVALIDATE_IDX__SHIFT		0
1775bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_INVALIDATE_IDX(x)			(((x) << VIVS_NTE_DESCRIPTOR_INVALIDATE_IDX__SHIFT) & VIVS_NTE_DESCRIPTOR_INVALIDATE_IDX__MASK)
1776bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_INVALIDATE_UNK29			0x20000000
1777bf215546Sopenharmony_ci
1778bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR(i0)				       (0x00000000 + 0x4*(i0))
1779bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR__ESIZE				0x00000004
1780bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR__LEN				0x00000080
1781bf215546Sopenharmony_ci
1782bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_ADDR_MIRROR(i0)		       (0x00015800 + 0x4*(i0))
1783bf215546Sopenharmony_ci
1784bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_MIRROR(i0)		       (0x00015a00 + 0x4*(i0))
1785bf215546Sopenharmony_ci
1786bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_ADDR(i0)			       (0x00015c00 + 0x4*(i0))
1787bf215546Sopenharmony_ci
1788bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL(i0)			       (0x00015e00 + 0x4*(i0))
1789bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_MODE__MASK		0x00000001
1790bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_MODE__SHIFT		0
1791bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_MODE(x)			(((x) << VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_MODE__SHIFT) & VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_MODE__MASK)
1792bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_ENABLE			0x00000002
1793bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_INDEX__MASK		0x0000001c
1794bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_INDEX__SHIFT		2
1795bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_INDEX(x)			(((x) << VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_INDEX__SHIFT) & VIVS_NTE_DESCRIPTOR_TX_CTRL_TS_INDEX__MASK)
1796bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_COMPRESSION			0x00000020
1797bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_TX_CTRL_128B_TILE			0x00000040
1798bf215546Sopenharmony_ci
1799bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIRROR(i0)	       (0x00016000 + 0x4*(i0))
1800bf215546Sopenharmony_ci
1801bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_MIRROR(i0)	       (0x00016200 + 0x4*(i0))
1802bf215546Sopenharmony_ci
1803bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MIRROR(i0)	       (0x00016400 + 0x4*(i0))
1804bf215546Sopenharmony_ci
1805bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS_MIRROR(i0)	       (0x00016600 + 0x4*(i0))
1806bf215546Sopenharmony_ci
1807bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_ANISOTROPY_MIRROR(i0)	       (0x00016800 + 0x4*(i0))
1808bf215546Sopenharmony_ci
1809bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0(i0)		       (0x00016c00 + 0x4*(i0))
1810bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UWRAP__MASK		0x00000007
1811bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UWRAP__SHIFT		0
1812bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UWRAP(x)			(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UWRAP__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UWRAP__MASK)
1813bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_VWRAP__MASK		0x00000038
1814bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_VWRAP__SHIFT		3
1815bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_VWRAP(x)			(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_VWRAP__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_VWRAP__MASK)
1816bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_WWRAP__MASK		0x000001c0
1817bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_WWRAP__SHIFT		6
1818bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_WWRAP(x)			(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_WWRAP__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_WWRAP__MASK)
1819bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIN__MASK		0x00000600
1820bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIN__SHIFT		9
1821bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIN(x)			(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIN__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIN__MASK)
1822bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIP__MASK		0x00001800
1823bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIP__SHIFT		11
1824bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIP(x)			(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIP__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MIP__MASK)
1825bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__MASK		0x00006000
1826bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__SHIFT		13
1827bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG(x)			(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__MASK)
1828bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_ENABLE		0x00020000
1829bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC__MASK	0x001c0000
1830bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC__SHIFT	18
1831bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC(x)		(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC__MASK)
1832bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UNK21			0x00200000
1833bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UNK22			0x00400000
1834bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_INT_FILTER		0x00800000
1835bf215546Sopenharmony_ci
1836bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1(i0)		       (0x00016e00 + 0x4*(i0))
1837bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_UNK1			0x00000002
1838bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_SRGB			0x00000004
1839bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_UNK3			0x00000008
1840bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_UNK4__MASK		0x00000030
1841bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_UNK4__SHIFT		4
1842bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_UNK4(x)			(((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_UNK4__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL1_UNK4__MASK)
1843bf215546Sopenharmony_ci
1844bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX(i0)		       (0x00017000 + 0x4*(i0))
1845bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MAX__MASK		0x0000ffff
1846bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MAX__SHIFT		0
1847bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MAX(x)		(((x) << VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MAX__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MAX__MASK)
1848bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MIN__MASK		0xffff0000
1849bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MIN__SHIFT		16
1850bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MIN(x)		(((x) << VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MIN__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_LOD_MINMAX_MIN__MASK)
1851bf215546Sopenharmony_ci
1852bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS(i0)		       (0x00017200 + 0x4*(i0))
1853bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS_BIAS__MASK		0x0000ffff
1854bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS_BIAS__SHIFT		0
1855bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS_BIAS(x)		(((x) << VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS_BIAS__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS_BIAS__MASK)
1856bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_LOD_BIAS_ENABLE		0x00010000
1857bf215546Sopenharmony_ci
1858bf215546Sopenharmony_ci#define VIVS_NTE_DESCRIPTOR_SAMP_ANISOTROPY(i0)		       (0x00017400 + 0x4*(i0))
1859bf215546Sopenharmony_ci
1860bf215546Sopenharmony_ci#define VIVS_SH							0x00000000
1861bf215546Sopenharmony_ci
1862bf215546Sopenharmony_ci#define VIVS_SH_CONFIG						0x00015600
1863bf215546Sopenharmony_ci#define VIVS_SH_CONFIG_RTNE_ROUNDING				0x00000002
1864bf215546Sopenharmony_ci#define VIVS_SH_CONFIG_DUAL16					0x00000004
1865bf215546Sopenharmony_ci
1866bf215546Sopenharmony_ci#define VIVS_SH_UNK20000(i0)				       (0x00020000 + 0x4*(i0))
1867bf215546Sopenharmony_ci#define VIVS_SH_UNK20000__ESIZE					0x00000004
1868bf215546Sopenharmony_ci#define VIVS_SH_UNK20000__LEN					0x00002000
1869bf215546Sopenharmony_ci
1870bf215546Sopenharmony_ci#define VIVS_SH_INST_MEM(i0)				       (0x0000c000 + 0x4*(i0))
1871bf215546Sopenharmony_ci#define VIVS_SH_INST_MEM__ESIZE					0x00000004
1872bf215546Sopenharmony_ci#define VIVS_SH_INST_MEM__LEN					0x00001000
1873bf215546Sopenharmony_ci
1874bf215546Sopenharmony_ci#define VIVS_SH_INST_MEM_MIRROR(i0)			       (0x00008000 + 0x4*(i0))
1875bf215546Sopenharmony_ci#define VIVS_SH_INST_MEM_MIRROR__ESIZE				0x00000004
1876bf215546Sopenharmony_ci#define VIVS_SH_INST_MEM_MIRROR__LEN				0x00001000
1877bf215546Sopenharmony_ci
1878bf215546Sopenharmony_ci#define VIVS_SH_UNIFORMS(i0)				       (0x00030000 + 0x4*(i0))
1879bf215546Sopenharmony_ci#define VIVS_SH_UNIFORMS__ESIZE					0x00000004
1880bf215546Sopenharmony_ci#define VIVS_SH_UNIFORMS__LEN					0x00000800
1881bf215546Sopenharmony_ci
1882bf215546Sopenharmony_ci#define VIVS_SH_HALTI5_UNIFORMS_MIRROR(i0)		       (0x00034000 + 0x4*(i0))
1883bf215546Sopenharmony_ci#define VIVS_SH_HALTI5_UNIFORMS_MIRROR__ESIZE			0x00000004
1884bf215546Sopenharmony_ci#define VIVS_SH_HALTI5_UNIFORMS_MIRROR__LEN			0x00000800
1885bf215546Sopenharmony_ci
1886bf215546Sopenharmony_ci#define VIVS_SH_HALTI5_UNIFORMS(i0)			       (0x00036000 + 0x4*(i0))
1887bf215546Sopenharmony_ci#define VIVS_SH_HALTI5_UNIFORMS__ESIZE				0x00000004
1888bf215546Sopenharmony_ci#define VIVS_SH_HALTI5_UNIFORMS__LEN				0x00000800
1889bf215546Sopenharmony_ci
1890bf215546Sopenharmony_ci
1891bf215546Sopenharmony_ci#endif /* STATE_3D_XML */
1892