18 "title" :
"VuoCglPixelFormat"
30 #pragma clang diagnostic push
31 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
32 if (a == kCGLPFAAllRenderers)
return strdup(
"kCGLPFAAllRenderers");
33 if (a == kCGLPFATripleBuffer)
return strdup(
"kCGLPFATripleBuffer");
34 if (a == kCGLPFADoubleBuffer)
return strdup(
"kCGLPFADoubleBuffer");
35 if (a == kCGLPFAColorSize)
return strdup(
"kCGLPFAColorSize");
36 if (a == kCGLPFAAlphaSize)
return strdup(
"kCGLPFAAlphaSize");
37 if (a == kCGLPFADepthSize)
return strdup(
"kCGLPFADepthSize");
38 if (a == kCGLPFAStencilSize)
return strdup(
"kCGLPFAStencilSize");
39 if (a == kCGLPFAMinimumPolicy)
return strdup(
"kCGLPFAMinimumPolicy");
40 if (a == kCGLPFAMaximumPolicy)
return strdup(
"kCGLPFAMaximumPolicy");
41 if (a == kCGLPFASampleBuffers)
return strdup(
"kCGLPFASampleBuffers");
42 if (a == kCGLPFASamples)
return strdup(
"kCGLPFASamples");
43 if (a == kCGLPFAColorFloat)
return strdup(
"kCGLPFAColorFloat");
44 if (a == kCGLPFAMultisample)
return strdup(
"kCGLPFAMultisample");
45 if (a == kCGLPFASupersample)
return strdup(
"kCGLPFASupersample");
46 if (a == kCGLPFASampleAlpha)
return strdup(
"kCGLPFASampleAlpha");
47 if (a == kCGLPFARendererID)
return strdup(
"kCGLPFARendererID");
48 if (a == kCGLPFANoRecovery)
return strdup(
"kCGLPFANoRecovery");
49 if (a == kCGLPFAAccelerated)
return strdup(
"kCGLPFAAccelerated");
50 if (a == kCGLPFAClosestPolicy)
return strdup(
"kCGLPFAClosestPolicy");
51 if (a == kCGLPFABackingStore)
return strdup(
"kCGLPFABackingStore");
52 if (a == 77 )
return strdup(
"kCGLPFABackingVolatile");
53 if (a == kCGLPFADisplayMask)
return strdup(
"kCGLPFADisplayMask");
54 if (a == kCGLPFAAllowOfflineRenderers)
return strdup(
"kCGLPFAAllowOfflineRenderers");
55 if (a == kCGLPFAAcceleratedCompute)
return strdup(
"kCGLPFAAcceleratedCompute");
56 if (a == kCGLPFAOpenGLProfile)
return strdup(
"kCGLPFAOpenGLProfile");
57 if (a == 101 )
return strdup(
"kCGLPFASupportsAutomaticGraphicsSwitching");
58 if (a == kCGLPFAVirtualScreenCount)
return strdup(
"kCGLPFAVirtualScreenCount");
59 if (a == kCGLPFAAuxBuffers)
return strdup(
"kCGLPFAAuxBuffers");
60 if (a == kCGLPFAAccumSize)
return strdup(
"kCGLPFAAccumSize");
61 if (a == kCGLPFAAuxDepthStencil)
return strdup(
"kCGLPFAAuxDepthStencil");
62 if (a == kCGLPFAStereo)
return strdup(
"kCGLPFAStereo");
63 if (a == kCGLPFAOffScreen)
return strdup(
"kCGLPFAOffScreen");
64 if (a == kCGLPFAWindow)
return strdup(
"kCGLPFAWindow");
65 if (a == kCGLPFACompliant)
return strdup(
"kCGLPFACompliant");
66 if (a == kCGLPFAPBuffer)
return strdup(
"kCGLPFAPBuffer");
67 if (a == kCGLPFARemotePBuffer)
return strdup(
"kCGLPFARemotePBuffer");
68 if (a == kCGLPFASingleRenderer)
return strdup(
"kCGLPFASingleRenderer");
69 if (a == kCGLPFARobust)
return strdup(
"kCGLPFARobust");
70 if (a == kCGLPFAMPSafe)
return strdup(
"kCGLPFAMPSafe");
71 if (a == kCGLPFAMultiScreen)
return strdup(
"kCGLPFAMultiScreen");
72 if (a == kCGLPFAFullScreen)
return strdup(
"kCGLPFAFullScreen");
73 #pragma clang diagnostic pop
76 asprintf(&text,
"unknown (%d)", a);
85 CGLPixelFormatAttribute pfas[] = {
86 #pragma clang diagnostic push
87 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
106 kCGLPFAClosestPolicy,
110 kCGLPFAAllowOfflineRenderers,
111 kCGLPFAAcceleratedCompute,
112 kCGLPFAOpenGLProfile,
117 kCGLPFAAuxDepthStencil,
123 kCGLPFARemotePBuffer,
124 kCGLPFASingleRenderer,
129 #pragma clang diagnostic pop
131 int pfaCount =
sizeof(pfas)/
sizeof(pfas[0]);
133 VUserLog(
"CGLPixelFormat differences:");
134 bool different =
false;
135 for (
int i = 0; i < pfaCount; ++i)
138 GLint valueA, valueB;
139 CGLError error = CGLDescribePixelFormat(a, 0, pfas[i], &valueA);
140 if (error != kCGLNoError)
142 VUserLog(
" Error retrieving PFA %s: %s", s, CGLErrorString(error));
146 error = CGLDescribePixelFormat(b, 0, pfas[i], &valueB);
147 if (error != kCGLNoError)
149 VUserLog(
" Error retrieving PFA %s: %s", s, CGLErrorString(error));
154 if (valueA != valueB)
156 VUserLog(
" %30s: %d vs %d", s, valueA, valueB);
174 rendererID &= kCGLRendererIDMatchingMask;
176 #pragma clang diagnostic push
177 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
178 if (rendererID == kCGLRendererGenericFloatID )
return strdup(
"Apple Software Renderer (GenericFloat)");
179 else if (rendererID == kCGLRendererAppleSWID )
return strdup(
"Apple Software Renderer (AppleSW)");
180 else if (rendererID == kCGLRendererATIRage128ID )
return strdup(
"ATI Rage 128");
181 else if (rendererID == kCGLRendererATIRadeonID )
return strdup(
"ATI Radeon");
182 else if (rendererID == kCGLRendererATIRageProID )
return strdup(
"ATI Rage Pro");
183 else if (rendererID == kCGLRendererATIRadeon8500ID )
return strdup(
"ATI Radeon 8500");
184 else if (rendererID == kCGLRendererATIRadeon9700ID )
return strdup(
"ATI Radeon 9700");
185 else if (rendererID == kCGLRendererATIRadeonX1000ID )
return strdup(
"ATI Radeon X1xxx");
186 else if (rendererID == kCGLRendererATIRadeonX2000ID )
return strdup(
"ATI Radeon HD 2xxx/4xxx");
187 else if (rendererID == kCGLRendererATIRadeonX3000ID )
return strdup(
"ATI Radeon HD 5xxx/6xxx");
188 else if (rendererID == kCGLRendererATIRadeonX4000ID )
return strdup(
"ATI Radeon HD 7xxx");
189 else if (rendererID == 0x21d00 )
return strdup(
"AMD Radeon X5000");
190 else if (rendererID == 0x21e00 )
return strdup(
"AMD Radeon X6000");
191 else if (rendererID == kCGLRendererGeForce2MXID )
return strdup(
"NVIDIA GeForce 2MX/4MX");
192 else if (rendererID == kCGLRendererGeForce3ID )
return strdup(
"NVIDIA GeForce 3/4Ti");
193 else if (rendererID == kCGLRendererGeForceFXID )
return strdup(
"NVIDIA GeForce 5xxx/6xxx/7xxx or Quadro FX 4500");
194 else if (rendererID == kCGLRendererGeForce8xxxID )
return strdup(
"NVIDIA GeForce 8xxx/9xxx/1xx/2xx/3xx or Quadro 4800");
195 else if (rendererID == kCGLRendererGeForceID )
return strdup(
"NVIDIA GeForce 6xx or Quadro 4000/K5000");
196 else if (rendererID == kCGLRendererVTBladeXP2ID )
return strdup(
"VTBladeXP2");
197 else if (rendererID == kCGLRendererIntel900ID )
return strdup(
"Intel GMA 950");
198 else if (rendererID == kCGLRendererIntelX3100ID )
return strdup(
"Intel X3100");
199 else if (rendererID == kCGLRendererIntelHDID )
return strdup(
"Intel HD 3000");
200 else if (rendererID == kCGLRendererIntelHD4000ID )
return strdup(
"Intel HD 4000");
201 else if (rendererID == kCGLRendererIntelHD5000ID )
return strdup(
"Intel HD 5000 (Iris)");
202 else if (rendererID == kCGLRendererMesa3DFXID )
return strdup(
"Mesa 3DFX");
203 #pragma clang diagnostic pop
206 asprintf(&t,
"unknown (0x%x)", rendererID);