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

Fix framebuffer created for reflection probe in mobile renderer #87505

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -263,28 +263,11 @@ RID RenderForwardMobile::RenderBufferDataForwardMobile::get_color_fbs(Framebuffe

RID RenderForwardMobile::reflection_probe_create_framebuffer(RID p_color, RID p_depth) {
// Our attachments
Vector<RID> fb;
fb.push_back(p_color); // 0
fb.push_back(p_depth); // 1
Vector<RID> attachments;
attachments.push_back(p_color); // 0
attachments.push_back(p_depth); // 1

// Now define our subpasses
Vector<RD::FramebufferPass> passes;
RD::FramebufferPass pass;

// re-using the same attachments
pass.color_attachments.push_back(0);
pass.depth_attachment = 1;

// - opaque pass
passes.push_back(pass);

// - sky pass
passes.push_back(pass);

// - alpha pass
passes.push_back(pass);

return RD::get_singleton()->framebuffer_create_multipass(fb, passes);
return RD::get_singleton()->framebuffer_create(attachments);
}

void RenderForwardMobile::setup_render_buffer_data(Ref<RenderSceneBuffersRD> p_render_buffers) {
Expand Down Expand Up @@ -1049,10 +1032,6 @@ void RenderForwardMobile::_render_scene(RenderDataRD *p_render_data, const Color

rp_uniform_set = _setup_render_pass_uniform_set(RENDER_LIST_ALPHA, p_render_data, radiance_texture, samplers, true);

if (rb_data.is_valid()) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also removing this, as we've now merged our passes, we can just reuse the framebuffer we fetched at the start.

framebuffer = rb_data->get_color_fbs(RenderBufferDataForwardMobile::FB_CONFIG_RENDER_PASS);
}

// this may be needed if we re-introduced steps that change info, not sure which do so in the previous implementation
//_setup_environment(p_render_data, is_reflection_probe, screen_size, !is_reflection_probe, p_default_bg_color, false);

Expand Down
Loading