File chromium-add-sync-surface-to-vaapi.patch of Package chromium-for-geforce-now
--- chromium-133.0.6943.53/media/gpu/vaapi/vaapi_video_decoder.cc 2025-02-17 14:40:32.862065459 +0200
+++ chromium-133.0.6943.53/media/gpu/vaapi/vaapi_video_decoder.cc 2025-02-15 22:03:21.465600780 +0200
@@ -549,6 +549,11 @@
DCHECK_EQ(state_, State::kDecoding);
CHECK_NE(va_surface_id, VA_INVALID_SURFACE);
+ // Add synchronization before surface is used
+ if (!vaapi_wrapper_->SyncSurface(va_surface_id)) {
+ VLOGF(1) << "Failed to sync surface " << va_surface_id;
+ }
+
// Find the timestamp associated with |buffer_id|. It's possible that a
// surface is output multiple times for different |buffer_id|s (e.g. VP9
// show_existing_frame feature). This means we need to output the same frame