xref: /aosp_15_r20/external/mesa3d/src/nouveau/headers/nvidia/classes/cla097tex.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 __CLA097TEX_H__
27 #define __CLA097TEX_H__
28 
29 /*
30 ** Texture Header State
31  */
32 
33 #define NVA097_TEXHEAD0_COMPONENT_SIZES                            5:0
34 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R32_G32_B32_A32            0x00000001
35 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R32_G32_B32                0x00000002
36 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R16_G16_B16_A16            0x00000003
37 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R32_G32                    0x00000004
38 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R32_B24G8                  0x00000005
39 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X8B8G8R8                   0x00000007
40 #define NVA097_TEXHEAD0_COMPONENT_SIZES_A8B8G8R8                   0x00000008
41 #define NVA097_TEXHEAD0_COMPONENT_SIZES_A2B10G10R10                0x00000009
42 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R16_G16                    0x0000000c
43 #define NVA097_TEXHEAD0_COMPONENT_SIZES_G8R24                      0x0000000d
44 #define NVA097_TEXHEAD0_COMPONENT_SIZES_G24R8                      0x0000000e
45 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R32                        0x0000000f
46 #define NVA097_TEXHEAD0_COMPONENT_SIZES_A4B4G4R4                   0x00000012
47 #define NVA097_TEXHEAD0_COMPONENT_SIZES_A5B5G5R1                   0x00000013
48 #define NVA097_TEXHEAD0_COMPONENT_SIZES_A1B5G5R5                   0x00000014
49 #define NVA097_TEXHEAD0_COMPONENT_SIZES_B5G6R5                     0x00000015
50 #define NVA097_TEXHEAD0_COMPONENT_SIZES_B6G5R5                     0x00000016
51 #define NVA097_TEXHEAD0_COMPONENT_SIZES_G8R8                       0x00000018
52 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R16                        0x0000001b
53 #define NVA097_TEXHEAD0_COMPONENT_SIZES_Y8_VIDEO                   0x0000001c
54 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R8                         0x0000001d
55 #define NVA097_TEXHEAD0_COMPONENT_SIZES_G4R4                       0x0000001e
56 #define NVA097_TEXHEAD0_COMPONENT_SIZES_R1                         0x0000001f
57 #define NVA097_TEXHEAD0_COMPONENT_SIZES_E5B9G9R9_SHAREDEXP         0x00000020
58 #define NVA097_TEXHEAD0_COMPONENT_SIZES_BF10GF11RF11               0x00000021
59 #define NVA097_TEXHEAD0_COMPONENT_SIZES_G8B8G8R8                   0x00000022
60 #define NVA097_TEXHEAD0_COMPONENT_SIZES_B8G8R8G8                   0x00000023
61 #define NVA097_TEXHEAD0_COMPONENT_SIZES_DXT1                       0x00000024
62 #define NVA097_TEXHEAD0_COMPONENT_SIZES_DXT23                      0x00000025
63 #define NVA097_TEXHEAD0_COMPONENT_SIZES_DXT45                      0x00000026
64 #define NVA097_TEXHEAD0_COMPONENT_SIZES_DXN1                       0x00000027
65 #define NVA097_TEXHEAD0_COMPONENT_SIZES_DXN2                       0x00000028
66 #define NVA097_TEXHEAD0_COMPONENT_SIZES_BC6H_SF16                  0x00000010
67 #define NVA097_TEXHEAD0_COMPONENT_SIZES_BC6H_UF16                  0x00000011
68 #define NVA097_TEXHEAD0_COMPONENT_SIZES_BC7U                       0x00000017
69 #define NVA097_TEXHEAD0_COMPONENT_SIZES_Z24S8                      0x00000029
70 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X8Z24                      0x0000002a
71 #define NVA097_TEXHEAD0_COMPONENT_SIZES_S8Z24                      0x0000002b
72 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X4V4Z24__COV4R4V           0x0000002c
73 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X4V4Z24__COV8R8V           0x0000002d
74 #define NVA097_TEXHEAD0_COMPONENT_SIZES_V8Z24__COV4R12V            0x0000002e
75 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32                       0x0000002f
76 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X24S8                 0x00000030
77 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X8Z24_X20V4S8__COV4R4V     0x00000031
78 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X8Z24_X20V4S8__COV8R8V     0x00000032
79 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4X8__COV4R4V      0x00000033
80 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4X8__COV8R8V      0x00000034
81 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4S8__COV4R4V      0x00000035
82 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X20V4S8__COV8R8V      0x00000036
83 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X8Z24_X16V8S8__COV4R12V    0x00000037
84 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8X8__COV4R12V     0x00000038
85 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8S8__COV4R12V     0x00000039
86 #define NVA097_TEXHEAD0_COMPONENT_SIZES_Z16                        0x0000003a
87 #define NVA097_TEXHEAD0_COMPONENT_SIZES_V8Z24__COV8R24V            0x0000003b
88 #define NVA097_TEXHEAD0_COMPONENT_SIZES_X8Z24_X16V8S8__COV8R24V    0x0000003c
89 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8X8__COV8R24V     0x0000003d
90 #define NVA097_TEXHEAD0_COMPONENT_SIZES_ZF32_X16V8S8__COV8R24V     0x0000003e
91 #define NVA097_TEXHEAD0_COMPONENT_SIZES_CS_BITFIELD_SIZE           0x0000003f
92 #define NVA097_TEXHEAD0_R_DATA_TYPE                                8:6
93 #define NVA097_TEXHEAD0_R_DATA_TYPE_NUM_SNORM                      0x00000001
94 #define NVA097_TEXHEAD0_R_DATA_TYPE_NUM_UNORM                      0x00000002
95 #define NVA097_TEXHEAD0_R_DATA_TYPE_NUM_SINT                       0x00000003
96 #define NVA097_TEXHEAD0_R_DATA_TYPE_NUM_UINT                       0x00000004
97 #define NVA097_TEXHEAD0_R_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
98 #define NVA097_TEXHEAD0_R_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
99 #define NVA097_TEXHEAD0_R_DATA_TYPE_NUM_FLOAT                      0x00000007
100 #define NVA097_TEXHEAD0_G_DATA_TYPE                                11:9
101 #define NVA097_TEXHEAD0_G_DATA_TYPE_NUM_SNORM                      0x00000001
102 #define NVA097_TEXHEAD0_G_DATA_TYPE_NUM_UNORM                      0x00000002
103 #define NVA097_TEXHEAD0_G_DATA_TYPE_NUM_SINT                       0x00000003
104 #define NVA097_TEXHEAD0_G_DATA_TYPE_NUM_UINT                       0x00000004
105 #define NVA097_TEXHEAD0_G_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
106 #define NVA097_TEXHEAD0_G_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
107 #define NVA097_TEXHEAD0_G_DATA_TYPE_NUM_FLOAT                      0x00000007
108 #define NVA097_TEXHEAD0_B_DATA_TYPE                                14:12
109 #define NVA097_TEXHEAD0_B_DATA_TYPE_NUM_SNORM                      0x00000001
110 #define NVA097_TEXHEAD0_B_DATA_TYPE_NUM_UNORM                      0x00000002
111 #define NVA097_TEXHEAD0_B_DATA_TYPE_NUM_SINT                       0x00000003
112 #define NVA097_TEXHEAD0_B_DATA_TYPE_NUM_UINT                       0x00000004
113 #define NVA097_TEXHEAD0_B_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
114 #define NVA097_TEXHEAD0_B_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
115 #define NVA097_TEXHEAD0_B_DATA_TYPE_NUM_FLOAT                      0x00000007
116 #define NVA097_TEXHEAD0_A_DATA_TYPE                                17:15
117 #define NVA097_TEXHEAD0_A_DATA_TYPE_NUM_SNORM                      0x00000001
118 #define NVA097_TEXHEAD0_A_DATA_TYPE_NUM_UNORM                      0x00000002
119 #define NVA097_TEXHEAD0_A_DATA_TYPE_NUM_SINT                       0x00000003
120 #define NVA097_TEXHEAD0_A_DATA_TYPE_NUM_UINT                       0x00000004
121 #define NVA097_TEXHEAD0_A_DATA_TYPE_NUM_SNORM_FORCE_FP16           0x00000005
122 #define NVA097_TEXHEAD0_A_DATA_TYPE_NUM_UNORM_FORCE_FP16           0x00000006
123 #define NVA097_TEXHEAD0_A_DATA_TYPE_NUM_FLOAT                      0x00000007
124 #define NVA097_TEXHEAD0_X_SOURCE                                   20:18
125 #define NVA097_TEXHEAD0_X_SOURCE_IN_ZERO                           0x00000000
126 #define NVA097_TEXHEAD0_X_SOURCE_IN_R                              0x00000002
127 #define NVA097_TEXHEAD0_X_SOURCE_IN_G                              0x00000003
128 #define NVA097_TEXHEAD0_X_SOURCE_IN_B                              0x00000004
129 #define NVA097_TEXHEAD0_X_SOURCE_IN_A                              0x00000005
130 #define NVA097_TEXHEAD0_X_SOURCE_IN_ONE_INT                        0x00000006
131 #define NVA097_TEXHEAD0_X_SOURCE_IN_ONE_FLOAT                      0x00000007
132 #define NVA097_TEXHEAD0_Y_SOURCE                                   23:21
133 #define NVA097_TEXHEAD0_Y_SOURCE_IN_ZERO                           0x00000000
134 #define NVA097_TEXHEAD0_Y_SOURCE_IN_R                              0x00000002
135 #define NVA097_TEXHEAD0_Y_SOURCE_IN_G                              0x00000003
136 #define NVA097_TEXHEAD0_Y_SOURCE_IN_B                              0x00000004
137 #define NVA097_TEXHEAD0_Y_SOURCE_IN_A                              0x00000005
138 #define NVA097_TEXHEAD0_Y_SOURCE_IN_ONE_INT                        0x00000006
139 #define NVA097_TEXHEAD0_Y_SOURCE_IN_ONE_FLOAT                      0x00000007
140 #define NVA097_TEXHEAD0_Z_SOURCE                                   26:24
141 #define NVA097_TEXHEAD0_Z_SOURCE_IN_ZERO                           0x00000000
142 #define NVA097_TEXHEAD0_Z_SOURCE_IN_R                              0x00000002
143 #define NVA097_TEXHEAD0_Z_SOURCE_IN_G                              0x00000003
144 #define NVA097_TEXHEAD0_Z_SOURCE_IN_B                              0x00000004
145 #define NVA097_TEXHEAD0_Z_SOURCE_IN_A                              0x00000005
146 #define NVA097_TEXHEAD0_Z_SOURCE_IN_ONE_INT                        0x00000006
147 #define NVA097_TEXHEAD0_Z_SOURCE_IN_ONE_FLOAT                      0x00000007
148 #define NVA097_TEXHEAD0_W_SOURCE                                   29:27
149 #define NVA097_TEXHEAD0_W_SOURCE_IN_ZERO                           0x00000000
150 #define NVA097_TEXHEAD0_W_SOURCE_IN_R                              0x00000002
151 #define NVA097_TEXHEAD0_W_SOURCE_IN_G                              0x00000003
152 #define NVA097_TEXHEAD0_W_SOURCE_IN_B                              0x00000004
153 #define NVA097_TEXHEAD0_W_SOURCE_IN_A                              0x00000005
154 #define NVA097_TEXHEAD0_W_SOURCE_IN_ONE_INT                        0x00000006
155 #define NVA097_TEXHEAD0_W_SOURCE_IN_ONE_FLOAT                      0x00000007
156 #define NVA097_TEXHEAD0_PACK_COMPONENTS                            30:30
157 #define NVA097_TEXHEAD0_RESERVED4                                  31:31
158 #define NVA097_TEXHEAD1_OFFSET_LOWER                               31:0
159 #define NVA097_TEXHEAD2_OFFSET_UPPER                               7:0
160 #define NVA097_TEXHEAD2_ANISO_SPREAD_MAX_LOG2_L_S_B                9:8
161 #define NVA097_TEXHEAD2_S_R_G_B_CONVERSION                         10:10
162 #define NVA097_TEXHEAD2_ANISO_SPREAD_MAX_LOG2_M_S_B                11:11
163 #define NVA097_TEXHEAD2_LOD_ANISO_QUALITY2                         12:12
164 #define NVA097_TEXHEAD2_COLOR_KEY_OP                               13:13
165 #define NVA097_TEXHEAD2_TEXTURE_TYPE                               17:14
166 #define NVA097_TEXHEAD2_TEXTURE_TYPE_ONE_D                         0x00000000
167 #define NVA097_TEXHEAD2_TEXTURE_TYPE_TWO_D                         0x00000001
168 #define NVA097_TEXHEAD2_TEXTURE_TYPE_THREE_D                       0x00000002
169 #define NVA097_TEXHEAD2_TEXTURE_TYPE_CUBEMAP                       0x00000003
170 #define NVA097_TEXHEAD2_TEXTURE_TYPE_ONE_D_ARRAY                   0x00000004
171 #define NVA097_TEXHEAD2_TEXTURE_TYPE_TWO_D_ARRAY                   0x00000005
172 #define NVA097_TEXHEAD2_TEXTURE_TYPE_ONE_D_BUFFER                  0x00000006
173 #define NVA097_TEXHEAD2_TEXTURE_TYPE_TWO_D_NO_MIPMAP               0x00000007
174 #define NVA097_TEXHEAD2_TEXTURE_TYPE_CUBEMAP_ARRAY                 0x00000008
175 #define NVA097_TEXHEAD2_TEXTURE_TYPE_TT_BIT_FIELD_SIZE             0x0000000f
176 #define NVA097_TEXHEAD2_MEMORY_LAYOUT                              18:18
177 #define NVA097_TEXHEAD2_MEMORY_LAYOUT_BLOCKLINEAR                  0x00000000
178 #define NVA097_TEXHEAD2_MEMORY_LAYOUT_PITCH                        0x00000001
179 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_WIDTH                       21:19
180 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_WIDTH_ONE_GOB               0x00000000
181 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT                      24:22
182 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_ONE_GOB              0x00000000
183 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_TWO_GOBS             0x00000001
184 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_FOUR_GOBS            0x00000002
185 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_EIGHT_GOBS           0x00000003
186 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_SIXTEEN_GOBS         0x00000004
187 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_HEIGHT_THIRTYTWO_GOBS       0x00000005
188 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_DEPTH                       27:25
189 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_ONE_GOB               0x00000000
190 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_TWO_GOBS              0x00000001
191 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_FOUR_GOBS             0x00000002
192 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_EIGHT_GOBS            0x00000003
193 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_SIXTEEN_GOBS          0x00000004
194 #define NVA097_TEXHEAD2_GOBS_PER_BLOCK_DEPTH_THIRTYTWO_GOBS        0x00000005
195 #define NVA097_TEXHEAD2_SECTOR_PROMOTION                           29:28
196 #define NVA097_TEXHEAD2_SECTOR_PROMOTION_NO_PROMOTION              0x00000000
197 #define NVA097_TEXHEAD2_SECTOR_PROMOTION_PROMOTE_TO_2_V            0x00000001
198 #define NVA097_TEXHEAD2_SECTOR_PROMOTION_PROMOTE_TO_2_H            0x00000002
199 #define NVA097_TEXHEAD2_SECTOR_PROMOTION_PROMOTE_TO_4              0x00000003
200 #define NVA097_TEXHEAD2_BORDER_SOURCE                              30:30
201 #define NVA097_TEXHEAD2_BORDER_SOURCE_BORDER_TEXTURE               0x00000000
202 #define NVA097_TEXHEAD2_BORDER_SOURCE_BORDER_COLOR                 0x00000001
203 #define NVA097_TEXHEAD2_NORMALIZED_COORDS                          31:31
204 #define NVA097_TEXHEAD3_PITCH                                      19:0
205 #define NVA097_TEXHEAD3_LOD_ANISO_QUALITY                          20:20
206 #define NVA097_TEXHEAD3_LOD_ANISO_QUALITY_LOD_QUALITY_LOW          0x00000000
207 #define NVA097_TEXHEAD3_LOD_ANISO_QUALITY_LOD_QUALITY_HIGH         0x00000001
208 #define NVA097_TEXHEAD3_LOD_ISO_QUALITY                            21:21
209 #define NVA097_TEXHEAD3_LOD_ISO_QUALITY_LOD_QUALITY_LOW            0x00000000
210 #define NVA097_TEXHEAD3_LOD_ISO_QUALITY_LOD_QUALITY_HIGH           0x00000001
211 #define NVA097_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER               23:22
212 #define NVA097_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
213 #define NVA097_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
214 #define NVA097_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
215 #define NVA097_TEXHEAD3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
216 #define NVA097_TEXHEAD3_ANISO_SPREAD_SCALE                         28:24
217 #define NVA097_TEXHEAD3_USE_HEADER_OPT_CONTROL                     29:29
218 #define NVA097_TEXHEAD3_RESERVED3A                                 30:30
219 #define NVA097_TEXHEAD3_RESERVED3B                                 31:31
220 #define NVA097_TEXHEAD4_WIDTH                                      29:0
221 #define NVA097_TEXHEAD4_DEPTH_TEXTURE                              30:30
222 #define NVA097_TEXHEAD4_USE_TEXTURE_HEADER_VERSION2                31:31
223 #define NVA097_TEXHEAD5_HEIGHT                                     15:0
224 #define NVA097_TEXHEAD5_DEPTH                                      27:16
225 #define NVA097_TEXHEAD5_MAX_MIP_LEVEL                              31:28
226 #define NVA097_TEXHEAD6_TRILIN_OPT                                 4:0
227 #define NVA097_TEXHEAD6_MIP_LOD_BIAS                               17:5
228 #define NVA097_TEXHEAD6_RESERVED6A                                 18:18
229 #define NVA097_TEXHEAD6_ANISO_BIAS                                 22:19
230 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_FUNC                     24:23
231 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_HALF    0x00000000
232 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_ONE     0x00000001
233 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_TWO     0x00000002
234 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_MAX     0x00000003
235 #define NVA097_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC                   26:25
236 #define NVA097_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_HALF  0x00000000
237 #define NVA097_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_ONE   0x00000001
238 #define NVA097_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_TWO   0x00000002
239 #define NVA097_TEXHEAD6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_MAX   0x00000003
240 #define NVA097_TEXHEAD6_MAX_ANISOTROPY                             29:27
241 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_1_TO_1                0x00000000
242 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_2_TO_1                0x00000001
243 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_4_TO_1                0x00000002
244 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_6_TO_1                0x00000003
245 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_8_TO_1                0x00000004
246 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_10_TO_1               0x00000005
247 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_12_TO_1               0x00000006
248 #define NVA097_TEXHEAD6_MAX_ANISOTROPY_ANISO_16_TO_1               0x00000007
249 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER                 31:30
250 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
251 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
252 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
253 #define NVA097_TEXHEAD6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
254 #define NVA097_TEXHEAD7_COLOR_KEY_VALUE                            31:0
255 
256 
257 /*
258 ** Texture Header State, Version 2
259  */
260 
261 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES                         5:0
262 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R32_G32_B32_A32         0x00000001
263 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R32_G32_B32             0x00000002
264 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R16_G16_B16_A16         0x00000003
265 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R32_G32                 0x00000004
266 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R32_B24G8               0x00000005
267 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X8B8G8R8                0x00000007
268 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_A8B8G8R8                0x00000008
269 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_A2B10G10R10             0x00000009
270 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R16_G16                 0x0000000c
271 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_G8R24                   0x0000000d
272 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_G24R8                   0x0000000e
273 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R32                     0x0000000f
274 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_A4B4G4R4                0x00000012
275 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_A5B5G5R1                0x00000013
276 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_A1B5G5R5                0x00000014
277 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_B5G6R5                  0x00000015
278 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_B6G5R5                  0x00000016
279 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_G8R8                    0x00000018
280 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R16                     0x0000001b
281 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_Y8_VIDEO                0x0000001c
282 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R8                      0x0000001d
283 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_G4R4                    0x0000001e
284 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_R1                      0x0000001f
285 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_E5B9G9R9_SHAREDEXP      0x00000020
286 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_BF10GF11RF11            0x00000021
287 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_G8B8G8R8                0x00000022
288 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_B8G8R8G8                0x00000023
289 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_DXT1                    0x00000024
290 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_DXT23                   0x00000025
291 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_DXT45                   0x00000026
292 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_DXN1                    0x00000027
293 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_DXN2                    0x00000028
294 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_BC6H_SF16               0x00000010
295 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_BC6H_UF16               0x00000011
296 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_BC7U                    0x00000017
297 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_Z24S8                   0x00000029
298 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X8Z24                   0x0000002a
299 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_S8Z24                   0x0000002b
300 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X4V4Z24__COV4R4V        0x0000002c
301 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X4V4Z24__COV8R8V        0x0000002d
302 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_V8Z24__COV4R12V         0x0000002e
303 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32                    0x0000002f
304 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X24S8              0x00000030
305 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X20V4S8__COV4R4V  0x00000031
306 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X20V4S8__COV8R8V  0x00000032
307 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4X8__COV4R4V   0x00000033
308 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4X8__COV8R8V   0x00000034
309 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4S8__COV4R4V   0x00000035
310 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X20V4S8__COV8R8V   0x00000036
311 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X16V8S8__COV4R12V 0x00000037
312 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8X8__COV4R12V  0x00000038
313 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8S8__COV4R12V  0x00000039
314 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_Z16                     0x0000003a
315 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_V8Z24__COV8R24V         0x0000003b
316 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_X8Z24_X16V8S8__COV8R24V 0x0000003c
317 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8X8__COV8R24V  0x0000003d
318 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_ZF32_X16V8S8__COV8R24V  0x0000003e
319 #define NVA097_TEXHEADV2_0_COMPONENT_SIZES_CS_BITFIELD_SIZE        0x0000003f
320 #define NVA097_TEXHEADV2_0_R_DATA_TYPE                             8:6
321 #define NVA097_TEXHEADV2_0_R_DATA_TYPE_NUM_SNORM                   0x00000001
322 #define NVA097_TEXHEADV2_0_R_DATA_TYPE_NUM_UNORM                   0x00000002
323 #define NVA097_TEXHEADV2_0_R_DATA_TYPE_NUM_SINT                    0x00000003
324 #define NVA097_TEXHEADV2_0_R_DATA_TYPE_NUM_UINT                    0x00000004
325 #define NVA097_TEXHEADV2_0_R_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
326 #define NVA097_TEXHEADV2_0_R_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
327 #define NVA097_TEXHEADV2_0_R_DATA_TYPE_NUM_FLOAT                   0x00000007
328 #define NVA097_TEXHEADV2_0_G_DATA_TYPE                             11:9
329 #define NVA097_TEXHEADV2_0_G_DATA_TYPE_NUM_SNORM                   0x00000001
330 #define NVA097_TEXHEADV2_0_G_DATA_TYPE_NUM_UNORM                   0x00000002
331 #define NVA097_TEXHEADV2_0_G_DATA_TYPE_NUM_SINT                    0x00000003
332 #define NVA097_TEXHEADV2_0_G_DATA_TYPE_NUM_UINT                    0x00000004
333 #define NVA097_TEXHEADV2_0_G_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
334 #define NVA097_TEXHEADV2_0_G_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
335 #define NVA097_TEXHEADV2_0_G_DATA_TYPE_NUM_FLOAT                   0x00000007
336 #define NVA097_TEXHEADV2_0_B_DATA_TYPE                             14:12
337 #define NVA097_TEXHEADV2_0_B_DATA_TYPE_NUM_SNORM                   0x00000001
338 #define NVA097_TEXHEADV2_0_B_DATA_TYPE_NUM_UNORM                   0x00000002
339 #define NVA097_TEXHEADV2_0_B_DATA_TYPE_NUM_SINT                    0x00000003
340 #define NVA097_TEXHEADV2_0_B_DATA_TYPE_NUM_UINT                    0x00000004
341 #define NVA097_TEXHEADV2_0_B_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
342 #define NVA097_TEXHEADV2_0_B_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
343 #define NVA097_TEXHEADV2_0_B_DATA_TYPE_NUM_FLOAT                   0x00000007
344 #define NVA097_TEXHEADV2_0_A_DATA_TYPE                             17:15
345 #define NVA097_TEXHEADV2_0_A_DATA_TYPE_NUM_SNORM                   0x00000001
346 #define NVA097_TEXHEADV2_0_A_DATA_TYPE_NUM_UNORM                   0x00000002
347 #define NVA097_TEXHEADV2_0_A_DATA_TYPE_NUM_SINT                    0x00000003
348 #define NVA097_TEXHEADV2_0_A_DATA_TYPE_NUM_UINT                    0x00000004
349 #define NVA097_TEXHEADV2_0_A_DATA_TYPE_NUM_SNORM_FORCE_FP16        0x00000005
350 #define NVA097_TEXHEADV2_0_A_DATA_TYPE_NUM_UNORM_FORCE_FP16        0x00000006
351 #define NVA097_TEXHEADV2_0_A_DATA_TYPE_NUM_FLOAT                   0x00000007
352 #define NVA097_TEXHEADV2_0_X_SOURCE                                20:18
353 #define NVA097_TEXHEADV2_0_X_SOURCE_IN_ZERO                        0x00000000
354 #define NVA097_TEXHEADV2_0_X_SOURCE_IN_R                           0x00000002
355 #define NVA097_TEXHEADV2_0_X_SOURCE_IN_G                           0x00000003
356 #define NVA097_TEXHEADV2_0_X_SOURCE_IN_B                           0x00000004
357 #define NVA097_TEXHEADV2_0_X_SOURCE_IN_A                           0x00000005
358 #define NVA097_TEXHEADV2_0_X_SOURCE_IN_ONE_INT                     0x00000006
359 #define NVA097_TEXHEADV2_0_X_SOURCE_IN_ONE_FLOAT                   0x00000007
360 #define NVA097_TEXHEADV2_0_Y_SOURCE                                23:21
361 #define NVA097_TEXHEADV2_0_Y_SOURCE_IN_ZERO                        0x00000000
362 #define NVA097_TEXHEADV2_0_Y_SOURCE_IN_R                           0x00000002
363 #define NVA097_TEXHEADV2_0_Y_SOURCE_IN_G                           0x00000003
364 #define NVA097_TEXHEADV2_0_Y_SOURCE_IN_B                           0x00000004
365 #define NVA097_TEXHEADV2_0_Y_SOURCE_IN_A                           0x00000005
366 #define NVA097_TEXHEADV2_0_Y_SOURCE_IN_ONE_INT                     0x00000006
367 #define NVA097_TEXHEADV2_0_Y_SOURCE_IN_ONE_FLOAT                   0x00000007
368 #define NVA097_TEXHEADV2_0_Z_SOURCE                                26:24
369 #define NVA097_TEXHEADV2_0_Z_SOURCE_IN_ZERO                        0x00000000
370 #define NVA097_TEXHEADV2_0_Z_SOURCE_IN_R                           0x00000002
371 #define NVA097_TEXHEADV2_0_Z_SOURCE_IN_G                           0x00000003
372 #define NVA097_TEXHEADV2_0_Z_SOURCE_IN_B                           0x00000004
373 #define NVA097_TEXHEADV2_0_Z_SOURCE_IN_A                           0x00000005
374 #define NVA097_TEXHEADV2_0_Z_SOURCE_IN_ONE_INT                     0x00000006
375 #define NVA097_TEXHEADV2_0_Z_SOURCE_IN_ONE_FLOAT                   0x00000007
376 #define NVA097_TEXHEADV2_0_W_SOURCE                                29:27
377 #define NVA097_TEXHEADV2_0_W_SOURCE_IN_ZERO                        0x00000000
378 #define NVA097_TEXHEADV2_0_W_SOURCE_IN_R                           0x00000002
379 #define NVA097_TEXHEADV2_0_W_SOURCE_IN_G                           0x00000003
380 #define NVA097_TEXHEADV2_0_W_SOURCE_IN_B                           0x00000004
381 #define NVA097_TEXHEADV2_0_W_SOURCE_IN_A                           0x00000005
382 #define NVA097_TEXHEADV2_0_W_SOURCE_IN_ONE_INT                     0x00000006
383 #define NVA097_TEXHEADV2_0_W_SOURCE_IN_ONE_FLOAT                   0x00000007
384 #define NVA097_TEXHEADV2_0_PACK_COMPONENTS                         30:30
385 #define NVA097_TEXHEADV2_0_RESERVED4                               31:31
386 #define NVA097_TEXHEADV2_1_OFFSET_LOWER                            31:0
387 #define NVA097_TEXHEADV2_2_OFFSET_UPPER                            7:0
388 #define NVA097_TEXHEADV2_2_ANISO_SPREAD_MAX_LOG2_L_S_B             9:8
389 #define NVA097_TEXHEADV2_2_S_R_G_B_CONVERSION                      10:10
390 #define NVA097_TEXHEADV2_2_ANISO_SPREAD_MAX_LOG2_M_S_B             11:11
391 #define NVA097_TEXHEADV2_2_LOD_ANISO_QUALITY2                      12:12
392 #define NVA097_TEXHEADV2_2_COLOR_KEY_OP                            13:13
393 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE                            17:14
394 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_ONE_D                      0x00000000
395 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_TWO_D                      0x00000001
396 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_THREE_D                    0x00000002
397 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_CUBEMAP                    0x00000003
398 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_ONE_D_ARRAY                0x00000004
399 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_TWO_D_ARRAY                0x00000005
400 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_ONE_D_BUFFER               0x00000006
401 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_TWO_D_NO_MIPMAP            0x00000007
402 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_CUBEMAP_ARRAY              0x00000008
403 #define NVA097_TEXHEADV2_2_TEXTURE_TYPE_TT_BIT_FIELD_SIZE          0x0000000f
404 #define NVA097_TEXHEADV2_2_MEMORY_LAYOUT                           18:18
405 #define NVA097_TEXHEADV2_2_MEMORY_LAYOUT_BLOCKLINEAR               0x00000000
406 #define NVA097_TEXHEADV2_2_MEMORY_LAYOUT_PITCH                     0x00000001
407 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_WIDTH                    21:19
408 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_WIDTH_ONE_GOB            0x00000000
409 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT                   24:22
410 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_ONE_GOB           0x00000000
411 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_TWO_GOBS          0x00000001
412 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_FOUR_GOBS         0x00000002
413 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_EIGHT_GOBS        0x00000003
414 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_SIXTEEN_GOBS      0x00000004
415 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_HEIGHT_THIRTYTWO_GOBS    0x00000005
416 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH                    27:25
417 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_ONE_GOB            0x00000000
418 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_TWO_GOBS           0x00000001
419 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_FOUR_GOBS          0x00000002
420 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_EIGHT_GOBS         0x00000003
421 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_SIXTEEN_GOBS       0x00000004
422 #define NVA097_TEXHEADV2_2_GOBS_PER_BLOCK_DEPTH_THIRTYTWO_GOBS     0x00000005
423 #define NVA097_TEXHEADV2_2_SECTOR_PROMOTION                        29:28
424 #define NVA097_TEXHEADV2_2_SECTOR_PROMOTION_NO_PROMOTION           0x00000000
425 #define NVA097_TEXHEADV2_2_SECTOR_PROMOTION_PROMOTE_TO_2_V         0x00000001
426 #define NVA097_TEXHEADV2_2_SECTOR_PROMOTION_PROMOTE_TO_2_H         0x00000002
427 #define NVA097_TEXHEADV2_2_SECTOR_PROMOTION_PROMOTE_TO_4           0x00000003
428 #define NVA097_TEXHEADV2_2_BORDER_SOURCE                           30:30
429 #define NVA097_TEXHEADV2_2_BORDER_SOURCE_BORDER_TEXTURE            0x00000000
430 #define NVA097_TEXHEADV2_2_BORDER_SOURCE_BORDER_COLOR              0x00000001
431 #define NVA097_TEXHEADV2_2_NORMALIZED_COORDS                       31:31
432 #define NVA097_TEXHEADV2_3_PITCH                                   19:0
433 #define NVA097_TEXHEADV2_3_LOD_ANISO_QUALITY                       20:20
434 #define NVA097_TEXHEADV2_3_LOD_ANISO_QUALITY_LOD_QUALITY_LOW       0x00000000
435 #define NVA097_TEXHEADV2_3_LOD_ANISO_QUALITY_LOD_QUALITY_HIGH      0x00000001
436 #define NVA097_TEXHEADV2_3_LOD_ISO_QUALITY                         21:21
437 #define NVA097_TEXHEADV2_3_LOD_ISO_QUALITY_LOD_QUALITY_LOW         0x00000000
438 #define NVA097_TEXHEADV2_3_LOD_ISO_QUALITY_LOD_QUALITY_HIGH        0x00000001
439 #define NVA097_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER            23:22
440 #define NVA097_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
441 #define NVA097_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
442 #define NVA097_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
443 #define NVA097_TEXHEADV2_3_ANISO_COARSE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
444 #define NVA097_TEXHEADV2_3_ANISO_SPREAD_SCALE                      28:24
445 #define NVA097_TEXHEADV2_3_USE_HEADER_OPT_CONTROL                  29:29
446 #define NVA097_TEXHEADV2_3_RESERVED3A                              30:30
447 #define NVA097_TEXHEADV2_3_RESERVED3B                              31:31
448 #define NVA097_TEXHEADV2_4_WIDTH                                   29:0
449 #define NVA097_TEXHEADV2_4_DEPTH_TEXTURE                           30:30
450 #define NVA097_TEXHEADV2_4_USE_TEXTURE_HEADER_VERSION2             31:31
451 #define NVA097_TEXHEADV2_5_HEIGHT                                  15:0
452 #define NVA097_TEXHEADV2_5_DEPTH                                   27:16
453 #define NVA097_TEXHEADV2_5_MAX_MIP_LEVEL                           31:28
454 #define NVA097_TEXHEADV2_6_TRILIN_OPT                              4:0
455 #define NVA097_TEXHEADV2_6_MIP_LOD_BIAS                            17:5
456 #define NVA097_TEXHEADV2_6_RESERVED6A                              18:18
457 #define NVA097_TEXHEADV2_6_ANISO_BIAS                              22:19
458 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC                  24:23
459 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_HALF 0x00000000
460 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_ONE  0x00000001
461 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_TWO  0x00000002
462 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_FUNC_SPREAD_FUNC_MAX  0x00000003
463 #define NVA097_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC                26:25
464 #define NVA097_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_HALF 0x00000000
465 #define NVA097_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_ONE 0x00000001
466 #define NVA097_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_TWO 0x00000002
467 #define NVA097_TEXHEADV2_6_ANISO_COARSE_SPREAD_FUNC_SPREAD_FUNC_MAX 0x00000003
468 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY                          29:27
469 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_1_TO_1             0x00000000
470 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_2_TO_1             0x00000001
471 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_4_TO_1             0x00000002
472 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_6_TO_1             0x00000003
473 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_8_TO_1             0x00000004
474 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_10_TO_1            0x00000005
475 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_12_TO_1            0x00000006
476 #define NVA097_TEXHEADV2_6_MAX_ANISOTROPY_ANISO_16_TO_1            0x00000007
477 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER              31:30
478 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_NONE 0x00000000
479 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_ONE 0x00000001
480 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_CONST_TWO 0x00000002
481 #define NVA097_TEXHEADV2_6_ANISO_FINE_SPREAD_MODIFIER_SPREAD_MODIFIER_SQRT 0x00000003
482 #define NVA097_TEXHEADV2_7_RES_VIEW_MIN_MIP_LEVEL                  3:0
483 #define NVA097_TEXHEADV2_7_RES_VIEW_MAX_MIP_LEVEL                  7:4
484 #define NVA097_TEXHEADV2_7_HEIGHT_MSB                              8:8
485 #define NVA097_TEXHEADV2_7_HEIGHT_MSB_RESERVED                     11:9
486 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT                      15:12
487 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_1X1             0x00000000
488 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X1             0x00000001
489 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2             0x00000002
490 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2             0x00000003
491 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_D3D         0x00000004
492 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X1_D3D         0x00000005
493 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X4             0x00000006
494 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2_VC_4        0x00000008
495 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2_VC_12       0x00000009
496 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_VC_8        0x0000000a
497 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_VC_24       0x0000000b
498 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X1_CENTER      0x0000000c
499 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_2X2_CENTER      0x0000000d
500 #define NVA097_TEXHEADV2_7_MULTI_SAMPLE_COUNT_MODE_4X2_CENTER      0x0000000e
501 #define NVA097_TEXHEADV2_7_MIN_LOD_CLAMP                           27:16
502 #define NVA097_TEXHEADV2_7_DEPTH_MSB                               30:28
503 #define NVA097_TEXHEADV2_7_RESERVED7A                              31:31
504 
505 
506 /*
507 ** Texture Sampler State
508  */
509 
510 #define NVA097_TEXSAMP0_ADDRESS_U                                  2:0
511 #define NVA097_TEXSAMP0_ADDRESS_U_WRAP                             0x00000000
512 #define NVA097_TEXSAMP0_ADDRESS_U_MIRROR                           0x00000001
513 #define NVA097_TEXSAMP0_ADDRESS_U_CLAMP_TO_EDGE                    0x00000002
514 #define NVA097_TEXSAMP0_ADDRESS_U_BORDER                           0x00000003
515 #define NVA097_TEXSAMP0_ADDRESS_U_CLAMP_OGL                        0x00000004
516 #define NVA097_TEXSAMP0_ADDRESS_U_MIRROR_ONCE_CLAMP_TO_EDGE        0x00000005
517 #define NVA097_TEXSAMP0_ADDRESS_U_MIRROR_ONCE_BORDER               0x00000006
518 #define NVA097_TEXSAMP0_ADDRESS_U_MIRROR_ONCE_CLAMP_OGL            0x00000007
519 #define NVA097_TEXSAMP0_ADDRESS_V                                  5:3
520 #define NVA097_TEXSAMP0_ADDRESS_V_WRAP                             0x00000000
521 #define NVA097_TEXSAMP0_ADDRESS_V_MIRROR                           0x00000001
522 #define NVA097_TEXSAMP0_ADDRESS_V_CLAMP_TO_EDGE                    0x00000002
523 #define NVA097_TEXSAMP0_ADDRESS_V_BORDER                           0x00000003
524 #define NVA097_TEXSAMP0_ADDRESS_V_CLAMP_OGL                        0x00000004
525 #define NVA097_TEXSAMP0_ADDRESS_V_MIRROR_ONCE_CLAMP_TO_EDGE        0x00000005
526 #define NVA097_TEXSAMP0_ADDRESS_V_MIRROR_ONCE_BORDER               0x00000006
527 #define NVA097_TEXSAMP0_ADDRESS_V_MIRROR_ONCE_CLAMP_OGL            0x00000007
528 #define NVA097_TEXSAMP0_ADDRESS_P                                  8:6
529 #define NVA097_TEXSAMP0_ADDRESS_P_WRAP                             0x00000000
530 #define NVA097_TEXSAMP0_ADDRESS_P_MIRROR                           0x00000001
531 #define NVA097_TEXSAMP0_ADDRESS_P_CLAMP_TO_EDGE                    0x00000002
532 #define NVA097_TEXSAMP0_ADDRESS_P_BORDER                           0x00000003
533 #define NVA097_TEXSAMP0_ADDRESS_P_CLAMP_OGL                        0x00000004
534 #define NVA097_TEXSAMP0_ADDRESS_P_MIRROR_ONCE_CLAMP_TO_EDGE        0x00000005
535 #define NVA097_TEXSAMP0_ADDRESS_P_MIRROR_ONCE_BORDER               0x00000006
536 #define NVA097_TEXSAMP0_ADDRESS_P_MIRROR_ONCE_CLAMP_OGL            0x00000007
537 #define NVA097_TEXSAMP0_DEPTH_COMPARE                              9:9
538 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC                         12:10
539 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_NEVER                0x00000000
540 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_LESS                 0x00000001
541 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_EQUAL                0x00000002
542 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_LEQUAL               0x00000003
543 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_GREATER              0x00000004
544 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_NOTEQUAL             0x00000005
545 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_GEQUAL               0x00000006
546 #define NVA097_TEXSAMP0_DEPTH_COMPARE_FUNC_ZC_ALWAYS               0x00000007
547 #define NVA097_TEXSAMP0_S_R_G_B_CONVERSION                         13:13
548 #define NVA097_TEXSAMP0_RESERVED0A                                 16:14
549 #define NVA097_TEXSAMP0_RESERVED0B                                 19:17
550 #define NVA097_TEXSAMP0_MAX_ANISOTROPY                             22:20
551 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_1_TO_1                0x00000000
552 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_2_TO_1                0x00000001
553 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_4_TO_1                0x00000002
554 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_6_TO_1                0x00000003
555 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_8_TO_1                0x00000004
556 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_10_TO_1               0x00000005
557 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_12_TO_1               0x00000006
558 #define NVA097_TEXSAMP0_MAX_ANISOTROPY_ANISO_16_TO_1               0x00000007
559 #define NVA097_TEXSAMP1_MAG_FILTER                                 2:0
560 #define NVA097_TEXSAMP1_MAG_FILTER_MAG_POINT                       0x00000001
561 #define NVA097_TEXSAMP1_MAG_FILTER_MAG_LINEAR                      0x00000002
562 #define NVA097_TEXSAMP1_MAG_FILTER_VCAA_4_TAP                      0x00000003
563 #define NVA097_TEXSAMP1_MAG_FILTER_VCAA_8_TAP                      0x00000004
564 #define NVA097_TEXSAMP1_MIN_LOD_CLAMP_BEHAVIOR_FOR_NEAREST_MIP     3:3
565 #define NVA097_TEXSAMP1_MIN_LOD_CLAMP_BEHAVIOR_FOR_NEAREST_MIP_INTEGER_AND_FRACTION 0x00000000
566 #define NVA097_TEXSAMP1_MIN_LOD_CLAMP_BEHAVIOR_FOR_NEAREST_MIP_INTEGER_ONLY 0x00000001
567 #define NVA097_TEXSAMP1_MIN_FILTER                                 5:4
568 #define NVA097_TEXSAMP1_MIN_FILTER_MIN_POINT                       0x00000001
569 #define NVA097_TEXSAMP1_MIN_FILTER_MIN_LINEAR                      0x00000002
570 #define NVA097_TEXSAMP1_MIN_FILTER_MIN_ANISO                       0x00000003
571 #define NVA097_TEXSAMP1_MIP_FILTER                                 7:6
572 #define NVA097_TEXSAMP1_MIP_FILTER_MIP_NONE                        0x00000001
573 #define NVA097_TEXSAMP1_MIP_FILTER_MIP_POINT                       0x00000002
574 #define NVA097_TEXSAMP1_MIP_FILTER_MIP_LINEAR                      0x00000003
575 #define NVA097_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING                9:8
576 #define NVA097_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_USE_WRAP       0x00000000
577 #define NVA097_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_OVERRIDE_WRAP  0x00000001
578 #define NVA097_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_AUTO_SPAN_SEAM 0x00000002
579 #define NVA097_TEXSAMP1_CUBEMAP_INTERFACE_FILTERING_AUTO_CROSS_SEAM 0x00000003
580 #define NVA097_TEXSAMP1_MIP_LOD_BIAS                               24:12
581 #define NVA097_TEXSAMP1_FLOAT_COORD_NORMALIZATION                  25:25
582 #define NVA097_TEXSAMP1_FLOAT_COORD_NORMALIZATION_USE_HEADER_SETTING 0x00000000
583 #define NVA097_TEXSAMP1_FLOAT_COORD_NORMALIZATION_FORCE_UNNORMALIZED_COORDS 0x00000001
584 #define NVA097_TEXSAMP1_TRILIN_OPT                                 30:26
585 #define NVA097_TEXSAMP2_MIN_LOD_CLAMP                              11:0
586 #define NVA097_TEXSAMP2_MAX_LOD_CLAMP                              23:12
587 #define NVA097_TEXSAMP2_S_R_G_B_BORDER_COLOR_R                     31:24
588 #define NVA097_TEXSAMP3_RESERVED12                                 11:0
589 #define NVA097_TEXSAMP3_S_R_G_B_BORDER_COLOR_G                     19:12
590 #define NVA097_TEXSAMP3_S_R_G_B_BORDER_COLOR_B                     27:20
591 #define NVA097_TEXSAMP4_BORDER_COLOR_R                             31:0
592 #define NVA097_TEXSAMP5_BORDER_COLOR_G                             31:0
593 #define NVA097_TEXSAMP6_BORDER_COLOR_B                             31:0
594 #define NVA097_TEXSAMP7_BORDER_COLOR_A                             31:0
595 
596 
597 
598 #endif // #ifndef __CLA097TEX_H__
599