3 Replies Latest reply on Nov 9, 2017 3:01 AM by kryptan

    Intel OpenGL drivers cannot correctly handle DPI changes

    kryptan

      Hello.

       

      I've been working on implementing high-DPI support for my app and testing it with various GPUs on Windows. I think I've hit a bug with Intel GPUs - when you move window from monitor with one DPI to a monitor with a different DPI, OpenGL cannot be used anymore to correctly render contents of the window. This only happens with Intel, as Nvidia and AMD work just fine.

       

      I've made a simple app so you can reproduce this bug. It's a simple app that just renders several rectangles. You can download it form here:

       

      Executable: https://github.com/kryptan/dpi-test/releases/download/v3/dpi-test.exe

      Source: https://github.com/kryptan/dpi-test

       

      After window moves to a monitor with different DPI, window is resized and glViewport is called with the new dimensions of the window. AMD and Nvidia has no issues with this and work just fine.

       

      Expected rendering:

      32321937-d10501a6-bfd3-11e7-901b-e3faa23c523c.png

       

      Actual rendering after window was moved to a monitor with different DPI:

      32321876-adb8e712-bfd3-11e7-8c2a-5e0d37a44f50.png

       

      (This last screenshot is actually with older drivers, with current drivers it looks even worse).

       

      More discussion on this issue is available here: https://github.com/tomaka/winit/pull/332