1 /*========================== begin_copyright_notice ============================
2 
3 Copyright (C) 2017-2021 Intel Corporation
4 
5 SPDX-License-Identifier: MIT
6 
7 ============================= end_copyright_notice ===========================*/
8 
9 #pragma once
10 
11 #include "cmd_enum_g8.h"
12 
13 namespace G6HWC
14 {
15 
16 /*****************************************************************************\
17 CONST: Caps
18 \*****************************************************************************/
19 const DWORD g_cNumSamplersPerProgram    = 16;
20 const DWORD g_cNumSurfacesPerProgram    = 252;
21 const DWORD g_cNumSearchPathStatesGen6  = 14;
22 const DWORD g_cNumMBModeSetsGen6        = 4;
23 
24 /*****************************************************************************\
25 ENUM: GFXSHAREDSTATE_ANISORATIO
26 \*****************************************************************************/
27 enum GFXSHAREDSTATE_ANISORATIO
28 {
29     GFXSHAREDSTATE_ANISORATIO_2     = 0x0,
30     GFXSHAREDSTATE_ANISORATIO_4     = 0x1,
31     GFXSHAREDSTATE_ANISORATIO_6     = 0x2,
32     GFXSHAREDSTATE_ANISORATIO_8     = 0x3,
33     GFXSHAREDSTATE_ANISORATIO_10    = 0x4,
34     GFXSHAREDSTATE_ANISORATIO_12    = 0x5,
35     GFXSHAREDSTATE_ANISORATIO_14    = 0x6,
36     GFXSHAREDSTATE_ANISORATIO_16    = 0x7
37 };
38 
39 /*****************************************************************************\
40 ENUM: GFXSHAREDSTATE_CHROMAKEY_MODE
41 \*****************************************************************************/
42 enum GFXSHAREDSTATE_CHROMAKEY_MODE
43 {
44     GFXSHAREDSTATE_CHROMAKEY_KILL_ON_ANY_MATCH  = 0x0,
45     GFXSHAREDSTATE_CHROMAKEY_REPLACE_BLACK      = 0x1
46 };
47 
48 /*****************************************************************************\
49 ENUM: GFXSHAREDSTATE_CUBECORNERMODE
50 \*****************************************************************************/
51 enum GFXSHAREDSTATE_CUBECORNERMODE
52 {
53     GFXSHAREDSTATE_CUBECORNERMODE_REPLICATE = 0x0,
54     GFXSHAREDSTATE_CUBECORNERMODE_AVERAGE   = 0x1
55 };
56 
57 /*****************************************************************************\
58 ENUM: GFXSHAREDSTATE_CUBESURFACECONTROLMODE
59 \*****************************************************************************/
60 enum GFXSHAREDSTATE_CUBESURFACECONTROLMODE
61 {
62     GFXSHAREDSTATE_CUBESURFACECONTROLMODE_PROGRAMMED    = 0x0,
63     GFXSHAREDSTATE_CUBESURFACECONTROLMODE_OVERRIDE      = 0x1
64 };
65 
66 /*****************************************************************************\
67 ENUM: GFXSHAREDSTATE_DEFAULTCOLOR_MODE
68 \*****************************************************************************/
69 enum GFXSHAREDSTATE_DEFAULTCOLOR_MODE
70 {
71     GFXSHAREDSTATE_DEFAULTCOLOR_R32G32B32A32_FLOAT  = 0,
72     GFXSHAREDSTATE_DEFAULTCOLOR_R8G8B8A8_UNORM      = 1
73 };
74 
75 /*****************************************************************************\
76 ENUM: GFXSHAREDSTATE_MAPFILTER
77 \*****************************************************************************/
78 enum GFXSHAREDSTATE_MAPFILTER
79 {
80     GFXSHAREDSTATE_MAPFILTER_NEAREST        = 0x0,
81     GFXSHAREDSTATE_MAPFILTER_LINEAR         = 0x1,
82     GFXSHAREDSTATE_MAPFILTER_ANISOTROPIC    = 0x2,
83     //GFXSHAREDSTATE_MAPFILTER_RESERVED = 0x3,
84     //GFXSHAREDSTATE_MAPFILTER_RESERVED = 0x4,
85     //GFXSHAREDSTATE_MAPFILTER_RESERVED = 0x5,
86     GFXSHAREDSTATE_MAPFILTER_MONO           = 0x6
87 };
88 
89 /*****************************************************************************\
90 ENUM: GFXSHAREDSTATE_MIPFILTER
91 \*****************************************************************************/
92 enum GFXSHAREDSTATE_MIPFILTER
93 {
94     GFXSHAREDSTATE_MIPFILTER_NONE       = 0x0,
95     GFXSHAREDSTATE_MIPFILTER_NEAREST    = 0x1,
96     GFXSHAREDSTATE_MIPFILTER_LINEAR     = 0x3
97 };
98 /*****************************************************************************\
99 ENUM: GFXSHAREDSTATE_PREFILTER_OPERATION
100 \*****************************************************************************/
101 enum GFXSHAREDSTATE_PREFILTER_OPERATION
102 {
103     GFXSHAREDSTATE_PREFILTER_ALWAYS     = 0x0,
104     GFXSHAREDSTATE_PREFILTER_NEVER      = 0x1,
105     GFXSHAREDSTATE_PREFILTER_LESS       = 0x2,
106     GFXSHAREDSTATE_PREFILTER_EQUAL      = 0x3,
107     GFXSHAREDSTATE_PREFILTER_LEQUAL     = 0x4,
108     GFXSHAREDSTATE_PREFILTER_GREATER    = 0x5,
109     GFXSHAREDSTATE_PREFILTER_NOTEQUAL   = 0x6,
110     GFXSHAREDSTATE_PREFILTER_GEQUAL     = 0x7
111 };
112 /*****************************************************************************\
113 ENUM: GFXSHAREDSTATE_RENDERTARGET_ROTATE
114 \*****************************************************************************/
115 enum GFXSHAREDSTATE_RENDERTARGET_ROTATE
116 {
117     GFXSHAREDSTATE_RENDERTARGET_ROTATE_0DEG     = 0,
118     GFXSHAREDSTATE_RENDERTARGET_ROTATE_90DEG    = 1,
119     GFXSHAREDSTATE_RENDERTARGET_ROTATE_270DEG   = 3
120 };
121 
122 /*****************************************************************************\
123 ENUM: GFXSHAREDSTATE_SURFACE_MIPMAPLAYOUT
124 \*****************************************************************************/
125 enum GFXSHAREDSTATE_SURFACE_MIPMAPLAYOUT
126 {
127     GFXSHAREDSTATE_SURFACE_MIPMAPLAYOUT_BELOW   = 0x0,
128     GFXSHAREDSTATE_SURFACE_MIPMAPLAYOUT_RIGHT   = 0x1
129 };
130 /*****************************************************************************\
131 ENUM: GFXSHAREDSTATE_SURFACEFORMAT
132 \*****************************************************************************/
133 enum GFXSHAREDSTATE_SURFACEFORMAT
134 {
135     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32A32_FLOAT             = 0x000,
136     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32A32_SINT              = 0x001,
137     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32A32_UINT              = 0x002,
138     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32A32_UNORM             = 0x003,
139     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32A32_SNORM             = 0x004,
140     GFXSHAREDSTATE_SURFACEFORMAT_R64G64_FLOAT                   = 0x005,
141     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32X32_FLOAT             = 0x006,
142     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32A32_SSCALED           = 0x007,
143     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32A32_USCALED           = 0x008,
144     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32_FLOAT                = 0x040,
145     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32_SINT                 = 0x041,
146     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32_UINT                 = 0x042,
147     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32_UNORM                = 0x043,
148     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32_SNORM                = 0x044,
149     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32_SSCALED              = 0x045,
150     GFXSHAREDSTATE_SURFACEFORMAT_R32G32B32_USCALED              = 0x046,
151     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16A16_UNORM             = 0x080,
152     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16A16_SNORM             = 0x081,
153     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16A16_SINT              = 0x082,
154     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16A16_UINT              = 0x083,
155     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16A16_FLOAT             = 0x084,
156     GFXSHAREDSTATE_SURFACEFORMAT_R32G32_FLOAT                   = 0x085,
157     GFXSHAREDSTATE_SURFACEFORMAT_R32G32_SINT                    = 0x086,
158     GFXSHAREDSTATE_SURFACEFORMAT_R32G32_UINT                    = 0x087,
159     GFXSHAREDSTATE_SURFACEFORMAT_R32_FLOAT_X8X24_TYPELESS       = 0x088,
160     GFXSHAREDSTATE_SURFACEFORMAT_X32_TYPELESS_G8X24_UINT        = 0x089,
161     GFXSHAREDSTATE_SURFACEFORMAT_L32A32_FLOAT                   = 0x08A,
162     GFXSHAREDSTATE_SURFACEFORMAT_R32G32_UNORM                   = 0x08B,
163     GFXSHAREDSTATE_SURFACEFORMAT_R32G32_SNORM                   = 0x08C,
164     GFXSHAREDSTATE_SURFACEFORMAT_R64_FLOAT                      = 0x08D,
165     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16X16_UNORM             = 0x08E,
166     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16X16_FLOAT             = 0x08F,
167     GFXSHAREDSTATE_SURFACEFORMAT_A32X32_FLOAT                   = 0x090,
168     GFXSHAREDSTATE_SURFACEFORMAT_L32X32_FLOAT                   = 0x091,
169     GFXSHAREDSTATE_SURFACEFORMAT_I32X32_FLOAT                   = 0x092,
170     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16A16_SSCALED           = 0x093,
171     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16A16_USCALED           = 0x094,
172     GFXSHAREDSTATE_SURFACEFORMAT_R32G32_SSCALED                 = 0x095,
173     GFXSHAREDSTATE_SURFACEFORMAT_R32G32_USCALED                 = 0x096,
174     GFXSHAREDSTATE_SURFACEFORMAT_B8G8R8A8_UNORM                 = 0x0C0,
175     GFXSHAREDSTATE_SURFACEFORMAT_B8G8R8A8_UNORM_SRGB            = 0x0C1,
176     GFXSHAREDSTATE_SURFACEFORMAT_R10G10B10A2_UNORM              = 0x0C2,
177     GFXSHAREDSTATE_SURFACEFORMAT_R10G10B10A2_UNORM_SRGB         = 0x0C3,
178     GFXSHAREDSTATE_SURFACEFORMAT_R10G10B10A2_UINT               = 0x0C4,
179     GFXSHAREDSTATE_SURFACEFORMAT_R10G10B10_SNORM_A2_UNORM       = 0x0C5,
180     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8A8_UNORM                 = 0x0C7,
181     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8A8_UNORM_SRGB            = 0x0C8,
182     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8A8_SNORM                 = 0x0C9,
183     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8A8_SINT                  = 0x0CA,
184     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8A8_UINT                  = 0x0CB,
185     GFXSHAREDSTATE_SURFACEFORMAT_R16G16_UNORM                   = 0x0CC,
186     GFXSHAREDSTATE_SURFACEFORMAT_R16G16_SNORM                   = 0x0CD,
187     GFXSHAREDSTATE_SURFACEFORMAT_R16G16_SINT                    = 0x0CE,
188     GFXSHAREDSTATE_SURFACEFORMAT_R16G16_UINT                    = 0x0CF,
189     GFXSHAREDSTATE_SURFACEFORMAT_R16G16_FLOAT                   = 0x0D0,
190     GFXSHAREDSTATE_SURFACEFORMAT_B10G10R10A2_UNORM              = 0x0D1,
191     GFXSHAREDSTATE_SURFACEFORMAT_B10G10R10A2_UNORM_SRGB         = 0x0D2,
192     GFXSHAREDSTATE_SURFACEFORMAT_R11G11B10_FLOAT                = 0x0D3,
193     GFXSHAREDSTATE_SURFACEFORMAT_R32_SINT                       = 0x0D6,
194     GFXSHAREDSTATE_SURFACEFORMAT_R32_UINT                       = 0x0D7,
195     GFXSHAREDSTATE_SURFACEFORMAT_R32_FLOAT                      = 0x0D8,
196     GFXSHAREDSTATE_SURFACEFORMAT_R24_UNORM_X8_TYPELESS          = 0x0D9,
197     GFXSHAREDSTATE_SURFACEFORMAT_X24_TYPELESS_G8_UINT           = 0x0DA,
198     GFXSHAREDSTATE_SURFACEFORMAT_L16A16_UNORM                   = 0x0DF,
199     GFXSHAREDSTATE_SURFACEFORMAT_I24X8_UNORM                    = 0x0E0,
200     GFXSHAREDSTATE_SURFACEFORMAT_L24X8_UNORM                    = 0x0E1,
201     GFXSHAREDSTATE_SURFACEFORMAT_A24X8_UNORM                    = 0x0E2,
202     GFXSHAREDSTATE_SURFACEFORMAT_I32_FLOAT                      = 0x0E3,
203     GFXSHAREDSTATE_SURFACEFORMAT_L32_FLOAT                      = 0x0E4,
204     GFXSHAREDSTATE_SURFACEFORMAT_A32_FLOAT                      = 0x0E5,
205     GFXSHAREDSTATE_SURFACEFORMAT_B8G8R8X8_UNORM                 = 0x0E9,
206     GFXSHAREDSTATE_SURFACEFORMAT_B8G8R8X8_UNORM_SRGB            = 0x0EA,
207     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8X8_UNORM                 = 0x0EB,
208     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8X8_UNORM_SRGB            = 0x0EC,
209     GFXSHAREDSTATE_SURFACEFORMAT_R9G9B9E5_SHAREDEXP             = 0x0ED,
210     GFXSHAREDSTATE_SURFACEFORMAT_B10G10R10X2_UNORM              = 0x0EE,
211     GFXSHAREDSTATE_SURFACEFORMAT_L16A16_FLOAT                   = 0x0F0,
212     GFXSHAREDSTATE_SURFACEFORMAT_R32_UNORM                      = 0x0F1,
213     GFXSHAREDSTATE_SURFACEFORMAT_R32_SNORM                      = 0x0F2,
214     GFXSHAREDSTATE_SURFACEFORMAT_R10G10B10X2_USCALED            = 0x0F3,
215     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8A8_SSCALED               = 0x0F4,
216     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8A8_USCALED               = 0x0F5,
217     GFXSHAREDSTATE_SURFACEFORMAT_R16G16_SSCALED                 = 0x0F6,
218     GFXSHAREDSTATE_SURFACEFORMAT_R16G16_USCALED                 = 0x0F7,
219     GFXSHAREDSTATE_SURFACEFORMAT_R32_SSCALED                    = 0x0F8,
220     GFXSHAREDSTATE_SURFACEFORMAT_R32_USCALED                    = 0x0F9,
221     GFXSHAREDSTATE_SURFACEFORMAT_R8B8G8A8_UNORM                 = 0x0FA,
222     GFXSHAREDSTATE_SURFACEFORMAT_B5G6R5_UNORM                   = 0x100,
223     GFXSHAREDSTATE_SURFACEFORMAT_B5G6R5_UNORM_SRGB              = 0x101,
224     GFXSHAREDSTATE_SURFACEFORMAT_B5G5R5A1_UNORM                 = 0x102,
225     GFXSHAREDSTATE_SURFACEFORMAT_B5G5R5A1_UNORM_SRGB            = 0x103,
226     GFXSHAREDSTATE_SURFACEFORMAT_B4G4R4A4_UNORM                 = 0x104,
227     GFXSHAREDSTATE_SURFACEFORMAT_B4G4R4A4_UNORM_SRGB            = 0x105,
228     GFXSHAREDSTATE_SURFACEFORMAT_R8G8_UNORM                     = 0x106,
229     GFXSHAREDSTATE_SURFACEFORMAT_R8G8_SNORM                     = 0x107,
230     GFXSHAREDSTATE_SURFACEFORMAT_R8G8_SINT                      = 0x108,
231     GFXSHAREDSTATE_SURFACEFORMAT_R8G8_UINT                      = 0x109,
232     GFXSHAREDSTATE_SURFACEFORMAT_R16_UNORM                      = 0x10A,
233     GFXSHAREDSTATE_SURFACEFORMAT_R16_SNORM                      = 0x10B,
234     GFXSHAREDSTATE_SURFACEFORMAT_R16_SINT                       = 0x10C,
235     GFXSHAREDSTATE_SURFACEFORMAT_R16_UINT                       = 0x10D,
236     GFXSHAREDSTATE_SURFACEFORMAT_R16_FLOAT                      = 0x10E,
237     GFXSHAREDSTATE_SURFACEFORMAT_I16_UNORM                      = 0x111,
238     GFXSHAREDSTATE_SURFACEFORMAT_L16_UNORM                      = 0x112,
239     GFXSHAREDSTATE_SURFACEFORMAT_A16_UNORM                      = 0x113,
240     GFXSHAREDSTATE_SURFACEFORMAT_L8A8_UNORM                     = 0x114,
241     GFXSHAREDSTATE_SURFACEFORMAT_I16_FLOAT                      = 0x115,
242     GFXSHAREDSTATE_SURFACEFORMAT_L16_FLOAT                      = 0x116,
243     GFXSHAREDSTATE_SURFACEFORMAT_A16_FLOAT                      = 0x117,
244     GFXSHAREDSTATE_SURFACEFORMAT_L8A8_UNORM_SRGB                = 0x118,
245     GFXSHAREDSTATE_SURFACEFORMAT_R5G5_SNORM_B6_UNORM            = 0x119,
246     GFXSHAREDSTATE_SURFACEFORMAT_B5G5R5X1_UNORM                 = 0x11A,
247     GFXSHAREDSTATE_SURFACEFORMAT_B5G5R5X1_UNORM_SRGB            = 0x11B,
248     GFXSHAREDSTATE_SURFACEFORMAT_R8G8_SSCALED                   = 0x11C,
249     GFXSHAREDSTATE_SURFACEFORMAT_R8G8_USCALED                   = 0x11D,
250     GFXSHAREDSTATE_SURFACEFORMAT_R16_SSCALED                    = 0x11E,
251     GFXSHAREDSTATE_SURFACEFORMAT_R16_USCALED                    = 0x11F,
252     GFXSHAREDSTATE_SURFACEFORMAT_R8_UNORM                       = 0x140,
253     GFXSHAREDSTATE_SURFACEFORMAT_R8_SNORM                       = 0x141,
254     GFXSHAREDSTATE_SURFACEFORMAT_R8_SINT                        = 0x142,
255     GFXSHAREDSTATE_SURFACEFORMAT_R8_UINT                        = 0x143,
256     GFXSHAREDSTATE_SURFACEFORMAT_A8_UNORM                       = 0x144,
257     GFXSHAREDSTATE_SURFACEFORMAT_I8_UNORM                       = 0x145,
258     GFXSHAREDSTATE_SURFACEFORMAT_L8_UNORM                       = 0x146,
259     GFXSHAREDSTATE_SURFACEFORMAT_P4A4_UNORM                     = 0x147,
260     GFXSHAREDSTATE_SURFACEFORMAT_A4P4_UNORM                     = 0x148,
261     GFXSHAREDSTATE_SURFACEFORMAT_R8_SSCALED                     = 0x149,
262     GFXSHAREDSTATE_SURFACEFORMAT_R8_USCALED                     = 0x14A,
263     GFXSHAREDSTATE_SURFACEFORMAT_P8_UNORM                       = 0x14B,
264     GFXSHAREDSTATE_SURFACEFORMAT_L8_UNORM_SRGB                  = 0x14C,
265     GFXSHAREDSTATE_SURFACEFORMAT_DXT1_RGB_SRGB                  = 0x180,
266     GFXSHAREDSTATE_SURFACEFORMAT_R1_UINT                        = 0x181,
267     GFXSHAREDSTATE_SURFACEFORMAT_YCRCB_NORMAL                   = 0x182,
268     GFXSHAREDSTATE_SURFACEFORMAT_YCRCB_SWAPUVY                  = 0x183,
269     GFXSHAREDSTATE_SURFACEFORMAT_P2_UNORM                       = 0x184,
270     GFXSHAREDSTATE_SURFACEFORMAT_BC1_UNORM                      = 0x186,
271     GFXSHAREDSTATE_SURFACEFORMAT_BC2_UNORM                      = 0x187,
272     GFXSHAREDSTATE_SURFACEFORMAT_BC3_UNORM                      = 0x188,
273     GFXSHAREDSTATE_SURFACEFORMAT_BC4_UNORM                      = 0x189,
274     GFXSHAREDSTATE_SURFACEFORMAT_BC5_UNORM                      = 0x18A,
275     GFXSHAREDSTATE_SURFACEFORMAT_BC1_UNORM_SRGB                 = 0x18B,
276     GFXSHAREDSTATE_SURFACEFORMAT_BC2_UNORM_SRGB                 = 0x18C,
277     GFXSHAREDSTATE_SURFACEFORMAT_BC3_UNORM_SRGB                 = 0x18D,
278     GFXSHAREDSTATE_SURFACEFORMAT_MONO8                          = 0x18E,
279     GFXSHAREDSTATE_SURFACEFORMAT_YCRCB_SWAPUV                   = 0x18F,
280     GFXSHAREDSTATE_SURFACEFORMAT_YCRCB_SWAPY                    = 0x190,
281     GFXSHAREDSTATE_SURFACEFORMAT_DXT1_RGB                       = 0x191,
282     GFXSHAREDSTATE_SURFACEFORMAT_FXT1                           = 0x192,
283     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8_UNORM                   = 0x193,
284     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8_SNORM                   = 0x194,
285     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8_SSCALED                 = 0x195,
286     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8_USCALED                 = 0x196,
287     GFXSHAREDSTATE_SURFACEFORMAT_R64G64B64A64_FLOAT             = 0x197,
288     GFXSHAREDSTATE_SURFACEFORMAT_R64G64B64_FLOAT                = 0x198,
289     GFXSHAREDSTATE_SURFACEFORMAT_BC4_SNORM                      = 0x199,
290     GFXSHAREDSTATE_SURFACEFORMAT_BC5_SNORM                      = 0x19A,
291     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16_UNORM                = 0x19C,
292     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16_SNORM                = 0x19D,
293     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16_SSCALED              = 0x19E,
294     GFXSHAREDSTATE_SURFACEFORMAT_R16G16B16_USCALED              = 0x19F,
295     GFXSHAREDSTATE_SURFACEFORMAT_R8G8B8_UNORM_SRGB              = 0x1A0,
296     GFXSHAREDSTATE_SURFACEFORMAT_BC6H_SF16                      = 0x1A1,
297     GFXSHAREDSTATE_SURFACEFORMAT_BC7_UNORM                      = 0x1A2,
298     GFXSHAREDSTATE_SURFACEFORMAT_BC7_UNORM_SRGB                 = 0x1A3,
299     GFXSHAREDSTATE_SURFACEFORMAT_BC6H_UF16                      = 0x1A4,
300     GFXSHAREDSTATE_SURFACEFORMAT_PLANAR_420_8                   = 0x1A5,
301     GFXSHAREDSTATE_SURFACEFORMAT_RAW                            = 0x1FF,
302     NUM_GFXSHAREDSTATE_SURFACEFORMATS
303 };
304 
305 /*****************************************************************************\
306 ENUM: GFXSHAREDSTATE_SURFACERETURNFORMAT
307 \*****************************************************************************/
308 enum GFXSHAREDSTATE_SURFACERETURNFORMAT
309 {
310     GFXSHAREDSTATE_SURFACERETURNFORMAT_FLOAT32  = 0x0,
311     GFXSHAREDSTATE_SURFACERETURNFORMAT_S1_14    = 0x1
312 };
313 
314 /*****************************************************************************\
315 ENUM: GFXSHAREDSTATE_SURFACETYPE
316 \*****************************************************************************/
317 enum GFXSHAREDSTATE_SURFACETYPE
318 {
319     GFXSHAREDSTATE_SURFACETYPE_1D       = 0x0,
320     GFXSHAREDSTATE_SURFACETYPE_2D       = 0x1,
321     GFXSHAREDSTATE_SURFACETYPE_3D       = 0x2,
322     GFXSHAREDSTATE_SURFACETYPE_CUBE     = 0x3,
323     GFXSHAREDSTATE_SURFACETYPE_BUFFER   = 0x4,
324     GFXSHAREDSTATE_SURFACETYPE_STRBUF   = 0x5,
325     //GFXSHAREDSTATE_RESERVED = 0x6,
326     GFXSHAREDSTATE_SURFACETYPE_NULL     = 0x7,
327 };
328 
329 /*****************************************************************************\
330 ENUM: GFXSHAREDSTATE_TEXCOORDMODE
331 \*****************************************************************************/
332 enum GFXSHAREDSTATE_TEXCOORDMODE
333 {
334     GFXSHAREDSTATE_TEXCOORDMODE_WRAP            = 0x0,
335     GFXSHAREDSTATE_TEXCOORDMODE_MIRROR          = 0x1,
336     GFXSHAREDSTATE_TEXCOORDMODE_CLAMP           = 0x2,
337     GFXSHAREDSTATE_TEXCOORDMODE_CUBE            = 0x3,
338     GFXSHAREDSTATE_TEXCOORDMODE_CLAMP_BORDER    = 0x4,
339     GFXSHAREDSTATE_TEXCOORDMODE_MIRROR_ONCE     = 0x5,
340     GFXSHAREDSTATE_TEXCOORDMODE_MIRROR_101      = 0x7
341 };
342 
343 /*****************************************************************************\
344 ENUM: GFXSHAREDSTATE_FLEXFILTERMODE
345 \*****************************************************************************/
346 enum GFXSHAREDSTATE_FLEXFILTERMODE
347 {
348     GFXSHAREDSTATE_FLEXFILTERMODE_SEP           = 0x0,
349     GFXSHAREDSTATE_FLEXFILTERMODE_NONSEP        = 0x1,
350 };
351 
352 /*****************************************************************************\
353 ENUM: GFXSHAREDSTATE_TILEWALK
354 \*****************************************************************************/
355 enum GFXSHAREDSTATE_TILEWALK
356 {
357     GFXSHAREDSTATE_TILEWALK_XMAJOR          = 0x0,
358     GFXSHAREDSTATE_TILEWALK_YMAJOR          = 0x1
359 };
360 
361 /*****************************************************************************\
362 ENUM: GFXSHAREDSTATE_TRILINEAR_QUALITY
363 \*****************************************************************************/
364 enum GFXSHAREDSTATE_TRILINEAR_QUALITY
365 {
366     GFXSHAREDSTATE_TRILINEAR_QUALITY_FULL   = 0x0,
367     GFXSHAREDSTATE_TRILINEAR_QUALITY_HIGH   = 0x1,
368     GFXSHAREDSTATE_TRILINEAR_QUALITY_MED    = 0x2,
369     GFXSHAREDSTATE_TRILINEAR_QUALITY_LOW    = 0x3
370 };
371 
372 /*****************************************************************************\
373 ENUM: GFXSHAREDSTATE_TEXTURE_BORDER_COLOR_MODE
374 \*****************************************************************************/
375 enum GFXSHAREDSTATE_TEXTURE_BORDER_COLOR_MODE
376 {
377     GFXSHAREDSTATE_TEXTURE_BORDER_COLOR_MODE_DX10OGL    = 0x0,
378     GFXSHAREDSTATE_TEXTURE_BORDER_COLOR_MODE_DX9        = 0x1
379 };
380 
381 /*****************************************************************************\
382 ENUM: GFXSHAREDSTATE_NUM_MULTISAMPLES
383 \*****************************************************************************/
384 enum GFXSHAREDSTATE_NUM_MULTISAMPLES
385 {
386     GFXSHAREDSTATE_NUMSAMPLES_1 = 0x0,
387     //GFXSHAREDSTATE_RESERVED = 0x1,
388     GFXSHAREDSTATE_NUMSAMPLES_4 = 0x2,
389     GFXSHAREDSTATE_NUMSAMPLES_8 = 0x3
390     //GFXSHAREDSTATE_RESERVED = 0x4,
391     //GFXSHAREDSTATE_RESERVED = 0x5,
392     //GFXSHAREDSTATE_RESERVED = 0x6,
393     //GFXSHAREDSTATE_RESERVED = 0x7
394 };
395 
396 /*****************************************************************************\
397 ENUM: GFXSHAREDSTATE_MSFMT
398 \*****************************************************************************/
399 enum GFXSHAREDSTATE_MSFMT
400 {
401     GFXSHAREDSTATE_MSFMT_MSS            = 0x0,
402     GFXSHAREDSTATE_MSFMT_DEPTH_STENCIL  = 0x1
403 };
404 
405 /*****************************************************************************\
406 ENUM: GFXSHAREDSTATE_CACHEABILITY_CONTROL
407 \*****************************************************************************/
408 enum GFXSHAREDSTATE_CACHEABILITY_CONTROL
409 {
410     GFXSHAREDSTATE_CACHEABILITY_CONTROL_USE_GTT_ENTRY       = 0x0,
411     GFXSHAREDSTATE_CACHEABILITY_CONTROL_NEITHER_LLC_NOR_MLC = 0x1,
412     GFXSHAREDSTATE_CACHEABILITY_CONTROL_LLC_NOT_MLC         = 0x2,
413     GFXSHAREDSTATE_CACHEABILITY_CONTROL_LLC_AND_MLC         = 0x3
414 };
415 
416 /*****************************************************************************\
417 ENUM: GFXSHAREDSTATE_GRAPHICS_DATATYPE_SOURCE
418 \*****************************************************************************/
419 enum GFXSHAREDSTATE_GRAPHICS_DATATYPE_SOURCE
420 {
421     GFXSHAREDSTATE_GRAPHICS_DATATYPE_SOURCE_GTT     = 0x0,
422     GFXSHAREDSTATE_GRAPHICS_DATATYPE_SOURCE_SURFACE = 0x1
423 };
424 
425 /*****************************************************************************\
426 ENUM: GFXSHAREDSTATE_MEDIA_BOUNDARY_PIXEL_MODE
427 \*****************************************************************************/
428 enum GFXSHAREDSTATE_MEDIA_BOUNDARY_PIXEL_MODE
429 {
430     GFXSHAREDSTATE_MEDIA_BOUNDARY_PIXEL_NORMAL              = 0x0,
431     //GFXSHAREDSTATE_RESERVED = 0x1,
432     GFXSHAREDSTATE_MEDIA_BOUNDARY_PIXEL_PROGRESSIVE_FRAME   = 0x2,
433     GFXSHAREDSTATE_MEDIA_BOUNDARY_PIXEL_INTERLACED_FRAME    = 0x3
434 };
435 
436 /*****************************************************************************\
437 ENUM: GFXSHAREDSTATE_RENDER_CACHE_READ_WRITE_MODE
438 \*****************************************************************************/
439 enum GFXSHAREDSTATE_RENDER_CACHE_READ_WRITE_MODE
440 {
441     GFXSHAREDSTATE_RENDER_CACHE_WRITE_ONLY_ON_MISS      = 0x0,
442     GFXSHAREDSTATE_RENDER_CACHE_READ_WRITE_ONLY_ON_MISS = 0x1
443 };
444 
445 /*****************************************************************************\
446 ENUM: GFXSHAREDSTATE_SURFACE_ARRAY_SPACING
447 \*****************************************************************************/
448 enum GFXSHAREDSTATE_SURFACE_ARRAY_SPACING
449 {
450     GFXSHAREDSTATE_SURFACE_ARRAY_SPACING_FULL   = 0x0,
451     GFXSHAREDSTATE_SURFACE_ARRAY_SPACING_LOD0   = 0x1
452 };
453 
454 /*****************************************************************************\
455 ENUM: GFXSHAREDSTATE_SURFACE_VERTICAL_ALIGNMENT
456 \*****************************************************************************/
457 enum GFXSHAREDSTATE_SURFACE_VERTICAL_ALIGNMENT
458 {
459     GFXSHAREDSTATE_SURFACE_VERTICAL_ALIGNMENT_2     = 0x0,
460     GFXSHAREDSTATE_SURFACE_VERTICAL_ALIGNMENT_4     = 0x1,
461     GFXSHAREDSTATE_SURFACE_VERTICAL_ALIGNMENT_8     = 0x2,
462     GFXSHAREDSTATE_SURFACE_VERTICAL_ALIGNMENT_16    = 0x3
463 };
464 
465 /*****************************************************************************\
466 ENUM: GFXSHAREDSTATE_SURFACE_HORIZONTAL_ALIGNMENT
467 \*****************************************************************************/
468 enum GFXSHAREDSTATE_SURFACE_HORIZONTRAL_ALIGNMENT
469 {
470     GFXSHAREDSTATE_SURFACE_HORIZONTAL_ALIGNMENT_2     = 0x0,
471     GFXSHAREDSTATE_SURFACE_HORIZONTAL_ALIGNMENT_4     = 0x1,
472     GFXSHAREDSTATE_SURFACE_HORIZONTAL_ALIGNMENT_8     = 0x2,
473     GFXSHAREDSTATE_SURFACE_HORIZONTAL_ALIGNMENT_16    = 0x3
474 };
475 
476 /*****************************************************************************\
477 ENUM: GFXSHAREDSTATE_RENDER_TARGET_ROTATION
478 \*****************************************************************************/
479 enum GFXSHAREDSTATE_RENDER_TARGET_ROTATION
480 {
481     GFXSHAREDSTATE_RROTATE_0DEG      = 0x0,
482     GFXSHAREDSTATE_RROTATE_90DEG     = 0x1,
483     GFXSHAREDSTATE_RROTATE_270DEG    = 0x3
484 };
485 
486 /*****************************************************************************\
487 ENUM: GFXSHAREDSTATE_L3_CACHEABILITY_CONTROL
488 \*****************************************************************************/
489 enum GFXSHAREDSTATE_L3_CACHEABILITY_CONTROL
490 {
491     GFXSHAREDSTATE_L3_CACHEABILITY_CONTROL_NOT_CACHEABLE    = 0x0,
492     GFXSHAREDSTATE_L3_CACHEABILITY_CONTROL_CACHEABLE        = 0x1
493 };
494 
495 /*****************************************************************************\
496 ENUM: GFXSHAREDSTATE_LLC_CACHEABILITY_CONTROL
497 \*****************************************************************************/
498 enum GFXSHAREDSTATE_LLC_CACHEABILITY_CONTROL
499 {
500     GFXSHAREDSTATE_LLC_CACHEABILITY_CONTROL_USE_GTT_ENTRY   = 0x0,
501     GFXSHAREDSTATE_LLC_CACHEABILITY_CONTROL_CACHEABLE       = 0x1
502 };
503 
504 /*****************************************************************************\
505 ENUM: GFXSHAREDSTATE_CLEARCOLOR
506 \*****************************************************************************/
507 enum GFXSHAREDSTATE_CLEARCOLOR
508 {
509     GFXSHAREDSTATE_CLEARCOLOR_ZERO  = 0x0,
510     GFXSHAREDSTATE_CLEARCOLOR_ONE   = 0x1
511 };
512 
513 /*****************************************************************************\
514 ENUM: GFXSHAREDSTATE_SHADERCHANNELSELECT
515 \*****************************************************************************/
516 enum GFXSHAREDSTATE_SHADERCHANNELSELECT
517 {
518     GFXSHAREDSTATE_SHADERCHANNELSELECT_ZERO     = 0x0,
519     GFXSHAREDSTATE_SHADERCHANNELSELECT_ONE      = 0x1,
520     GFXSHAREDSTATE_SHADERCHANNELSELECT_RED      = 0x4,
521     GFXSHAREDSTATE_SHADERCHANNELSELECT_GREEN    = 0x5,
522     GFXSHAREDSTATE_SHADERCHANNELSELECT_BLUE     = 0x6,
523     GFXSHAREDSTATE_SHADERCHANNELSELECT_ALPHA    = 0x7
524 };
525 
526 /*****************************************************************************\
527 ENUM: GFXSHAREDSTATE_TILEMODE
528 \*****************************************************************************/
529 enum GFXSHAREDSTATE_TILEMODE
530 {
531     GFXSHAREDSTATE_TILEMODE_LINEAR          = 0x0,
532     GFXSHAREDSTATE_TILEMODE_WMAJOR          = 0x1,
533     GFXSHAREDSTATE_TILEMODE_XMAJOR          = 0x2,
534     GFXSHAREDSTATE_TILEMODE_YMAJOR          = 0x3
535 };
536 
537 /*****************************************************************************\
538 ENUM: GFXSHAREDSTATE_REDUCTION_TYPE
539 \*****************************************************************************/
540 enum GFXSHAREDSTATE_REDUCTION_TYPE
541 {
542     GFXSHAREDSTATE_STD_FILTER       = 0x0,
543     GFXSHAREDSTATE_COMPARISON       = 0x1,
544     GFXSHAREDSTATE_MINIMUM          = 0x2,
545     GFXSHAREDSTATE_MAXIMUM          = 0x3
546 };
547 
548 /*****************************************************************************\
549 ENUM: GFXSHAREDSTATE_COHERENCY_TYPE
550 \*****************************************************************************/
551 enum GFXSHAREDSTATE_COHERENCY_TYPE
552 {
553     GFXSHAREDSTATE_NON_COHERENT    = 0x0,
554     GFXSHAREDSTATE_IA_CHERENT      = 0x1
555 };
556 
557 /*****************************************************************************\
558 ENUM: GFXSHAREDSTATE_TILED_RESOURCE_HORIZONTAL_ALIGNMENT
559 \*****************************************************************************/
560 enum GFXSHAREDSTATE_TILED_RESOURCE_HORIZONTAL_ALIGNMENT
561 {
562     GFXSHAREDSTATE_TILED_RESOURCE_HORIZONTAL_ALIGNMENT_64       = 0x0,
563     GFXSHAREDSTATE_TILED_RESOURCE_HORIZONTAL_ALIGNMENT_128      = 0x1,
564     GFXSHAREDSTATE_TILED_RESOURCE_HORIZONTAL_ALIGNMENT_256      = 0x2,
565     GFXSHAREDSTATE_TILED_RESOURCE_HORIZONTAL_ALIGNMENT_512      = 0x3
566 };
567 
568 /*****************************************************************************\
569 ENUM: GFXSHAREDSTATE_TILED_RESOURCE_VERTICAL_ALIGNMENT
570 \*****************************************************************************/
571 enum GFXSHAREDSTATE_TILED_RESOURCE_VERTICAL_ALIGNMENT
572 {
573     GFXSHAREDSTATE_TILED_RESOURCE_VERTICAL_ALIGNMENT_64       = 0x0,
574     GFXSHAREDSTATE_TILED_RESOURCE_VERTICAL_ALIGNMENT_128      = 0x1,
575     GFXSHAREDSTATE_TILED_RESOURCE_VERTICAL_ALIGNMENT_256      = 0x2,
576     GFXSHAREDSTATE_TILED_RESOURCE_VERTICAL_ALIGNMENT_512      = 0x3
577 };
578 
579 /*****************************************************************************\
580 ENUM: GFXSHAREDSTATE_AUXILIARY_SURFACE_MODE
581 \*****************************************************************************/
582 enum GFXSHAREDSTATE_AUXILIARY_SURFACE_MODE
583 {
584     GFXSHAREDSTATE_AUX_NONE       = 0x0,
585     GFXSHAREDSTATE_AUX_CCS        = 0x1,
586     GFXSHAREDSTATE_AUX_APPEND     = 0x2,
587     GFXSHAREDSTATE_AUX_HIZ        = 0x3
588 };
589 
590 /*****************************************************************************\
591 ENUM: GFXSHAREDSTATE_MAPFILTER
592 \*****************************************************************************/
593 enum GFXSHAREDSTATE_ANISOTROPIC_ALGORITHM
594 {
595     GFXSHAREDSTATE_ANISOTROPIC_LEGACY               = 0x0,
596     GFXSHAREDSTATE_ANISOTROPIC_EWA_APPROXIMATION    = 0x1
597 };
598 } // namespace G6HWC
599