Pixel format and display settings

I’m coding 3D engine and I have a question about pixel format. In Direct3D I have an ability to detemine, if back buffer pixel format, depth-stencil format, acceleration and etc. are supported by video card in certain video mode, before actually switching into this mode. So I can allow user to choose this settings via UI, by building a list of available modes and formats. But in OpenGL settings are split into two pieces. I may build list of available video modes via EnumDisplaySetting and list of available pixel formats via DescribePixelFormat. But I’m not sure, if I have to switch into demanded video mode before trying to build list of pixel formats or not? Is results of DescribePixelFormat dependant on current video mode or this list stays unchanged after video mode switch? For example. 32bpp pixel format is listed as supported in 32bpp video mode. If I’ll switch into 16bpp mode then, will this 32bpp back buffer pixel format still supported with guarantee on all of the cards or not? Will list of pixel formats change to reflect change of video mode or not? I can’t find information about this in any documentation.

P.S. Yeah, I know about ChoosePixelFormat, which searches for closest available pixel format, but I want to allow user to choose that format which is available on their video card.

P.P.S Sorry for my bad English.

Ok, I got my answer. I made some experiments and so that is the results:

  1. List of pixel formats in 32bpp video mode:

Number of formats: 134
1 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=OpenGL 
2 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=OpenGL 
3 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=OpenGL 
4 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=OpenGL 
5 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=OpenGL 
6 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=OpenGL 
7 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
8 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
9 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=OpenGL DoubleBuffer
10 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=OpenGL DoubleBuffer
11 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
12 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
13 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
14 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
15 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=OpenGL DoubleBuffer
16 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=OpenGL DoubleBuffer
17 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
18 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
19 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
20 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
21 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
22 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
23 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
24 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
25 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
26 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
27 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
28 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
29 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
30 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
31 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
32 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
33 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
34 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
35 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
36 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
37 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
38 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
39 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
40 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
41 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
42 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
43 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
44 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
45 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
46 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
47 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
48 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
49 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
50 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
51 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
52 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
53 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
54 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
55 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
56 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
57 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
58 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
59 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
60 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
61 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
62 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
63 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
64 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
65 Colors=32 ARGB=0 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
66 Colors=32 ARGB=8 8 8 8 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
67 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
68 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
69 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
70 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
71 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
72 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
73 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
74 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
75 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
76 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
77 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
78 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
79 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
80 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
81 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
82 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
83 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
84 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
85 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
86 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
87 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
88 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
89 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
90 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
91 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
92 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
93 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
94 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
95 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
96 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
97 Colors=32 ARGB=0 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
98 Colors=32 ARGB=8 8 8 8 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
99 Colors=32 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
100 Colors=32 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
101 Colors=32 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
102 Colors=32 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
103 Colors=32 ARGB=8 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
104 Colors=32 ARGB=8 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
105 Colors=32 ARGB=8 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
106 Colors=32 ARGB=8 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
107 Colors=32 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
108 Colors=32 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
109 Colors=32 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
110 Colors=32 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
111 Colors=24 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
112 Colors=24 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
113 Colors=24 ARGB=8 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
114 Colors=24 ARGB=8 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
115 Colors=24 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
116 Colors=24 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
117 Colors=16 ARGB=0 5 5 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
118 Colors=16 ARGB=0 5 5 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
119 Colors=16 ARGB=8 5 5 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
120 Colors=16 ARGB=8 5 5 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
121 Colors=16 ARGB=0 5 5 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
122 Colors=16 ARGB=0 5 5 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
123 Colors=8 ARGB=0 3 3 2 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
124 Colors=8 ARGB=0 3 3 2 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
125 Colors=8 ARGB=8 3 3 2 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
126 Colors=8 ARGB=8 3 3 2 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
127 Colors=8 ARGB=0 3 3 2 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
128 Colors=8 ARGB=0 3 3 2 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
129 Colors=4 ARGB=0 1 1 1 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
130 Colors=4 ARGB=0 1 1 1 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
131 Colors=4 ARGB=8 1 1 1 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
132 Colors=4 ARGB=8 1 1 1 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
133 Colors=4 ARGB=0 1 1 1 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
134 Colors=4 ARGB=0 1 1 1 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 

  1. List of pixel formats in 16bpp video mode:

