Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
20948 Discussions

OpenGL bug with ARB_get_program_binary + geometry shader + UBO

Ryhor_S_
Beginner
1,236 Views

System Used: Lenovo V580c notebook
CPU SKU: i5-3230M
GPU SKU: HD4000
Graphics Driver Version:10.18.10.4276
Operating System:Windows 10 x64
API: OpenGL 3.3
Occurs on non-Intel GPUs?: No

Steps to Reproduce:
-------------------------------
1. Run "gs_bin_ubo/gs_binary.exe" from attached zip (or build it from source)

Expected Results:
-------------------------------

See "gs_bin_ubo/expected.png"  from attached zip

Actual Results:
-------------------------------

See "gs_bin_ubo/bug.png"  from attached zip

Additional Information:

Test app uses ARB_get_program_binary GL extension to cache compiled shader program. If this program contains geometry shader and uniform blocks something will go wrong.

Test app draw 2 quads: a left one with a shader program compiled from GLSL source, a right one with a shader program created from binary data obtained from first shader program. It works fine on AMD and NVIDIA: 2 identical quads are drawn. On Intel GPU only the left quad is drawn correctly.

If shader program doesn't contain geometry shader everything works fine. If instead of UBO regular uniform is used everything works fine. Looks like only a combination of ARB_get_program_binary, geometry shader and UBO produces this bug.

To build test app from source you will need GLFW library (used only for window and GL context creation).

0 Kudos
3 Replies
Michael_C_Intel2
Employee
1,236 Views

Hi Ryhor,

Thanks for the detailed info, I am talking to our OpenGL team and we are beginning to investigate.

-Michael

0 Kudos
Michael_C_Intel2
Employee
1,236 Views

Hi Ryhor,

We are in a good news, bad news spot here. HD 4000 is no longer supported by the driver team. I was hoping during the debug we would find a way to make this work, but we found that it is indeed a driver issue. We checked on newer drivers and the issue is not present, but those drivers do not have support for HD 4000. I am afraid there isn't much else I can do about getting a fix as once already exists in our supported drivers.

-Michael

0 Kudos
Ryhor_S_
Beginner
1,236 Views

Thanks for info. Good to know it is fixed for newer GPUs.

0 Kudos
Reply