TestGlyph3DMapperPicking silently failing since CPDM2
I found this error after making a small change to how depth buffers are updated while multisampling:
It's been failing for a while with an image error of 9, but my patch for some reason pushed it above the threshold to 12.
Bisecting the behavior points to the new
vtkCompositePolyDataMapper2 implementation (7912d340) as the culprit.
This is causing non-selected points to be incorrectly picked.
- Seems to be related to multisampling. This is one of the few tests that doesn't turn it off, and disabling MSAA in the test fixes the bug. Looks like this may be a general issue with picking + MSAA.
- I've verified that we are in fact disabling MSAA with
glDisable(GL_MULTISAMPLE)while rendering the selection buffers.
- Inspecting the selection buffer produced by an apitrace replay oddly enough does NOT show the buggy selection buffer -- all pixels belonging to a glyph share the correct id.
- This doesn't seem to be platform / driver specific, it's happened on linux and windows (osx/ogl2 coverage is spotty, not sure if it happens there): https://open.cdash.org/index.php?compare1=63&filtercount=2&field1=buildname%2Fstring&project=VTK&field2=buildstarttime%2Fdate&showfilters=0&limit=100&compare2=83&value1=e102e48d&showfeed=0&value2=20161031T152056
- This is really weird.