Number of formats: 96
1 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=OpenGL 
2 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=OpenGL 
3 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=OpenGL 
4 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=OpenGL 
5 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
6 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
7 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=OpenGL DoubleBuffer
8 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
9 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
10 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
11 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=OpenGL DoubleBuffer
12 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=OpenGL DoubleBuffer
13 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
14 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
15 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
16 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
17 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
18 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
19 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
20 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
21 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
22 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
23 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
24 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
25 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
26 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
27 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
28 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
29 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
30 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
31 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
32 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
33 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
34 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
35 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
36 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
37 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
38 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
39 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
40 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
41 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=0 Aux=4 Flags=DoubleBuffer
42 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
43 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
44 Colors=16 ARGB=0 5 6 5 Depth=0 Stencil=0 Aux=4 Flags=DoubleBuffer
45 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
46 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
47 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
48 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
49 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
50 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
51 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
52 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
53 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
54 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
55 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
56 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
57 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
58 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
59 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=0 Aux=4 Flags=DoubleBuffer
60 Colors=16 ARGB=0 5 6 5 Depth=24 Stencil=8 Aux=4 Flags=DoubleBuffer
61 Colors=16 ARGB=0 5 6 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
62 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
63 Colors=16 ARGB=0 5 6 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
64 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
65 Colors=16 ARGB=8 5 6 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
66 Colors=16 ARGB=8 5 6 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
67 Colors=16 ARGB=8 5 6 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
68 Colors=16 ARGB=8 5 6 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
69 Colors=16 ARGB=0 5 6 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
70 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
71 Colors=16 ARGB=0 5 6 5 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
72 Colors=16 ARGB=0 5 6 5 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic DoubleBuffer
73 Colors=24 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
74 Colors=24 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
75 Colors=24 ARGB=8 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
76 Colors=24 ARGB=8 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
77 Colors=24 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
78 Colors=24 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
79 Colors=32 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
80 Colors=32 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
81 Colors=32 ARGB=8 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
82 Colors=32 ARGB=8 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
83 Colors=32 ARGB=0 8 8 8 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
84 Colors=32 ARGB=0 8 8 8 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
85 Colors=8 ARGB=0 3 3 2 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
86 Colors=8 ARGB=0 3 3 2 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
87 Colors=8 ARGB=8 3 3 2 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
88 Colors=8 ARGB=8 3 3 2 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
89 Colors=8 ARGB=0 3 3 2 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
90 Colors=8 ARGB=0 3 3 2 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
91 Colors=4 ARGB=0 1 1 1 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
92 Colors=4 ARGB=0 1 1 1 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
93 Colors=4 ARGB=8 1 1 1 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
94 Colors=4 ARGB=8 1 1 1 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 
95 Colors=4 ARGB=0 1 1 1 Depth=32 Stencil=8 Aux=0 Flags=OpenGL Generic 
96 Colors=4 ARGB=0 1 1 1 Depth=16 Stencil=8 Aux=0 Flags=OpenGL Generic 

So, as you can see, list of pixel formats is dependant on current video mode and can’t be built before actually switch into demanded video mode. So I have to think how to solve this problem.

Can I somehow create device context with different device mode assigned to it, without actually switching into this mode? CreateDC and CreateIC fails, if I specify any DevMode, different from current.

I doubt it.
Besides, what pixelformat are you looking for? I would just make a certain common ones available such as
RGBA 8888, Depth=24, Stencil=8, double buffered
or
RGB 565, Depth=24, Stencil=8, double buffered

Even if you don’t need the depth or stencil buffer, it does no harm.
For the auxiliary buffer, forget that. It is ancient history.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.