1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-30 18:30:54 +00:00

Skip MSAA2D when OpenXR is used

This commit is contained in:
Bastiaan Olij
2025-12-19 15:43:34 +11:00
parent 64cb7e721c
commit f270f0a5bd

View File

@@ -3493,12 +3493,16 @@ void TextureStorage::update_decal_buffer(const PagedArray<RID> &p_decals, const
/* RENDER TARGET API */
RID TextureStorage::RenderTarget::get_framebuffer() {
// Note that if we're using an overridden color buffer, we're likely cycling through a texture chain.
// this is where our framebuffer cache comes in clutch..
// We can't resolve into our overridden buffer as it won't be marked as a resolve buffer.
// This is only applicable when OpenXR is used and 2D rendering is skipped.
if (msaa != RS::VIEWPORT_MSAA_DISABLED) {
return FramebufferCacheRD::get_singleton()->get_cache_multiview(view_count, color_multisample, overridden.color.is_valid() ? overridden.color : color);
if (msaa != RS::VIEWPORT_MSAA_DISABLED && overridden.color.is_null()) {
// Render into our MSAA buffer and resolve into our color buffer.
return FramebufferCacheRD::get_singleton()->get_cache_multiview(view_count, color_multisample, color);
} else {
// Note that if we're using an overridden color buffer, we're likely cycling through a texture chain.
// this is where our framebuffer cache comes in clutch..
return FramebufferCacheRD::get_singleton()->get_cache_multiview(view_count, overridden.color.is_valid() ? overridden.color : color);
}
}