st/wgl: Clamp wglChoosePixelFormatARB's output nNumFormats to nMaxFormats.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 24 Jul 2014 14:50:56 +0000 (15:50 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 29 Jul 2014 14:41:32 +0000 (15:41 +0100)
commit66a1b3a1da5cbb75d727c9b4751a06bdd403f0f9
tree3a171c505b8e91f431e6bef7f6b04b6c0ac11251
parent8d0a1a6bc05af7edd25b15ce9159025036b636ff
st/wgl: Clamp wglChoosePixelFormatARB's output nNumFormats to nMaxFormats.

While running https://github.com/nvMcJohn/apitest with apitrace I noticed that Mesa was producing bogus results:

  wglChoosePixelFormatARB(hdc, piAttribIList = {...}, pfAttribFList = &0, nMaxFormats = 1, piFormats = {19, 65576, 37, 198656, 131075, 0, 402653184, 0, 0, 0, 0, -573575710}, nNumFormats = &12) = TRUE

However https://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt states

    <nNumFormats> returns the number of matching formats. The returned
    value is guaranteed to be no larger than <nMaxFormats>.

Cc: "10.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/state_trackers/wgl/stw_ext_pixelformat.c