Merge branch 'blender-v5.0-release'

This commit is contained in:
Patrick Mours
2025-10-10 13:15:51 +02:00
3 changed files with 21 additions and 0 deletions

View File

@@ -175,6 +175,10 @@ void BLF_batch_draw_begin();
void BLF_batch_draw_flush();
void BLF_batch_draw_end();
/* Discard any batching in process and restart.
* Only used as a workaround for glitchy driver sync. */
void BLF_batch_discard();
/**
* Draw the string using the current font.
*/

View File

@@ -343,6 +343,15 @@ static void blf_batch_draw_end()
}
}
void BLF_batch_discard()
{
if (g_batch.glyph_buf) {
GPU_storagebuf_free(g_batch.glyph_buf);
}
g_batch.glyph_buf = GPU_storagebuf_create_ex(
sizeof(g_batch.glyph_data), nullptr, GPU_USAGE_STREAM, __func__);
}
/** \} */
/* -------------------------------------------------------------------- */

View File

@@ -46,6 +46,7 @@
#include "GPU_immediate.hh"
#include "GPU_immediate_util.hh"
#include "GPU_matrix.hh"
#include "GPU_platform.hh"
#include "GPU_state.hh"
#include "BLF_api.hh"
@@ -3902,6 +3903,13 @@ void ED_region_header_draw(const bContext *C, ARegion *region)
{
/* clear */
ED_region_clear(C, region, region_background_color_id(C, region));
if (GPU_type_matches_ex(GPU_DEVICE_ANY, GPU_OS_UNIX, GPU_DRIVER_OPENSOURCE, GPU_BACKEND_OPENGL))
{
/* WORKAROUND: Driver bug. Fixes invalid glyph being rendered (see #147168). */
BLF_batch_discard();
}
region_draw_blocks_in_view2d(C, region);
ED_region_draw_overflow_indication(CTX_wm_area(C), region);
}