- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm programming a hobbyist 3D engine using OpenGL 3.3 and have come across some perplexing issues on newer Intel GPUs like Iris Xe and UHD620 on Windows when requesting an OpenGL core profile context. When I request a compatibility profile context instead, the issues don't exist.
The main issue is that using wglSwapIntervalEXT to toggle vsync only works for the first call, then further calls have no effect.
Furthermore on a compatibility profile I see much better performance for reading back results of occlusion queries, and when rendering with vsync on, I see a stall when presenting the backbuffer (as expected, similar to the behavior Nvidia & AMD GPU's) instead of the stall happening at some other point during rendering of the frame, or submitting the rendering commands just taking longer.
I'm using the SDL2 library for OpenGL and window initialization.
Just wanted to report the issue, for me personally it's good enough that I detect the "Intel" vendor and switch to compatibility profile. That way I lose RenderDoc profiling since it requires a core profile, but well, can't have everything. 🙂
In case of interest, the hobby engine in question is https://github.com/cadaver/turso3d and the commit 97acede684c92a3c2fdcab687ff0decd29497295 is where I inserted the vendor detection and use of compatibility profile. Earlier revisions will use just core profile everywhere and thus exhibit the issues.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello cadaver,
Thank you for posting on the Intel️® communities. We would be more than glad to help you with your issue.
To better assist you, please provide me with the following:
- As per my understanding, this is a personal project. Is this correct?
- Have you been able to test this using non-Intel Graphics? Do you experience similar behaviors?
- Also, we would like to ask for more system information; please create a system report using the Intel®️ System Support Utility (Intel®️ SSU)
- Download the Intel SSU
- Open the application and click "Scan" to see the system and device information. By default, Intel®️ SSU will take you to the "Summary View."
- Click on the menu where it says: "Summary" to change it to "Detailed View."
- To save your scan: click "Next"; then "Save."
Best regards,
Jean O.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, thanks for the response!
Yes, it's a personal project, but available for public access in the github link provided.
I have tested the project on several other GPUs including AMD and Nvidia and also an older Intel GPU (HD 4400), which don't exhibit these issues at all, or any noticeable difference in behavior or performance between compatibility and core profile at least on their current drivers. Though the compatibility profile is not always available, such as in the Linux open source Intel GPU driver for the HD 4400.
The issue about occlusion query readback performance is a bit subjective, but a typical "good" performance on the compatibility profile I've seen would be to read 200 queries in about 0.5 milliseconds, and the "bad" performance on the core profile would be 200 queries in 4 milliseconds, so a 8x slowdown. This is on the Iris Xe. I realize that this might not be about occlusion query performance specifically but just a higher overhead per OpenGL API call in the core profile?
I'm attaching the SSU reports for the machines I found the core profile issues on. Both are ASUS Zenbooks running Windows 11.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello cadaver,
Thank you for the information provided.
Based on the reports, we noticed that the systems are not up to date. We recommend the following:
- For the Zenbook 14 UX430:
We noticed that the Graphics driver version is 31.0.101.2115. The latest driver available in our download center is 31.0.101.2121. There are two different types of drivers, generics provided by Intel and Equipment Manufacturer drivers, that are customized to work with each specific system. Intel’s generic graphics drivers are intended for testing.
Also, your BIOS version (203) is an old version. On the Asus website, the latest version is the 313 You should update your BIOS.
- For the Zenbook UX3402ZA:
The BIOS version is not the latest version available. You have installed version 305 and the latest BIOS is 313.
In case you have questions about the installation process for the BIOS update, you should contact ASUS support to gather instructions on how to update it. It is always important to keep your system up to date.
Best regards,
Jean O.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello cadaver,
We hope you are doing fine.
Were you able to check the previous post?
Let us know if you still need assistance.
Best regards,
Jean O.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, yes I checked your suggestions, but I haven't yet had time to update the machines. Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello cadaver,
Thanks for the information provided.
We understand that you need more time to be able to test the recommendations we shared. We will keep this thread open for a few days so you can test the suggestions. Once you try them, share with us the outcome. Also, don't hesitate and let us know if you face any inconvenience.
Best regards,
Jean O.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I was able to update the bios on the newer Zenbook (UX3402ZA) and re-test the OpenGL core vs compatibility profile behavior. It is unchanged. I'm also trying to see if I can find some game using OpenGL in Windows to see if it will behave the same.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello cadaver,
Thank you for the information provided.
We will proceed to check the issue internally and post back soon with more details.
Best regards,
Jean O.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you!
I didn't find a suitable game so far (as many are using a legacy OpenGL initialization, or the compatibility profile) but it shouldn't matter what program is doing the rendering, just that the OpenGL context is initialized in manner like
int contextAttrs[] =
{
WGL_CONTEXT_MAJOR_VERSION_ARB, 3,
WGL_CONTEXT_MINOR_VERSION_ARB, 2,
WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB,
0
};
contextHandle = wglCreateContextAttribsARB(dcHandle, 0, contextAttrs);
and then, while running some rendering workload every frame, also attempt to toggle vsync back and forth with wglSwapIntervalEXT().
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello cadaver,
We appreciate your patience.
To effectively address your concern, we suggest creating an account on our Intel® Developer Zone website to submit your inquiry. The document you mentioned is from this platform, and by doing so, you'll receive additional troubleshooting assistance and gain access to help documentation.
Intel®️ Developer Zone - Contact Page: https://software.intel.com/en-us/support
Since our last recommendation is to contact the Intel®️ Developer Zone, we will close this thread now. If you need additional information, please submit a new question since this thread will no longer be monitored.
Best regards,
Jean O.
Intel Customer Support Technician
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page