I’m trying to find an example that detects an Intel integrated graphics chip and chooses the NVidia card, in laptops that have both. I can only find a lot of people talking about the extension, but no actual examples of it in use.
I am trying this code to show the GPU names but I get an “unhandled exception” error on the call to wglEnumGpusNV(). This is on a GEForce 480 with the latest driver:
//NVidia GPU affinity
#define MAX_GPU 4
int pf=0;
int gpuIndex = 0;
HGPUNV hGPU[MAX_GPU];
HGPUNV GpuMask[MAX_GPU];
HDC affDC;
HGLRC affRC;
PGPU_DEVICE lpGpuDevice = new GPU_DEVICE;
while ((gpuIndex < MAX_GPU) && wglEnumGpusNV(gpuIndex, &hGPU[gpuIndex]))
{
int iDeviceIndex=0;
while (wglEnumGpuDevicesNV(hGPU[gpuIndex],iDeviceIndex,lpGpuDevice))
{
printf(lpGpuDevice->DeviceName);
printf("
");
}
gpuIndex++;
}
Extension:
http://developer.download.nvidia.com/opengl/specs/WGL_nv_gpu_affinity.txt