renderer/native: Flag when explicit sync between GPUs is required
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3304>
This commit is contained in:
parent
8c6aabb9ca
commit
5edb22d7d7
@ -60,6 +60,7 @@ typedef struct _MetaRendererNativeGpuData
|
||||
struct {
|
||||
MetaSharedFramebufferCopyMode copy_mode;
|
||||
gboolean has_EGL_EXT_image_dma_buf_import_modifiers;
|
||||
gboolean needs_explicit_sync;
|
||||
|
||||
/* For GPU blit mode */
|
||||
EGLContext egl_context;
|
||||
|
@ -1806,6 +1806,7 @@ init_secondary_gpu_data_gpu (MetaRendererNativeGpuData *renderer_gpu_data,
|
||||
CoglContext *cogl_context;
|
||||
CoglDisplay *cogl_display;
|
||||
const char **missing_gl_extensions;
|
||||
const char *egl_vendor;
|
||||
|
||||
egl_display = meta_render_device_get_egl_display (render_device);
|
||||
if (egl_display == EGL_NO_DISPLAY)
|
||||
@ -1872,6 +1873,11 @@ init_secondary_gpu_data_gpu (MetaRendererNativeGpuData *renderer_gpu_data,
|
||||
meta_egl_has_extensions (egl, egl_display, NULL,
|
||||
"EGL_EXT_image_dma_buf_import_modifiers",
|
||||
NULL);
|
||||
|
||||
egl_vendor = meta_egl_query_string (egl, egl_display, EGL_VENDOR);
|
||||
if (!g_strcmp0 (egl_vendor, "NVIDIA"))
|
||||
renderer_gpu_data->secondary.needs_explicit_sync = TRUE;
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
maybe_restore_cogl_egl_api (renderer_native);
|
||||
|
Loading…
x
Reference in New Issue
Block a user