Adapt to required CoglContext params
They used to retrieve it from a global variable which we are trying to remove from mutter Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3402>
This commit is contained in:
parent
47159f5ca9
commit
2a9722cf3a
@ -908,10 +908,11 @@ global_stage_before_paint (gpointer data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
load_gl_symbol (const char *name,
|
load_gl_symbol (CoglRenderer *renderer,
|
||||||
void **func)
|
const char *name,
|
||||||
|
void **func)
|
||||||
{
|
{
|
||||||
*func = cogl_get_proc_address (name);
|
*func = cogl_renderer_get_proc_address (renderer, name);
|
||||||
if (!*func)
|
if (!*func)
|
||||||
{
|
{
|
||||||
g_warning ("failed to resolve required GL symbol \"%s\"\n", name);
|
g_warning ("failed to resolve required GL symbol \"%s\"\n", name);
|
||||||
@ -929,6 +930,11 @@ global_stage_after_paint (ClutterStage *stage,
|
|||||||
/* At this point, we've finished all layout and painting, but haven't
|
/* At this point, we've finished all layout and painting, but haven't
|
||||||
* actually flushed or swapped */
|
* actually flushed or swapped */
|
||||||
|
|
||||||
|
ClutterBackend *backend = clutter_get_default_backend ();
|
||||||
|
CoglContext *cogl_context = clutter_backend_get_cogl_context (backend);
|
||||||
|
CoglDisplay *cogl_display = cogl_context_get_display (cogl_context);
|
||||||
|
CoglRenderer *cogl_renderer = cogl_display_get_renderer (cogl_display);
|
||||||
|
|
||||||
if (global->frame_timestamps && global->frame_finish_timestamp)
|
if (global->frame_timestamps && global->frame_finish_timestamp)
|
||||||
{
|
{
|
||||||
/* It's interesting to find out when the paint actually finishes
|
/* It's interesting to find out when the paint actually finishes
|
||||||
@ -946,9 +952,9 @@ global_stage_after_paint (ClutterStage *stage,
|
|||||||
static void (*finish) (void);
|
static void (*finish) (void);
|
||||||
|
|
||||||
if (!finish)
|
if (!finish)
|
||||||
load_gl_symbol ("glFinish", (void **)&finish);
|
load_gl_symbol (cogl_renderer, "glFinish", (void **)&finish);
|
||||||
|
|
||||||
cogl_flush ();
|
cogl_context_flush (cogl_context);
|
||||||
finish ();
|
finish ();
|
||||||
|
|
||||||
shell_perf_log_event (shell_perf_log_get_default (),
|
shell_perf_log_event (shell_perf_log_get_default (),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user