On 06/09/2014 07:22 AM, Jose Fonseca wrote:
I don't think that OpenGL ICD should advertise multi-sample formats via the
standard DescribePixelFormat.
http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt states:
Indices are assigned to pixel formats in the following order:
1. Accelerated pixel formats that are displayable
2. Accelerated pixel formats that are displayable and which have
extended attributes
3. Generic pixel formats
4. Accelerated pixel formats that are non displayable
ChoosePixelFormat will never select pixel formats from either group
2 or group 4. Each pixel format in group 2 is required to appear
identical to some pixel format in group 1 when queried by
DescribePixelFormat. Consequently, ChoosePixelFormat will always
select a format from group 1 when it might otherwise have selected a
format from group 2. Pixel formats in group 4 cannot be accessed by
ChoosePixelFormat at all.
That is, IIUC, in order to discover multi-sampled formats one must get the the
number of pixel formats via
wglGetPixelFormatAttribivARB(WGL_NUMBER_PIXEL_FORMATS_ARB) instead of
numVisuals = DescribePixelFormat(hdc, 1, sizeof(PIXELFORMATDESCRIPTOR),
NULL);
if (numVisuals == 0)
return;
And I'm not even sure if it is OK to call DescribePixelFormat() with extended
pixel formats or if one must use exclusively
wglGetPixelFormatAttribivARB/wglGetPixelFormatAttribivARB. You can see how
GLFW does it on https://github.com/glfw/glfw/blob/master/src/wgl_context.c#L144
Nothing's ever easy on Windows. <sigh>
The code as-is seems to work fine both on a Windows/nvidia host and in
the guest but I'll try the changes you suggested...
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev