https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #19 from Paul Gofman pgofman@codeweavers.com --- yes, that should help with the black units (and this bug is solely about that).
Unfortunately disappearing units is a distinct issue which I think would be hard to workaround in Mesa (see Comment 14), that depends on the specific way of assigning uniform locations in the absence of explicit locations in GLSL shaders.