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

OpenGL default framebuffer dimensions not updated until glClear

Carter
Beginner
1,938 Views

System Setup Information:
-----------------------------------------

System Used: ASUS Zenbook UX305CA
CPU SKU: Intel Core m3-6Y30
GPU SKU: Intel HD Graphics 515
Processor Line:
System BIOS Version: UX305CA.201
CMOS settings:
Graphics Driver Version: 26.20.100.8141, 27.20.100.8280
GOP/VBIOS Version:
Operating System: Windows 10 Home 64-bit
OS Version: 1903 (OS Build 18362.900)
API: OpenGL
Occurs on non-Intel GPUs?: No

 

Steps to Reproduce:
-------------------------------

  1. Create and render to off-screen render target / framebuffer.
  2. Resize application window through Win32 APIs or sizeable window frame.
  3. Do not call glClear on the default framebuffer.
  4. Blit to default framebuffer.

(see https://gist.github.com/Qartar/920597e672d9ab8f3c4a709d770012ee for repro source)

 

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

glBlit[Named]Framebuffer uses the correct default framebuffer dimensions.

 

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

glBlit[Named]Framebuffer uses incorrect dimensions for the default framebuffer causing the copy operation to write to an incorrect region of the destination framebuffer. glClear(0) on the default framebuffer will update the framebuffer dimensions in the GL.

 

Additional Information:
-------------------------------

Note that the physical dimensions of the default framebuffer are updated by the operating system so this issue represents a mismatch between the GL's view of the framebuffer and the actual framebuffer.

This issue reproduces on multiple machines, including a hybrid graphics Nvidia system (Alienware M15, Intel UHD Graphics 630, 26.20.100.8141). This issue does not reproduce when using Nvidia graphics. The OpenGL specification is vague on how changes to the default framebuffer by the operating system are expected to be reflected in the GL however it's unexpected that glClear is where the default framebuffer dimensions are updated on Intel graphics. It is not always desirable to clear the framebuffer each frame, e.g. if rendering is almost exclusively performed on off-screen render targets and subsequently copied to the default framebuffer or if all pixels are guaranteed to be rendered each frame.

0 Kudos
1 Solution
AndrewG_Intel
Moderator
1,914 Views

Hello Carter

Thank you for your response.

 

From the following link: https://software.intel.com/content/www/us/en/develop/home.html you can click on "Forum" and you should be redirected to "Intel Community - Software Products". Then you should see a list of different common topics about "Software products" where you may select to post your question on the appropriate topic.

 

You may also try the following:

1- Go to https://community.intel.com/

2- Under "Browse Community Forums" click on the disclosure widget (the rotating black triangle) to expand the section "Software Products". You should see a list of topics, and you can also expand the topics to display additional "sub-topics".

3- You can choose one of the topics that best relate to your questions and products. For instance, this an example of OpenCL* topics:

https://community.intel.com/t5/OpenCL/bd-p/opencl

 

We hope this helps.

Best regards,

 

Andrew G.

Intel Customer Support Technician

Forums Software.png

View solution in original post

0 Kudos
5 Replies
AndrewG_Intel
Moderator
1,921 Views

Hello Carter


Thank you for posting on the Intel® communities.


We are checking this thread and based on the details described we noticed that this seems to be related to the development of a custom application/software.


In this case, we advise you to contact our Developer Zone Community so that we can check this behavior further. You can find the links below:

 

Intel® Developer Zone:

https://software.intel.com/en-us

 

Registration Intel® Developer Zone:

https://software.intel.com/registration/?lang=en-us


Best regards,


Andrew G.

Intel Customer Support Technician


0 Kudos
Carter
Beginner
1,919 Views

Hi @AndrewG_Intel ,

Thank you for the reply. Can you provide a direct link to the appropriate forum? The link you provided is how I ended up here. From what I understand the old developer forums were merged into the community forums. For example, the following link is an earlier report I made on the old forums which now forwards to this board: https://software.intel.com/en-us/forums/graphics-driver-bug-reporting/topic/856924.

Thanks!

Carter

0 Kudos
AndrewG_Intel
Moderator
1,915 Views

Hello Carter

Thank you for your response.

 

From the following link: https://software.intel.com/content/www/us/en/develop/home.html you can click on "Forum" and you should be redirected to "Intel Community - Software Products". Then you should see a list of different common topics about "Software products" where you may select to post your question on the appropriate topic.

 

You may also try the following:

1- Go to https://community.intel.com/

2- Under "Browse Community Forums" click on the disclosure widget (the rotating black triangle) to expand the section "Software Products". You should see a list of topics, and you can also expand the topics to display additional "sub-topics".

3- You can choose one of the topics that best relate to your questions and products. For instance, this an example of OpenCL* topics:

https://community.intel.com/t5/OpenCL/bd-p/opencl

 

We hope this helps.

Best regards,

 

Andrew G.

Intel Customer Support Technician

Forums Software.png

0 Kudos
AndrewG_Intel
Moderator
1,897 Views

Hello Carter,


We hope that the information provided was helpful. We will proceed to close this thread now but if you need any additional information, please submit a new question as this thread will no longer being monitored.


Best regards,


Andrew G.

Intel Customer Support Technician


0 Kudos
Théo
Beginner
1,575 Views

Hi all,

I can reproduce this bug using a texture update (glTexSubImage2D) on an Intel UDH Graphics 630.

Using glClear before bind my framebuffer solves the problem, thanks you.

Regards,

Théo

 

0 Kudos
Reply