-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Vulkan Mobile: Changing 3D scaling amount with Bilinear/FSR scaling modes creates multiple errors on Output console/Debugger #70093
Comments
I'll have a look at this next week, I've been wanting to dive back into this to implement that proposal I did a while ago to properly type things. There must be a place in the code where we're forgetting to resize a buffer. |
I am also getting this error when using the mobile renderer and adjusting the render3D scaling in Godot 4.0.2 |
Does this have any effects, besides console spam? I'm getting the same error messages. |
Chipping in to add the following error spam on the latest 4.1.dev when using a non 1.0 scaling amount: E 0:00:04:0691 get_color_fbs: Condition "target_size != internal_size" is true. Returning: RID() |
Looks like this issue was fixed for 4.0 and then re-introduced into 4.0.1 with #74150 But looking at the code, I can't understand why |
Looks like a check went missing somewhere, I'll have to find some time to look into it. Just for background info for anyone wanting to look into this earlier: We perform 4 basic passes (not counting certain post effects), Opaque, Sky, Transparent and tonemapping. So our options are:
Tonemapping needs to run in it's own pass if we use DOF, Glow, auto exposure or when our 3d buffer is scaled. The error @Bimbam360 is reporting happens when our logic decides to use only subpasses, but than runs into trouble when it turns out it can't because the destination buffer is the wrong size. My guess without looking into the current code is that when 2D MSAA is used, we're not getting the right size information somewhere. |
In 4.1.dev d6dde81, 2D MSAA also breaks 3D rendering in the Forward+ rendering method when using a 3D Scaling value different from |
I'll see if I can dive into this over the weekend, currently trying to get some momentum going with some of the other changes I'm working on :) |
I'm getting this error in 4.1.stable, setting the rendering/scaling_3d/scale to 1 and not changing it at runtime removes the error. |
I'm on 4.1 Stable and I'm still getting this problem. Moving my project to forward+ does remove the error spam. |
The pull request hasn't been cherry-picked to |
Bugsquad note: This issue has been confirmed several times already. No need to confirm it further.
Godot version
v4.0.beta8.official [45cac42]
System information
Fedora Linux 37, AMD RX 6600, AMD Ryzen 7 3700x
Issue description
When using the
mobile
renderer instead of theforward_plus
renderer and then increasing or decreasing the scaling, the Output console print these error messages on what I'm assume is every frame:All textures in a framebuffer should be the same size.
./servers/rendering/renderer_rd/effects/../storage_rd/../framebuffer_cache_rd.h:170 - Condition "rid.is_null()" is true. Returning: rid
When running an scene, the engine prints similar errors to the Debugger in the Errors tab:
Using
forward_plus
does not exhibit the same problems.Steps to reproduce
rendering/renderer/rendering_method
and switch fromforward_plus
tomobile
rendering/scaling_3d/scale
and increase or decrease the sliderMinimal reproduction project
test-bug.zip
Open the project. It's already set up with a camera, lighting and a cube mesh and the renderer is already using the
mobile
renderer with the scaling set to 0.64. The console should be already outputting the same errors.The text was updated successfully, but these errors were encountered: