xref: /aosp_15_r20/external/mesa3d/src/nouveau/headers/nvidia/classes/cla297tex.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2001-2010 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in
13  * all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 /* AUTO GENERATED FILE -- DO NOT EDIT */
25 
26 #ifndef __CLA297TEX_H__
27 #define __CLA297TEX_H__
28 
29 /*
30 ** Texture Header State
31  */
32 
33 #define NVA297_TEXHEAD0_COMPONENT_SIZES                            5:0
34 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R32_G32_B32_A32            0x00000001
35 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R32_G32_B32                0x00000002
36 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R16_G16_B16_A16            0x00000003
37 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R32_G32                    0x00000004
38 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R32_B24G8                  0x00000005
39 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X8B8G8R8                   0x00000007
40 #define NVA297_TEXHEAD0_COMPONENT_SIZES_A8B8G8R8                   0x00000008
41 #define NVA297_TEXHEAD0_COMPONENT_SIZES_A2B10G10R10                0x00000009
42 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R16_G16                    0x0000000c
43 #define NVA297_TEXHEAD0_COMPONENT_SIZES_G8R24                      0x0000000d
44 #define NVA297_TEXHEAD0_COMPONENT_SIZES_G24R8                      0x0000000e
45 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R32                        0x0000000f
46 #define NVA297_TEXHEAD0_COMPONENT_SIZES_A4B4G4R4                   0x00000012
47 #define NVA297_TEXHEAD0_COMPONENT_SIZES_A5B5G5R1                   0x00000013
48 #define NVA297_TEXHEAD0_COMPONENT_SIZES_A1B5G5R5                   0x00000014
49 #define NVA297_TEXHEAD0_COMPONENT_SIZES_B5G6R5                     0x00000015
50 #define NVA297_TEXHEAD0_COMPONENT_SIZES_B6G5R5                     0x00000016
51 #define NVA297_TEXHEAD0_COMPONENT_SIZES_G8R8                       0x00000018
52 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R16                        0x0000001b
53 #define NVA297_TEXHEAD0_COMPONENT_SIZES_Y8_VIDEO                   0x0000001c
54 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R8                         0x0000001d
55 #define NVA297_TEXHEAD0_COMPONENT_SIZES_G4R4                       0x0000001e
56 #define NVA297_TEXHEAD0_COMPONENT_SIZES_R1                         0x0000001f
57 #define NVA297_TEXHEAD0_COMPONENT_SIZES_E5B9G9R9_SHAREDEXP         0x00000020
58 #define NVA297_TEXHEAD0_COMPONENT_SIZES_BF10GF11RF11               0x00000021
59 #define NVA297_TEXHEAD0_COMPONENT_SIZES_G8B8G8R8                   0x00000022
60 #define NVA297_TEXHEAD0_COMPONENT_SIZES_B8G8R8G8                   0x00000023
61 #define NVA297_TEXHEAD0_COMPONENT_SIZES_DXT1                       0x00000024
62 #define NVA297_TEXHEAD0_COMPONENT_SIZES_DXT23                      0x00000025
63 #define NVA297_TEXHEAD0_COMPONENT_SIZES_DXT45                      0x00000026
64 #define NVA297_TEXHEAD0_COMPONENT_SIZES_DXN1                       0x00000027
65 #define NVA297_TEXHEAD0_COMPONENT_SIZES_DXN2                       0x00000028
66 #define NVA297_TEXHEAD0_COMPONENT_SIZES_BC6H_SF16                  0x00000010
67 #define NVA297_TEXHEAD0_COMPONENT_SIZES_BC6H_UF16                  0x00000011
68 #define NVA297_TEXHEAD0_COMPONENT_SIZES_BC7U                       0x00000017
69 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ETC2_RGB                   0x00000006
70 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ETC2_RGB_PTA               0x0000000a
71 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ETC2_RGBA                  0x0000000b
72 #define NVA297_TEXHEAD0_COMPONENT_SIZES_EAC                        0x00000019
73 #define NVA297_TEXHEAD0_COMPONENT_SIZES_EACX2                      0x0000001a
74 #define NVA297_TEXHEAD0_COMPONENT_SIZES_Z24S8                      0x00000029
75 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X8Z24                      0x0000002a
76 #define NVA297_TEXHEAD0_COMPONENT_SIZES_S8Z24                      0x0000002b
77 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X4V4Z24__COV4R4V           0x0000002c
78 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X4V4Z24__COV8R8V           0x0000002d
79 #define NVA297_TEXHEAD0_COMPONENT_SIZES_V8Z24__COV4R12V            0x0000002e
80 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32                       0x0000002f
81 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X24S8                 0x00000030
82 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X8Z24_X20V4S8__COV4R4V     0x00000031
83 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X8Z24_X20V4S8__COV8R8V     0x00000032
84 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4X8__COV4R4V      0x00000033
85 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4X8__COV8R8V      0x00000034
86 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4S8__COV4R4V      0x00000035
87 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4S8__COV8R8V      0x00000036
88 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X8Z24_X16V8S8__COV4R12V    0x00000037
89 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8X8__COV4R12V     0x00000038
90 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8S8__COV4R12V     0x00000039
91 #define NVA297_TEXHEAD0_COMPONENT_SIZES_Z16                        0x0000003a
92 #define NVA297_TEXHEAD0_COMPONENT_SIZES_V8Z24__COV8R24V            0x0000003b
93 #define NVA297_TEXHEAD0_COMPONENT_SIZES_X8Z24_X16V8S8__COV8R24V    0x0000003c
94 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8X8__COV8R24V     0x0000003d
95 #define NVA297_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8S8__COV8R24V     0x0000003e
96 #define NVA297_TEXHEAD0_COMPONENT_SIZES_CS_BITFIELD_SIZE           0x0000003f
97 #define NVA297_TEXHEAD0_R_DATA_TYPE                                8:6
98 #define NVA297_TEXHEAD0_R_DATA_TYPE_NUM_SNORM                      0x00000001
99 #define NVA297_TEXHEAD0_R_DATA_TYPE_NUM_UNORM                      0x00000002
100 #define NVA297_TEXHEAD0_R_DATA_TYPE_NUM_SINT                       0x00000003
101 #define NVA297_TEXHEAD0_R_DATA_TYPE_NUM_UINT                       0x00000004
102 #define NVA297_TEXHEAD0_R_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
103 #define NVA297_TEXHEAD0_R_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
104 #define NVA297_TEXHEAD0_R_DATA_TYPE_NUM_FLOAT                      0x00000007
105 #define NVA297_TEXHEAD0_G_DATA_TYPE                                11:9
106 #define NVA297_TEXHEAD0_G_DATA_TYPE_NUM_SNORM                      0x00000001
107 #define NVA297_TEXHEAD0_G_DATA_TYPE_NUM_UNORM                      0x00000002
108 #define NVA297_TEXHEAD0_G_DATA_TYPE_NUM_SINT                       0x00000003
109 #define NVA297_TEXHEAD0_G_DATA_TYPE_NUM_UINT                       0x00000004
110 #define NVA297_TEXHEAD0_G_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
111 #define NVA297_TEXHEAD0_G_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
112 #define NVA297_TEXHEAD0_G_DATA_TYPE_NUM_FLOAT                      0x00000007
113 #define NVA297_TEXHEAD0_B_DATA_TYPE                                14:12
114 #define NVA297_TEXHEAD0_B_DATA_TYPE_NUM_SNORM                      0x00000001
115 #define NVA297_TEXHEAD0_B_DATA_TYPE_NUM_UNORM                      0x00000002
116 #define NVA297_TEXHEAD0_B_DATA_TYPE_NUM_SINT                       0x00000003
117 #define NVA297_TEXHEAD0_B_DATA_TYPE_NUM_UINT                       0x00000004
118 #define NVA297_TEXHEAD0_B_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
119 #define NVA297_TEXHEAD0_B_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
120 #define NVA297_TEXHEAD0_B_DATA_TYPE_NUM_FLOAT                      0x00000007
121 #define NVA297_TEXHEAD0_A_DATA_TYPE                                17:15
122 #define NVA297_TEXHEAD0_A_DATA_TYPE_NUM_SNORM                      0x00000001
123 #define NVA297_TEXHEAD0_A_DATA_TYPE_NUM_UNORM                      0x00000002
124 #define NVA297_TEXHEAD0_A_DATA_TYPE_NUM_SINT                       0x00000003
125 #define NVA297_TEXHEAD0_A_DATA_TYPE_NUM_UINT                       0x00000004
126 #define NVA297_TEXHEAD0_A_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
127 #define NVA297_TEXHEAD0_A_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
128 #define NVA297_TEXHEAD0_A_DATA_TYPE_NUM_FLOAT                      0x00000007
129 #define NVA297_TEXHEAD0_X_SOURCE                                   20:18
130 #define NVA297_TEXHEAD0_X_SOURCE_IN_ZERO                           0x00000000
131 #define NVA297_TEXHEAD0_X_SOURCE_IN_R                              0x00000002
132 #define NVA297_TEXHEAD0_X_SOURCE_IN_G                              0x00000003
133 #define NVA297_TEXHEAD0_X_SOURCE_IN_B                              0x00000004
134 #define NVA297_TEXHEAD0_X_SOURCE_IN_A                              0x00000005
135 #define NVA297_TEXHEAD0_X_SOURCE_IN_ONE_INT                        0x00000006
136 #define NVA297_TEXHEAD0_X_SOURCE_IN_ONE_FLOAT                      0x00000007
137 #define NVA297_TEXHEAD0_Y_SOURCE                                   23:21
138 #define NVA297_TEXHEAD0_Y_SOURCE_IN_ZERO                           0x00000000
139 #define NVA297_TEXHEAD0_Y_SOURCE_IN_R                              0x00000002
140 #define NVA297_TEXHEAD0_Y_SOURCE_IN_G                              0x00000003
141 #define NVA297_TEXHEAD0_Y_SOURCE_IN_B                              0x00000004
142 #define NVA297_TEXHEAD0_Y_SOURCE_IN_A                              0x00000005
143 #define NVA297_TEXHEAD0_Y_SOURCE_IN_ONE_INT                        0x00000006
144 #define NVA297_TEXHEAD0_Y_SOURCE_IN_ONE_FLOAT                      0x00000007
145 #define NVA297_TEXHEAD0_Z_SOURCE                                   26:24
146 #define NVA297_TEXHEAD0_Z_SOURCE_IN_ZERO                           0x00000000
147 #define NVA297_TEXHEAD0_Z_SOURCE_IN_R                              0x00000002
148 #define NVA297_TEXHEAD0_Z_SOURCE_IN_G                              0x00000003
149 #define NVA297_TEXHEAD0_Z_SOURCE_IN_B                              0x00000004
150 #define NVA297_TEXHEAD0_Z_SOURCE_IN_A                              0x00000005
151 #define NVA297_TEXHEAD0_Z_SOURCE_IN_ONE_INT                        0x00000006
152 #define NVA297_TEXHEAD0_Z_SOURCE_IN_ONE_FLOAT                      0x00000007
153 #define NVA297_TEXHEAD0_W_SOURCE                                   29:27
154 #define NVA297_TEXHEAD0_W_SOURCE_IN_ZERO                           0x00000000
155 #define NVA297_TEXHEAD0_W_SOURCE_IN_R                              0x00000002
156 #define NVA297_TEXHEAD0_W_SOURCE_IN_G                              0x00000003
157 #define NVA297_TEXHEAD0_W_SOURCE_IN_B                              0x00000004
158 #define NVA297_TEXHEAD0_W_SOURCE_IN_A                              0x00000005
159 #define NVA297_TEXHEAD0_W_SOURCE_IN_ONE_INT                        0x00000006
160 #define NVA297_TEXHEAD0_W_SOURCE_IN_ONE_FLOAT                      0x00000007
161 #define NVA297_TEXHEAD0_PACK_COMPONENTS                            30:30
162 #define NVA297_TEXHEAD0_USE_COMPONENT_SIZES_EXTENDED               31:31
163 #define NVA297_TEXHEAD1_OFFSET_LOWER                               31:0
164 #define NVA297_TEXHEAD2_OFFSET_UPPER                               7:0
165 #define NVA297_TEXHEAD2_ANISO_SPREAD_MAX_LOG2_L_S_B                9:8
166 #define NVA297_TEXHEAD2_S_R_G_B_CONVERSION                         10:10
167 #define NVA297_TEXHEAD2_ANISO_SPREAD_MAX_LOG2_M_S_B                11:11
168 #define NVA297_TEXHEAD2_LOD_ANISO_QUALITY2                         12:12
169 #define NVA297_TEXHEAD2_COLOR_KEY_OP                               13:13
170 #define NVA297_TEXHEAD2_TEXTURE_TYPE                               17:14
171 #define NVA297_TEXHEAD2_TEXTURE_TYPE_ONE_D                         0x00000000
172 #define NVA297_TEXHEAD2_TEXTURE_TYPE_TWO_D                         0x00000001
173 #define NVA297_TEXHEAD2_TEXTURE_TYPE_THREE_D                       0x00000002
174 #define NVA297_TEXHEAD2_TEXTURE_TYPE_CUBEMAP                       0x00000003
175 #define NVA297_TEXHEAD2_TEXTURE_TYPE_ONE_D_ARRAY                   0x00000004
176 #define NVA297_TEXHEAD2_TEXTURE_TYPE_TWO_D_ARRAY                   0x00000005
177 #define NVA297_TEXHEAD2_TEXTURE_TYPE_ONE_D_BUFFER                  0x00000006
178 #define NVA297_TEXHEAD2_TEXTURE_TYPE_TWO_D_NO_MIPMAP               0x00000007
179 #define NVA297_TEXHEAD2_TEXTURE_TYPE_CUBEMAP_ARRAY                 0x00000008
180 #define NVA297_TEXHEAD2_TEXTURE_TYPE_TT_BIT_FIELD_SIZE             0x0000000f
181 #define NVA297_TEXHEAD2_MEMORY_LAYOUT                              18:18
182 #define NVA297_TEXHEAD2_MEMORY_LAYOUT_BLOCKLINEAR                  0x00000000
183 #define NVA297_TEXHEAD2_MEMORY_LAYOUT_PITCH                        0x00000001
184 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_WIDTH                       21:19
185 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_WIDTH_ONE_GOB               0x00000000
186 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT                      24:22
187 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_ONE_GOB              0x00000000
188 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_TWO_GOBS             0x00000001
189 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_FOUR_GOBS            0x00000002
190 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_EIGHT_GOBS           0x00000003
191 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_SIXTEEN_GOBS         0x00000004
192 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_THIRTYTWO_GOBS       0x00000005
193 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_DEPTH                       27:25
194 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_ONE_GOB               0x00000000
195 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_TWO_GOBS              0x00000001
196 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_FOUR_GOBS             0x00000002
197 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_EIGHT_GOBS            0x00000003
198 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_SIXTEEN_GOBS          0x00000004
199 #define NVA297_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_THIRTYTWO_GOBS        0x00000005
200 #define NVA297_TEXHEAD2_SECTOR_PROMOTION                           29:28
201 #define NVA297_TEXHEAD2_SECTOR_PROMOTION_NO_PROMOTION              0x00000000
202 #define NVA297_TEXHEAD2_SECTOR_PROMOTION_PROMOTE_TO_2_V            0x00000001
203 #define NVA297_TEXHEAD2_SECTOR_PROMOTION_PROMOTE_TO_2_H            0x00000002
204 #define NVA297_TEXHEAD2_SECTOR_PROMOTION_PROMOTE_TO_4              0x00000003
205 #define NVA297_TEXHEAD2_BORDER_SOURCE                              30:30
206 #define NVA297_TEXHEAD2_BORDER_SOURCE_BORDER_TEXTURE               0x00000000
207 #define NVA297_TEXHEAD2_BORDER_SOURCE_BORDER_COLOR                 0x00000001
208 #define NVA297_TEXHEAD2_NORMALIZED_COORDS                          31:31
209 #define NVA297_TEXHEAD3_PITCH                                      19:0
210 #define NVA297_TEXHEAD3_LOD_ANISO_QUALITY                          20:20
211 #define NVA297_TEXHEAD3_LOD_ANISO_QUALITY_LOD_QUALITY_LOW          0x00000000
212 #define NVA297_TEXHEAD3_LOD_ANISO_QUALITY_LOD_QUALITY_HIGH         0x00000001
213 #define NVA297_TEXHEAD3_LOD_ISO_QUALITY                            21:21
214 #define NVA297_TEXHEAD3_LOD_ISO_QUALITY_LOD_QUALITY_LOW            0x00000000
215 #define NVA297_TEXHEAD3_LOD_ISO_QUALITY_LOD_QUALITY_HIGH           0x00000001
216 #define NVA297_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER               23:22
217 #define NVA297_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
218 #define NVA297_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
219 #define NVA297_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
220 #define NVA297_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
221 #define NVA297_TEXHEAD3_ANISO_SPREAD_SCALE                         28:24
222 #define NVA297_TEXHEAD3_USE_HEADER_OPT_CONTROL                     29:29
223 #define NVA297_TEXHEAD3_RESERVED3A                                 30:30
224 #define NVA297_TEXHEAD3_RESERVED3B                                 31:31
225 #define NVA297_TEXHEAD4_WIDTH                                      29:0
226 #define NVA297_TEXHEAD4_DEPTH_TEXTURE                              30:30
227 #define NVA297_TEXHEAD4_USE_TEXTURE_HEADER_VERSION2                31:31
228 #define NVA297_TEXHEAD5_HEIGHT                                     15:0
229 #define NVA297_TEXHEAD5_DEPTH                                      27:16
230 #define NVA297_TEXHEAD5_MAX_MIP_LEVEL                              31:28
231 #define NVA297_TEXHEAD6_TRILIN_OPT                                 4:0
232 #define NVA297_TEXHEAD6_MIP_LOD_BIAS                               17:5
233 #define NVA297_TEXHEAD6_RESERVED6A                                 18:18
234 #define NVA297_TEXHEAD6_ANISO_BIAS                                 22:19
235 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_FUNC                     24:23
236 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_HALF    0x00000000
237 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_ONE     0x00000001
238 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_TWO     0x00000002
239 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_MAX     0x00000003
240 #define NVA297_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC                   26:25
241 #define NVA297_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_HALF  0x00000000
242 #define NVA297_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_ONE   0x00000001
243 #define NVA297_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_TWO   0x00000002
244 #define NVA297_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_MAX   0x00000003
245 #define NVA297_TEXHEAD6_MAX_ANISOTROPY                             29:27
246 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_1_TO_1                0x00000000
247 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_2_TO_1                0x00000001
248 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_4_TO_1                0x00000002
249 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_6_TO_1                0x00000003
250 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_8_TO_1                0x00000004
251 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_10_TO_1               0x00000005
252 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_12_TO_1               0x00000006
253 #define NVA297_TEXHEAD6_MAX_ANISOTROPY_ANISO_16_TO_1               0x00000007
254 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER                 31:30
255 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
256 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
257 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
258 #define NVA297_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
259 #define NVA297_TEXHEAD7_COLOR_KEY_VALUE                            31:0
260 
261 
262 /*
263 ** Texture Header State, Version 2
264  */
265 
266 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES                         5:0
267 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R32_G32_B32_A32         0x00000001
268 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R32_G32_B32             0x00000002
269 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R16_G16_B16_A16         0x00000003
270 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R32_G32                 0x00000004
271 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R32_B24G8               0x00000005
272 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X8B8G8R8                0x00000007
273 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_A8B8G8R8                0x00000008
274 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_A2B10G10R10             0x00000009
275 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R16_G16                 0x0000000c
276 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_G8R24                   0x0000000d
277 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_G24R8                   0x0000000e
278 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R32                     0x0000000f
279 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_A4B4G4R4                0x00000012
280 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_A5B5G5R1                0x00000013
281 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_A1B5G5R5                0x00000014
282 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_B5G6R5                  0x00000015
283 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_B6G5R5                  0x00000016
284 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_G8R8                    0x00000018
285 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R16                     0x0000001b
286 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_Y8_VIDEO                0x0000001c
287 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R8                      0x0000001d
288 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_G4R4                    0x0000001e
289 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_R1                      0x0000001f
290 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_E5B9G9R9_SHAREDEXP      0x00000020
291 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_BF10GF11RF11            0x00000021
292 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_G8B8G8R8                0x00000022
293 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_B8G8R8G8                0x00000023
294 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_DXT1                    0x00000024
295 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_DXT23                   0x00000025
296 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_DXT45                   0x00000026
297 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_DXN1                    0x00000027
298 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_DXN2                    0x00000028
299 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_BC6H_SF16               0x00000010
300 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_BC6H_UF16               0x00000011
301 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_BC7U                    0x00000017
302 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ETC2_RGB                0x00000006
303 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ETC2_RGB_PTA            0x0000000a
304 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ETC2_RGBA               0x0000000b
305 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_EAC                     0x00000019
306 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_EACX2                   0x0000001a
307 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_Z24S8                   0x00000029
308 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X8Z24                   0x0000002a
309 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_S8Z24                   0x0000002b
310 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X4V4Z24__COV4R4V        0x0000002c
311 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X4V4Z24__COV8R8V        0x0000002d
312 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_V8Z24__COV4R12V         0x0000002e
313 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32                    0x0000002f
314 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X24S8              0x00000030
315 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X20V4S8__COV4R4V  0x00000031
316 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X20V4S8__COV8R8V  0x00000032
317 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4X8__COV4R4V   0x00000033
318 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4X8__COV8R8V   0x00000034
319 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4S8__COV4R4V   0x00000035
320 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4S8__COV8R8V   0x00000036
321 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X16V8S8__COV4R12V 0x00000037
322 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8X8__COV4R12V  0x00000038
323 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8S8__COV4R12V  0x00000039
324 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_Z16                     0x0000003a
325 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_V8Z24__COV8R24V         0x0000003b
326 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X16V8S8__COV8R24V 0x0000003c
327 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8X8__COV8R24V  0x0000003d
328 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8S8__COV8R24V  0x0000003e
329 #define NVA297_TEXHEADV2_0_COMPONENT_SIZES_CS_BITFIELD_SIZE        0x0000003f
330 #define NVA297_TEXHEADV2_0_R_DATA_TYPE                             8:6
331 #define NVA297_TEXHEADV2_0_R_DATA_TYPE_NUM_SNORM                   0x00000001
332 #define NVA297_TEXHEADV2_0_R_DATA_TYPE_NUM_UNORM                   0x00000002
333 #define NVA297_TEXHEADV2_0_R_DATA_TYPE_NUM_SINT                    0x00000003
334 #define NVA297_TEXHEADV2_0_R_DATA_TYPE_NUM_UINT                    0x00000004
335 #define NVA297_TEXHEADV2_0_R_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
336 #define NVA297_TEXHEADV2_0_R_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
337 #define NVA297_TEXHEADV2_0_R_DATA_TYPE_NUM_FLOAT                   0x00000007
338 #define NVA297_TEXHEADV2_0_G_DATA_TYPE                             11:9
339 #define NVA297_TEXHEADV2_0_G_DATA_TYPE_NUM_SNORM                   0x00000001
340 #define NVA297_TEXHEADV2_0_G_DATA_TYPE_NUM_UNORM                   0x00000002
341 #define NVA297_TEXHEADV2_0_G_DATA_TYPE_NUM_SINT                    0x00000003
342 #define NVA297_TEXHEADV2_0_G_DATA_TYPE_NUM_UINT                    0x00000004
343 #define NVA297_TEXHEADV2_0_G_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
344 #define NVA297_TEXHEADV2_0_G_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
345 #define NVA297_TEXHEADV2_0_G_DATA_TYPE_NUM_FLOAT                   0x00000007
346 #define NVA297_TEXHEADV2_0_B_DATA_TYPE                             14:12
347 #define NVA297_TEXHEADV2_0_B_DATA_TYPE_NUM_SNORM                   0x00000001
348 #define NVA297_TEXHEADV2_0_B_DATA_TYPE_NUM_UNORM                   0x00000002
349 #define NVA297_TEXHEADV2_0_B_DATA_TYPE_NUM_SINT                    0x00000003
350 #define NVA297_TEXHEADV2_0_B_DATA_TYPE_NUM_UINT                    0x00000004
351 #define NVA297_TEXHEADV2_0_B_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
352 #define NVA297_TEXHEADV2_0_B_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
353 #define NVA297_TEXHEADV2_0_B_DATA_TYPE_NUM_FLOAT                   0x00000007
354 #define NVA297_TEXHEADV2_0_A_DATA_TYPE                             17:15
355 #define NVA297_TEXHEADV2_0_A_DATA_TYPE_NUM_SNORM                   0x00000001
356 #define NVA297_TEXHEADV2_0_A_DATA_TYPE_NUM_UNORM                   0x00000002
357 #define NVA297_TEXHEADV2_0_A_DATA_TYPE_NUM_SINT                    0x00000003
358 #define NVA297_TEXHEADV2_0_A_DATA_TYPE_NUM_UINT                    0x00000004
359 #define NVA297_TEXHEADV2_0_A_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
360 #define NVA297_TEXHEADV2_0_A_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
361 #define NVA297_TEXHEADV2_0_A_DATA_TYPE_NUM_FLOAT                   0x00000007
362 #define NVA297_TEXHEADV2_0_X_SOURCE                                20:18
363 #define NVA297_TEXHEADV2_0_X_SOURCE_IN_ZERO                        0x00000000
364 #define NVA297_TEXHEADV2_0_X_SOURCE_IN_R                           0x00000002
365 #define NVA297_TEXHEADV2_0_X_SOURCE_IN_G                           0x00000003
366 #define NVA297_TEXHEADV2_0_X_SOURCE_IN_B                           0x00000004
367 #define NVA297_TEXHEADV2_0_X_SOURCE_IN_A                           0x00000005
368 #define NVA297_TEXHEADV2_0_X_SOURCE_IN_ONE_INT                     0x00000006
369 #define NVA297_TEXHEADV2_0_X_SOURCE_IN_ONE_FLOAT                   0x00000007
370 #define NVA297_TEXHEADV2_0_Y_SOURCE                                23:21
371 #define NVA297_TEXHEADV2_0_Y_SOURCE_IN_ZERO                        0x00000000
372 #define NVA297_TEXHEADV2_0_Y_SOURCE_IN_R                           0x00000002
373 #define NVA297_TEXHEADV2_0_Y_SOURCE_IN_G                           0x00000003
374 #define NVA297_TEXHEADV2_0_Y_SOURCE_IN_B                           0x00000004
375 #define NVA297_TEXHEADV2_0_Y_SOURCE_IN_A                           0x00000005
376 #define NVA297_TEXHEADV2_0_Y_SOURCE_IN_ONE_INT                     0x00000006
377 #define NVA297_TEXHEADV2_0_Y_SOURCE_IN_ONE_FLOAT                   0x00000007
378 #define NVA297_TEXHEADV2_0_Z_SOURCE                                26:24
379 #define NVA297_TEXHEADV2_0_Z_SOURCE_IN_ZERO                        0x00000000
380 #define NVA297_TEXHEADV2_0_Z_SOURCE_IN_R                           0x00000002
381 #define NVA297_TEXHEADV2_0_Z_SOURCE_IN_G                           0x00000003
382 #define NVA297_TEXHEADV2_0_Z_SOURCE_IN_B                           0x00000004
383 #define NVA297_TEXHEADV2_0_Z_SOURCE_IN_A                           0x00000005
384 #define NVA297_TEXHEADV2_0_Z_SOURCE_IN_ONE_INT                     0x00000006
385 #define NVA297_TEXHEADV2_0_Z_SOURCE_IN_ONE_FLOAT                   0x00000007
386 #define NVA297_TEXHEADV2_0_W_SOURCE                                29:27
387 #define NVA297_TEXHEADV2_0_W_SOURCE_IN_ZERO                        0x00000000
388 #define NVA297_TEXHEADV2_0_W_SOURCE_IN_R                           0x00000002
389 #define NVA297_TEXHEADV2_0_W_SOURCE_IN_G                           0x00000003
390 #define NVA297_TEXHEADV2_0_W_SOURCE_IN_B                           0x00000004
391 #define NVA297_TEXHEADV2_0_W_SOURCE_IN_A                           0x00000005
392 #define NVA297_TEXHEADV2_0_W_SOURCE_IN_ONE_INT                     0x00000006
393 #define NVA297_TEXHEADV2_0_W_SOURCE_IN_ONE_FLOAT                   0x00000007
394 #define NVA297_TEXHEADV2_0_PACK_COMPONENTS                         30:30
395 #define NVA297_TEXHEADV2_0_USE_COMPONENT_SIZES_EXTENDED            31:31
396 #define NVA297_TEXHEADV2_1_OFFSET_LOWER                            31:0
397 #define NVA297_TEXHEADV2_2_OFFSET_UPPER                            7:0
398 #define NVA297_TEXHEADV2_2_ANISO_SPREAD_MAX_LOG2_L_S_B             9:8
399 #define NVA297_TEXHEADV2_2_S_R_G_B_CONVERSION                      10:10
400 #define NVA297_TEXHEADV2_2_ANISO_SPREAD_MAX_LOG2_M_S_B             11:11
401 #define NVA297_TEXHEADV2_2_LOD_ANISO_QUALITY2                      12:12
402 #define NVA297_TEXHEADV2_2_COLOR_KEY_OP                            13:13
403 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE                            17:14
404 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_ONE_D                      0x00000000
405 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_TWO_D                      0x00000001
406 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_THREE_D                    0x00000002
407 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_CUBEMAP                    0x00000003
408 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_ONE_D_ARRAY                0x00000004
409 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_TWO_D_ARRAY                0x00000005
410 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_ONE_D_BUFFER               0x00000006
411 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_TWO_D_NO_MIPMAP            0x00000007
412 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_CUBEMAP_ARRAY              0x00000008
413 #define NVA297_TEXHEADV2_2_TEXTURE_TYPE_TT_BIT_FIELD_SIZE          0x0000000f
414 #define NVA297_TEXHEADV2_2_MEMORY_LAYOUT                           18:18
415 #define NVA297_TEXHEADV2_2_MEMORY_LAYOUT_BLOCKLINEAR               0x00000000
416 #define NVA297_TEXHEADV2_2_MEMORY_LAYOUT_PITCH                     0x00000001
417 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_WIDTH                    21:19
418 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_WIDTH_ONE_GOB            0x00000000
419 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT                   24:22
420 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_ONE_GOB           0x00000000
421 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_TWO_GOBS          0x00000001
422 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_FOUR_GOBS         0x00000002
423 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_EIGHT_GOBS        0x00000003
424 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_SIXTEEN_GOBS      0x00000004
425 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_THIRTYTWO_GOBS    0x00000005
426 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH                    27:25
427 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_ONE_GOB            0x00000000
428 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_TWO_GOBS           0x00000001
429 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_FOUR_GOBS          0x00000002
430 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_EIGHT_GOBS         0x00000003
431 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_SIXTEEN_GOBS       0x00000004
432 #define NVA297_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_THIRTYTWO_GOBS     0x00000005
433 #define NVA297_TEXHEADV2_2_SECTOR_PROMOTION                        29:28
434 #define NVA297_TEXHEADV2_2_SECTOR_PROMOTION_NO_PROMOTION           0x00000000
435 #define NVA297_TEXHEADV2_2_SECTOR_PROMOTION_PROMOTE_TO_2_V         0x00000001
436 #define NVA297_TEXHEADV2_2_SECTOR_PROMOTION_PROMOTE_TO_2_H         0x00000002
437 #define NVA297_TEXHEADV2_2_SECTOR_PROMOTION_PROMOTE_TO_4           0x00000003
438 #define NVA297_TEXHEADV2_2_BORDER_SOURCE                           30:30
439 #define NVA297_TEXHEADV2_2_BORDER_SOURCE_BORDER_TEXTURE            0x00000000
440 #define NVA297_TEXHEADV2_2_BORDER_SOURCE_BORDER_COLOR              0x00000001
441 #define NVA297_TEXHEADV2_2_NORMALIZED_COORDS                       31:31
442 #define NVA297_TEXHEADV2_3_PITCH                                   19:0
443 #define NVA297_TEXHEADV2_3_LOD_ANISO_QUALITY                       20:20
444 #define NVA297_TEXHEADV2_3_LOD_ANISO_QUALITY_LOD_QUALITY_LOW       0x00000000
445 #define NVA297_TEXHEADV2_3_LOD_ANISO_QUALITY_LOD_QUALITY_HIGH      0x00000001
446 #define NVA297_TEXHEADV2_3_LOD_ISO_QUALITY                         21:21
447 #define NVA297_TEXHEADV2_3_LOD_ISO_QUALITY_LOD_QUALITY_LOW         0x00000000
448 #define NVA297_TEXHEADV2_3_LOD_ISO_QUALITY_LOD_QUALITY_HIGH        0x00000001
449 #define NVA297_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER            23:22
450 #define NVA297_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
451 #define NVA297_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
452 #define NVA297_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
453 #define NVA297_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
454 #define NVA297_TEXHEADV2_3_ANISO_SPREAD_SCALE                      28:24
455 #define NVA297_TEXHEADV2_3_USE_HEADER_OPT_CONTROL                  29:29
456 #define NVA297_TEXHEADV2_3_RESERVED3A                              30:30
457 #define NVA297_TEXHEADV2_3_RESERVED3B                              31:31
458 #define NVA297_TEXHEADV2_4_WIDTH                                   29:0
459 #define NVA297_TEXHEADV2_4_DEPTH_TEXTURE                           30:30
460 #define NVA297_TEXHEADV2_4_USE_TEXTURE_HEADER_VERSION2             31:31
461 #define NVA297_TEXHEADV2_5_HEIGHT                                  15:0
462 #define NVA297_TEXHEADV2_5_DEPTH                                   27:16
463 #define NVA297_TEXHEADV2_5_MAX_MIP_LEVEL                           31:28
464 #define NVA297_TEXHEADV2_6_TRILIN_OPT                              4:0
465 #define NVA297_TEXHEADV2_6_MIP_LOD_BIAS                            17:5
466 #define NVA297_TEXHEADV2_6_RESERVED6A                              18:18
467 #define NVA297_TEXHEADV2_6_ANISO_BIAS                              22:19
468 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC                  24:23
469 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_HALF 0x00000000
470 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_ONE  0x00000001
471 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_TWO  0x00000002
472 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_MAX  0x00000003
473 #define NVA297_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC                26:25
474 #define NVA297_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_HALF 0x00000000
475 #define NVA297_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_ONE 0x00000001
476 #define NVA297_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_TWO 0x00000002
477 #define NVA297_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_MAX 0x00000003
478 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY                          29:27
479 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_1_TO_1             0x00000000
480 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_2_TO_1             0x00000001
481 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_4_TO_1             0x00000002
482 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_6_TO_1             0x00000003
483 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_8_TO_1             0x00000004
484 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_10_TO_1            0x00000005
485 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_12_TO_1            0x00000006
486 #define NVA297_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_16_TO_1            0x00000007
487 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER              31:30
488 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
489 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
490 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
491 #define NVA297_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
492 #define NVA297_TEXHEADV2_7_RES_VIEW_MIN_MIP_LEVEL                  3:0
493 #define NVA297_TEXHEADV2_7_RES_VIEW_MAX_MIP_LEVEL                  7:4
494 #define NVA297_TEXHEADV2_7_HEIGHT_MSB                              8:8
495 #define NVA297_TEXHEADV2_7_HEIGHT_MSB_RESERVED                     11:9
496 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT                      15:12
497 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_1X1             0x00000000
498 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X1             0x00000001
499 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2             0x00000002
500 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2             0x00000003
501 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_D3D         0x00000004
502 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X1_D3D         0x00000005
503 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X4             0x00000006
504 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2_VC_4        0x00000008
505 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2_VC_12       0x00000009
506 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_VC_8        0x0000000a
507 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_VC_24       0x0000000b
508 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X1_CENTER      0x0000000c
509 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2_CENTER      0x0000000d
510 #define NVA297_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_CENTER      0x0000000e
511 #define NVA297_TEXHEADV2_7_MIN_LOD_CLAMP                           27:16
512 #define NVA297_TEXHEADV2_7_DEPTH_MSB                               30:28
513 #define NVA297_TEXHEADV2_7_RESERVED7A                              31:31
514 
515 
516 /*
517 ** Texture Header State, Version 3
518  */
519 
520 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES                         5:0
521 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_4X4             0x00000000
522 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_5X4             0x00000010
523 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_5X5             0x00000001
524 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_6X5             0x00000011
525 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_6X6             0x00000002
526 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_8X5             0x00000015
527 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_8X6             0x00000012
528 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_8X8             0x00000004
529 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_10X5            0x00000016
530 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_10X6            0x00000017
531 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_10X8            0x00000013
532 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_10X10           0x00000005
533 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_12X10           0x00000014
534 #define NVA297_TEXHEADV3_0_COMPONENT_SIZES_ASTC_2D_12X12           0x00000006
535 #define NVA297_TEXHEADV3_0_R_DATA_TYPE                             8:6
536 #define NVA297_TEXHEADV3_0_R_DATA_TYPE_NUM_SNORM                   0x00000001
537 #define NVA297_TEXHEADV3_0_R_DATA_TYPE_NUM_UNORM                   0x00000002
538 #define NVA297_TEXHEADV3_0_R_DATA_TYPE_NUM_SINT                    0x00000003
539 #define NVA297_TEXHEADV3_0_R_DATA_TYPE_NUM_UINT                    0x00000004
540 #define NVA297_TEXHEADV3_0_R_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
541 #define NVA297_TEXHEADV3_0_R_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
542 #define NVA297_TEXHEADV3_0_R_DATA_TYPE_NUM_FLOAT                   0x00000007
543 #define NVA297_TEXHEADV3_0_G_DATA_TYPE                             11:9
544 #define NVA297_TEXHEADV3_0_G_DATA_TYPE_NUM_SNORM                   0x00000001
545 #define NVA297_TEXHEADV3_0_G_DATA_TYPE_NUM_UNORM                   0x00000002
546 #define NVA297_TEXHEADV3_0_G_DATA_TYPE_NUM_SINT                    0x00000003
547 #define NVA297_TEXHEADV3_0_G_DATA_TYPE_NUM_UINT                    0x00000004
548 #define NVA297_TEXHEADV3_0_G_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
549 #define NVA297_TEXHEADV3_0_G_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
550 #define NVA297_TEXHEADV3_0_G_DATA_TYPE_NUM_FLOAT                   0x00000007
551 #define NVA297_TEXHEADV3_0_B_DATA_TYPE                             14:12
552 #define NVA297_TEXHEADV3_0_B_DATA_TYPE_NUM_SNORM                   0x00000001
553 #define NVA297_TEXHEADV3_0_B_DATA_TYPE_NUM_UNORM                   0x00000002
554 #define NVA297_TEXHEADV3_0_B_DATA_TYPE_NUM_SINT                    0x00000003
555 #define NVA297_TEXHEADV3_0_B_DATA_TYPE_NUM_UINT                    0x00000004
556 #define NVA297_TEXHEADV3_0_B_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
557 #define NVA297_TEXHEADV3_0_B_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
558 #define NVA297_TEXHEADV3_0_B_DATA_TYPE_NUM_FLOAT                   0x00000007
559 #define NVA297_TEXHEADV3_0_A_DATA_TYPE                             17:15
560 #define NVA297_TEXHEADV3_0_A_DATA_TYPE_NUM_SNORM                   0x00000001
561 #define NVA297_TEXHEADV3_0_A_DATA_TYPE_NUM_UNORM                   0x00000002
562 #define NVA297_TEXHEADV3_0_A_DATA_TYPE_NUM_SINT                    0x00000003
563 #define NVA297_TEXHEADV3_0_A_DATA_TYPE_NUM_UINT                    0x00000004
564 #define NVA297_TEXHEADV3_0_A_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
565 #define NVA297_TEXHEADV3_0_A_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
566 #define NVA297_TEXHEADV3_0_A_DATA_TYPE_NUM_FLOAT                   0x00000007
567 #define NVA297_TEXHEADV3_0_X_SOURCE                                20:18
568 #define NVA297_TEXHEADV3_0_X_SOURCE_IN_ZERO                        0x00000000
569 #define NVA297_TEXHEADV3_0_X_SOURCE_IN_R                           0x00000002
570 #define NVA297_TEXHEADV3_0_X_SOURCE_IN_G                           0x00000003
571 #define NVA297_TEXHEADV3_0_X_SOURCE_IN_B                           0x00000004
572 #define NVA297_TEXHEADV3_0_X_SOURCE_IN_A                           0x00000005
573 #define NVA297_TEXHEADV3_0_X_SOURCE_IN_ONE_INT                     0x00000006
574 #define NVA297_TEXHEADV3_0_X_SOURCE_IN_ONE_FLOAT                   0x00000007
575 #define NVA297_TEXHEADV3_0_Y_SOURCE                                23:21
576 #define NVA297_TEXHEADV3_0_Y_SOURCE_IN_ZERO                        0x00000000
577 #define NVA297_TEXHEADV3_0_Y_SOURCE_IN_R                           0x00000002
578 #define NVA297_TEXHEADV3_0_Y_SOURCE_IN_G                           0x00000003
579 #define NVA297_TEXHEADV3_0_Y_SOURCE_IN_B                           0x00000004
580 #define NVA297_TEXHEADV3_0_Y_SOURCE_IN_A                           0x00000005
581 #define NVA297_TEXHEADV3_0_Y_SOURCE_IN_ONE_INT                     0x00000006
582 #define NVA297_TEXHEADV3_0_Y_SOURCE_IN_ONE_FLOAT                   0x00000007
583 #define NVA297_TEXHEADV3_0_Z_SOURCE                                26:24
584 #define NVA297_TEXHEADV3_0_Z_SOURCE_IN_ZERO                        0x00000000
585 #define NVA297_TEXHEADV3_0_Z_SOURCE_IN_R                           0x00000002
586 #define NVA297_TEXHEADV3_0_Z_SOURCE_IN_G                           0x00000003
587 #define NVA297_TEXHEADV3_0_Z_SOURCE_IN_B                           0x00000004
588 #define NVA297_TEXHEADV3_0_Z_SOURCE_IN_A                           0x00000005
589 #define NVA297_TEXHEADV3_0_Z_SOURCE_IN_ONE_INT                     0x00000006
590 #define NVA297_TEXHEADV3_0_Z_SOURCE_IN_ONE_FLOAT                   0x00000007
591 #define NVA297_TEXHEADV3_0_W_SOURCE                                29:27
592 #define NVA297_TEXHEADV3_0_W_SOURCE_IN_ZERO                        0x00000000
593 #define NVA297_TEXHEADV3_0_W_SOURCE_IN_R                           0x00000002
594 #define NVA297_TEXHEADV3_0_W_SOURCE_IN_G                           0x00000003
595 #define NVA297_TEXHEADV3_0_W_SOURCE_IN_B                           0x00000004
596 #define NVA297_TEXHEADV3_0_W_SOURCE_IN_A                           0x00000005
597 #define NVA297_TEXHEADV3_0_W_SOURCE_IN_ONE_INT                     0x00000006
598 #define NVA297_TEXHEADV3_0_W_SOURCE_IN_ONE_FLOAT                   0x00000007
599 #define NVA297_TEXHEADV3_0_PACK_COMPONENTS                         30:30
600 #define NVA297_TEXHEADV3_0_USE_COMPONENT_SIZES_EXTENDED            31:31
601 #define NVA297_TEXHEADV3_1_OFFSET_LOWER                            31:0
602 #define NVA297_TEXHEADV3_2_OFFSET_UPPER                            7:0
603 #define NVA297_TEXHEADV3_2_ANISO_SPREAD_MAX_LOG2_L_S_B             9:8
604 #define NVA297_TEXHEADV3_2_S_R_G_B_CONVERSION                      10:10
605 #define NVA297_TEXHEADV3_2_ANISO_SPREAD_MAX_LOG2_M_S_B             11:11
606 #define NVA297_TEXHEADV3_2_LOD_ANISO_QUALITY2                      12:12
607 #define NVA297_TEXHEADV3_2_COLOR_KEY_OP                            13:13
608 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE                            17:14
609 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_ONE_D                      0x00000000
610 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_TWO_D                      0x00000001
611 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_THREE_D                    0x00000002
612 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_CUBEMAP                    0x00000003
613 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_ONE_D_ARRAY                0x00000004
614 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_TWO_D_ARRAY                0x00000005
615 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_ONE_D_BUFFER               0x00000006
616 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_TWO_D_NO_MIPMAP            0x00000007
617 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_CUBEMAP_ARRAY              0x00000008
618 #define NVA297_TEXHEADV3_2_TEXTURE_TYPE_TT_BIT_FIELD_SIZE          0x0000000f
619 #define NVA297_TEXHEADV3_2_MEMORY_LAYOUT                           18:18
620 #define NVA297_TEXHEADV3_2_MEMORY_LAYOUT_BLOCKLINEAR               0x00000000
621 #define NVA297_TEXHEADV3_2_MEMORY_LAYOUT_PITCH                     0x00000001
622 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_WIDTH                    21:19
623 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_WIDTH_ONE_GOB            0x00000000
624 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_HEIGHT                   24:22
625 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_HEIGHT_ONE_GOB           0x00000000
626 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_HEIGHT_TWO_GOBS          0x00000001
627 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_HEIGHT_FOUR_GOBS         0x00000002
628 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_HEIGHT_EIGHT_GOBS        0x00000003
629 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_HEIGHT_SIXTEEN_GOBS      0x00000004
630 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_HEIGHT_THIRTYTWO_GOBS    0x00000005
631 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_DEPTH                    27:25
632 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_DEPTH_ONE_GOB            0x00000000
633 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_DEPTH_TWO_GOBS           0x00000001
634 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_DEPTH_FOUR_GOBS          0x00000002
635 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_DEPTH_EIGHT_GOBS         0x00000003
636 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_DEPTH_SIXTEEN_GOBS       0x00000004
637 #define NVA297_TEXHEADV3_2_GOBS_PER_BLOCK_DEPTH_THIRTYTWO_GOBS     0x00000005
638 #define NVA297_TEXHEADV3_2_SECTOR_PROMOTION                        29:28
639 #define NVA297_TEXHEADV3_2_SECTOR_PROMOTION_NO_PROMOTION           0x00000000
640 #define NVA297_TEXHEADV3_2_SECTOR_PROMOTION_PROMOTE_TO_2_V         0x00000001
641 #define NVA297_TEXHEADV3_2_SECTOR_PROMOTION_PROMOTE_TO_2_H         0x00000002
642 #define NVA297_TEXHEADV3_2_SECTOR_PROMOTION_PROMOTE_TO_4           0x00000003
643 #define NVA297_TEXHEADV3_2_BORDER_SOURCE                           30:30
644 #define NVA297_TEXHEADV3_2_BORDER_SOURCE_BORDER_TEXTURE            0x00000000
645 #define NVA297_TEXHEADV3_2_BORDER_SOURCE_BORDER_COLOR              0x00000001
646 #define NVA297_TEXHEADV3_2_NORMALIZED_COORDS                       31:31
647 #define NVA297_TEXHEADV3_3_PITCH                                   19:0
648 #define NVA297_TEXHEADV3_3_LOD_ANISO_QUALITY                       20:20
649 #define NVA297_TEXHEADV3_3_LOD_ANISO_QUALITY_LOD_QUALITY_LOW       0x00000000
650 #define NVA297_TEXHEADV3_3_LOD_ANISO_QUALITY_LOD_QUALITY_HIGH      0x00000001
651 #define NVA297_TEXHEADV3_3_LOD_ISO_QUALITY                         21:21
652 #define NVA297_TEXHEADV3_3_LOD_ISO_QUALITY_LOD_QUALITY_LOW         0x00000000
653 #define NVA297_TEXHEADV3_3_LOD_ISO_QUALITY_LOD_QUALITY_HIGH        0x00000001
654 #define NVA297_TEXHEADV3_3_ANISO_COARSE_SPREAD_MODIFIER            23:22
655 #define NVA297_TEXHEADV3_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
656 #define NVA297_TEXHEADV3_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
657 #define NVA297_TEXHEADV3_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
658 #define NVA297_TEXHEADV3_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
659 #define NVA297_TEXHEADV3_3_ANISO_SPREAD_SCALE                      28:24
660 #define NVA297_TEXHEADV3_3_USE_HEADER_OPT_CONTROL                  29:29
661 #define NVA297_TEXHEADV3_3_RESERVED3A                              30:30
662 #define NVA297_TEXHEADV3_3_RESERVED3B                              31:31
663 #define NVA297_TEXHEADV3_4_WIDTH                                   29:0
664 #define NVA297_TEXHEADV3_4_DEPTH_TEXTURE                           30:30
665 #define NVA297_TEXHEADV3_4_USE_TEXTURE_HEADER_VERSION2             31:31
666 #define NVA297_TEXHEADV3_5_HEIGHT                                  15:0
667 #define NVA297_TEXHEADV3_5_DEPTH                                   27:16
668 #define NVA297_TEXHEADV3_5_MAX_MIP_LEVEL                           31:28
669 #define NVA297_TEXHEADV3_6_TRILIN_OPT                              4:0
670 #define NVA297_TEXHEADV3_6_MIP_LOD_BIAS                            17:5
671 #define NVA297_TEXHEADV3_6_RESERVED6A                              18:18
672 #define NVA297_TEXHEADV3_6_ANISO_BIAS                              22:19
673 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_FUNC                  24:23
674 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_HALF 0x00000000
675 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_ONE  0x00000001
676 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_TWO  0x00000002
677 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_MAX  0x00000003
678 #define NVA297_TEXHEADV3_6_ANISO_COARSE_SPREAD_FUNC                26:25
679 #define NVA297_TEXHEADV3_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_HALF 0x00000000
680 #define NVA297_TEXHEADV3_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_ONE 0x00000001
681 #define NVA297_TEXHEADV3_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_TWO 0x00000002
682 #define NVA297_TEXHEADV3_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_MAX 0x00000003
683 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY                          29:27
684 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_1_TO_1             0x00000000
685 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_2_TO_1             0x00000001
686 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_4_TO_1             0x00000002
687 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_6_TO_1             0x00000003
688 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_8_TO_1             0x00000004
689 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_10_TO_1            0x00000005
690 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_12_TO_1            0x00000006
691 #define NVA297_TEXHEADV3_6_MAX_ANISOTROPY_ANISO_16_TO_1            0x00000007
692 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_MODIFIER              31:30
693 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
694 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
695 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
696 #define NVA297_TEXHEADV3_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
697 #define NVA297_TEXHEADV3_7_RES_VIEW_MIN_MIP_LEVEL                  3:0
698 #define NVA297_TEXHEADV3_7_RES_VIEW_MAX_MIP_LEVEL                  7:4
699 #define NVA297_TEXHEADV3_7_HEIGHT_MSB                              8:8
700 #define NVA297_TEXHEADV3_7_HEIGHT_MSB_RESERVED                     11:9
701 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT                      15:12
702 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_1X1             0x00000000
703 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_2X1             0x00000001
704 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_2X2             0x00000002
705 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_4X2             0x00000003
706 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_4X2_D3D         0x00000004
707 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_2X1_D3D         0x00000005
708 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_4X4             0x00000006
709 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_2X2_VC_4        0x00000008
710 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_2X2_VC_12       0x00000009
711 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_4X2_VC_8        0x0000000a
712 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_4X2_VC_24       0x0000000b
713 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_2X1_CENTER      0x0000000c
714 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_2X2_CENTER      0x0000000d
715 #define NVA297_TEXHEADV3_7_MULTI_SAMPLE_COUNT_MODE_4X2_CENTER      0x0000000e
716 #define NVA297_TEXHEADV3_7_MIN_LOD_CLAMP                           27:16
717 #define NVA297_TEXHEADV3_7_DEPTH_MSB                               30:28
718 #define NVA297_TEXHEADV3_7_RESERVED7A                              31:31
719 
720 
721 /*
722 ** Texture Sampler State
723  */
724 
725 #define NVA297_TEXSAMP0_ADDRESS_U                                  2:0
726 #define NVA297_TEXSAMP0_ADDRESS_U_WRAP                             0x00000000
727 #define NVA297_TEXSAMP0_ADDRESS_U_MIRROR                           0x00000001
728 #define NVA297_TEXSAMP0_ADDRESS_U_CLAMP_TO_EDGE                    0x00000002
729 #define NVA297_TEXSAMP0_ADDRESS_U_BORDER                           0x00000003
730 #define NVA297_TEXSAMP0_ADDRESS_U_CLAMP_OGL                        0x00000004
731 #define NVA297_TEXSAMP0_ADDRESS_U_MIRROR_ONCE_CLAMP_TO_EDGE        0x00000005
732 #define NVA297_TEXSAMP0_ADDRESS_U_MIRROR_ONCE_BORDER               0x00000006
733 #define NVA297_TEXSAMP0_ADDRESS_U_MIRROR_ONCE_CLAMP_OGL            0x00000007
734 #define NVA297_TEXSAMP0_ADDRESS_V                                  5:3
735 #define NVA297_TEXSAMP0_ADDRESS_V_WRAP                             0x00000000
736 #define NVA297_TEXSAMP0_ADDRESS_V_MIRROR                           0x00000001
737 #define NVA297_TEXSAMP0_ADDRESS_V_CLAMP_TO_EDGE                    0x00000002
738 #define NVA297_TEXSAMP0_ADDRESS_V_BORDER                           0x00000003
739 #define NVA297_TEXSAMP0_ADDRESS_V_CLAMP_OGL                        0x00000004
740 #define NVA297_TEXSAMP0_ADDRESS_V_MIRROR_ONCE_CLAMP_TO_EDGE        0x00000005
741 #define NVA297_TEXSAMP0_ADDRESS_V_MIRROR_ONCE_BORDER               0x00000006
742 #define NVA297_TEXSAMP0_ADDRESS_V_MIRROR_ONCE_CLAMP_OGL            0x00000007
743 #define NVA297_TEXSAMP0_ADDRESS_P                                  8:6
744 #define NVA297_TEXSAMP0_ADDRESS_P_WRAP                             0x00000000
745 #define NVA297_TEXSAMP0_ADDRESS_P_MIRROR                           0x00000001
746 #define NVA297_TEXSAMP0_ADDRESS_P_CLAMP_TO_EDGE                    0x00000002
747 #define NVA297_TEXSAMP0_ADDRESS_P_BORDER                           0x00000003
748 #define NVA297_TEXSAMP0_ADDRESS_P_CLAMP_OGL                        0x00000004
749 #define NVA297_TEXSAMP0_ADDRESS_P_MIRROR_ONCE_CLAMP_TO_EDGE        0x00000005
750 #define NVA297_TEXSAMP0_ADDRESS_P_MIRROR_ONCE_BORDER               0x00000006
751 #define NVA297_TEXSAMP0_ADDRESS_P_MIRROR_ONCE_CLAMP_OGL            0x00000007
752 #define NVA297_TEXSAMP0_DEPTH_COMPARE                              9:9
753 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC                         12:10
754 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_NEVER                0x00000000
755 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_LESS                 0x00000001
756 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_EQUAL                0x00000002
757 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_LEQUAL               0x00000003
758 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_GREATER              0x00000004
759 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_NOTEQUAL             0x00000005
760 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_GEQUAL               0x00000006
761 #define NVA297_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_ALWAYS               0x00000007
762 #define NVA297_TEXSAMP0_S_R_G_B_CONVERSION                         13:13
763 #define NVA297_TEXSAMP0_RESERVED0A                                 16:14
764 #define NVA297_TEXSAMP0_RESERVED0B                                 19:17
765 #define NVA297_TEXSAMP0_MAX_ANISOTROPY                             22:20
766 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_1_TO_1                0x00000000
767 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_2_TO_1                0x00000001
768 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_4_TO_1                0x00000002
769 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_6_TO_1                0x00000003
770 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_8_TO_1                0x00000004
771 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_10_TO_1               0x00000005
772 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_12_TO_1               0x00000006
773 #define NVA297_TEXSAMP0_MAX_ANISOTROPY_ANISO_16_TO_1               0x00000007
774 #define NVA297_TEXSAMP1_MAG_FILTER                                 2:0
775 #define NVA297_TEXSAMP1_MAG_FILTER_MAG_POINT                       0x00000001
776 #define NVA297_TEXSAMP1_MAG_FILTER_MAG_LINEAR                      0x00000002
777 #define NVA297_TEXSAMP1_MAG_FILTER_VCAA_4_TAP                      0x00000003
778 #define NVA297_TEXSAMP1_MAG_FILTER_VCAA_8_TAP                      0x00000004
779 #define NVA297_TEXSAMP1_MIN_LOD_CLAMP_BEHAVIOR_FOR_NEAREST_MIP     3:3
780 #define NVA297_TEXSAMP1_MIN_LOD_CLAMP_BEHAVIOR_FOR_NEAREST_MIP_INTEGER_AND_FRACTION 0x00000000
781 #define NVA297_TEXSAMP1_MIN_LOD_CLAMP_BEHAVIOR_FOR_NEAREST_MIP_INTEGER_ONLY 0x00000001
782 #define NVA297_TEXSAMP1_MIN_FILTER                                 5:4
783 #define NVA297_TEXSAMP1_MIN_FILTER_MIN_POINT                       0x00000001
784 #define NVA297_TEXSAMP1_MIN_FILTER_MIN_LINEAR                      0x00000002
785 #define NVA297_TEXSAMP1_MIN_FILTER_MIN_ANISO                       0x00000003
786 #define NVA297_TEXSAMP1_MIP_FILTER                                 7:6
787 #define NVA297_TEXSAMP1_MIP_FILTER_MIP_NONE                        0x00000001
788 #define NVA297_TEXSAMP1_MIP_FILTER_MIP_POINT                       0x00000002
789 #define NVA297_TEXSAMP1_MIP_FILTER_MIP_LINEAR                      0x00000003
790 #define NVA297_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING                9:8
791 #define NVA297_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_USE_WRAP       0x00000000
792 #define NVA297_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_OVERRIDE_WRAP  0x00000001
793 #define NVA297_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_AUTO_SPAN_SEAM 0x00000002
794 #define NVA297_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_AUTO_CROSS_SEAM 0x00000003
795 #define NVA297_TEXSAMP1_MIP_LOD_BIAS                               24:12
796 #define NVA297_TEXSAMP1_FLOAT_COORD_NORMALIZATION                  25:25
797 #define NVA297_TEXSAMP1_FLOAT_COORD_NORMALIZATION_USE_HEADER_SETTING 0x00000000
798 #define NVA297_TEXSAMP1_FLOAT_COORD_NORMALIZATION_FORCE_UNNORMALIZED_COORDS 0x00000001
799 #define NVA297_TEXSAMP1_TRILIN_OPT                                 30:26
800 #define NVA297_TEXSAMP2_MIN_LOD_CLAMP                              11:0
801 #define NVA297_TEXSAMP2_MAX_LOD_CLAMP                              23:12
802 #define NVA297_TEXSAMP2_S_R_G_B_BORDER_COLOR_R                     31:24
803 #define NVA297_TEXSAMP3_RESERVED12                                 11:0
804 #define NVA297_TEXSAMP3_S_R_G_B_BORDER_COLOR_G                     19:12
805 #define NVA297_TEXSAMP3_S_R_G_B_BORDER_COLOR_B                     27:20
806 #define NVA297_TEXSAMP4_BORDER_COLOR_R                             31:0
807 #define NVA297_TEXSAMP5_BORDER_COLOR_G                             31:0
808 #define NVA297_TEXSAMP6_BORDER_COLOR_B                             31:0
809 #define NVA297_TEXSAMP7_BORDER_COLOR_A                             31:0
810 
811 
812 
813 #endif // #ifndef __CLA297TEX_H__
814