Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Textures disappear on GLES3 with Intel GPU #41978

Closed
fossegutten opened this issue Sep 11, 2020 · 7 comments
Closed

Textures disappear on GLES3 with Intel GPU #41978

fossegutten opened this issue Sep 11, 2020 · 7 comments

Comments

@fossegutten
Copy link
Contributor

Godot version:
3.2.3 RC 6

OS/device including version:
Windows 10. GLES3, works fine on GLES2
Bug appears on these GPU: Intel® UHD Graphics 615 and Intel® HD Graphics 520
Bug does not appear on these GPU: GeForce GTX 1070 and GeForce GTX 1650

Issue description:
When too many textures are visible, some textures become invisible. This includes control nodes, sprites, visible collision shapes, Line2D and so on. On the GIF below, you can see some textures appear, when others are hidden. Both in editor and in debug window. The example is from my player scene. Textures that are not in the player scene are not affected.

texturelimit

Steps to reproduce:
Create a 2D scene and add lots of different 2D nodes. Use Intel GPU and GLES3.

Minimal reproduction project:
Could not reproduce it.

@Calinou
Copy link
Member

Calinou commented Sep 11, 2020

Does this bug occur with the GLES2 renderer if you disable batching in the Project Settings? Remember to disable it both for the editor and the running project.

@lawnjelly
Copy link
Member

And is this with nvidia_workaround in GLES3?
I suspect we will need a min reproduction project to have a chance of debugging this.

@fossegutten
Copy link
Contributor Author

fossegutten commented Sep 11, 2020

Well this is weird. Enabling the nvidia_workaround fixes it on GLES3, even it uses Intel GPU. Thanks! Edit: But the performance is terrible now.

Batching enabled/disabled doesn't make a difference. I just tested it.
Sorry that I couldn't reproduce it. I don't wanna post my main game project for everyone.

@lawnjelly
Copy link
Member

Yes, nvidia workaround is generally pretty slow especially on GLES3 (although that shouldn't be a problem if we eventually get batching).

But that does help tell narrow down where the problem is, probably in the old rect drawing code. It could be an opengl state that's not being set. Unfortunately I'm not as familiar with the GLES3 rasterizer to be able to say straight off.

@clayjohn clayjohn removed their assignment Oct 4, 2020
@lawnjelly
Copy link
Member

You can now also probably workaround this by using the unified batching BTW, if you try out one of the builds in #42119. If the batching works then it probably it may not be worth putting a lot of effort into fixing this in the legacy rect drawing.

@akien-mga akien-mga modified the milestones: 3.2, 3.3 Mar 17, 2021
@Calinou
Copy link
Member

Calinou commented Sep 27, 2021

@fossegutten Can you (or anyone else) still reproduce this bug in Godot 3.3.3 or any later release?

If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

@akien-mga
Copy link
Member

No answer, but this is likely that this was fixed by unified batching in 3.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants