cogl: Move has_feature to Context namespace
That is where it belongs anyways.. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895>
This commit is contained in:
parent
21bc7432dc
commit
6da869d575
23 changed files with 53 additions and 51 deletions
|
@ -766,7 +766,7 @@ driver_can_convert (CoglContext *ctx,
|
|||
/* Same for red-green textures. If red-green textures aren't
|
||||
* supported then the internal format should never be RG_88 but we
|
||||
* should still be able to convert from an RG source image */
|
||||
if (!cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_RG) &&
|
||||
if (!cogl_context_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_RG) &&
|
||||
src_format == COGL_PIXEL_FORMAT_RG_88)
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ _cogl_blit_framebuffer_begin (CoglBlitData *data)
|
|||
supported. */
|
||||
if ((_cogl_texture_get_format (data->src_tex) & COGL_PREMULT_BIT) !=
|
||||
(_cogl_texture_get_format (data->dst_tex) & COGL_PREMULT_BIT) ||
|
||||
!cogl_has_feature (ctx, COGL_FEATURE_ID_BLIT_FRAMEBUFFER))
|
||||
!cogl_context_has_feature (ctx, COGL_FEATURE_ID_BLIT_FRAMEBUFFER))
|
||||
return FALSE;
|
||||
|
||||
dst_offscreen = _cogl_offscreen_new_with_texture_full
|
||||
|
|
|
@ -509,8 +509,8 @@ cogl_context_timestamp_query_get_time_ns (CoglContext *context,
|
|||
int64_t
|
||||
cogl_context_get_gpu_time_ns (CoglContext *context)
|
||||
{
|
||||
g_return_val_if_fail (cogl_has_feature (context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
g_return_val_if_fail (cogl_context_has_feature (context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
0);
|
||||
|
||||
return context->driver_vtable->get_gpu_time_ns (context);
|
||||
|
@ -524,6 +524,13 @@ cogl_context_has_winsys_feature (CoglContext *context,
|
|||
return COGL_FLAGS_GET (context->winsys_features, feature);
|
||||
}
|
||||
|
||||
gboolean
|
||||
cogl_context_has_feature (CoglContext *context,
|
||||
CoglFeatureID feature)
|
||||
{
|
||||
return COGL_FLAGS_GET (context->features, feature);
|
||||
}
|
||||
|
||||
void
|
||||
cogl_context_flush (CoglContext *context)
|
||||
{
|
||||
|
|
|
@ -178,7 +178,7 @@ cogl_context_get_renderer (CoglContext *context);
|
|||
*
|
||||
* All the capabilities that can vary between different GPUs supported
|
||||
* by Cogl. Applications that depend on any of these features should explicitly
|
||||
* check for them using cogl_has_feature() or cogl_has_features().
|
||||
* check for them using [method@Cogl.Context.has_feature].
|
||||
*/
|
||||
typedef enum _CoglFeatureID
|
||||
{
|
||||
|
@ -202,7 +202,7 @@ typedef enum _CoglFeatureID
|
|||
|
||||
|
||||
/**
|
||||
* cogl_has_feature:
|
||||
* cogl_context_has_feature:
|
||||
* @context: A #CoglContext pointer
|
||||
* @feature: A #CoglFeatureID
|
||||
*
|
||||
|
@ -217,7 +217,8 @@ typedef enum _CoglFeatureID
|
|||
* not.
|
||||
*/
|
||||
COGL_EXPORT gboolean
|
||||
cogl_has_feature (CoglContext *context, CoglFeatureID feature);
|
||||
cogl_context_has_feature (CoglContext *context,
|
||||
CoglFeatureID feature);
|
||||
|
||||
/**
|
||||
* CoglGraphicsResetStatus:
|
||||
|
|
|
@ -1431,7 +1431,7 @@ cogl_blit_framebuffer (CoglFramebuffer *framebuffer,
|
|||
int src_x1, src_y1, src_x2, src_y2;
|
||||
int dst_x1, dst_y1, dst_x2, dst_y2;
|
||||
|
||||
if (!cogl_has_feature (ctx, COGL_FEATURE_ID_BLIT_FRAMEBUFFER))
|
||||
if (!cogl_context_has_feature (ctx, COGL_FEATURE_ID_BLIT_FRAMEBUFFER))
|
||||
{
|
||||
g_set_error_literal (error, COGL_SYSTEM_ERROR,
|
||||
COGL_SYSTEM_ERROR_UNSUPPORTED,
|
||||
|
@ -2393,8 +2393,8 @@ cogl_framebuffer_create_timestamp_query (CoglFramebuffer *framebuffer)
|
|||
cogl_framebuffer_get_instance_private (framebuffer);
|
||||
const CoglDriverVtable *driver_vtable = priv->context->driver_vtable;
|
||||
|
||||
g_return_val_if_fail (cogl_has_feature (priv->context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
g_return_val_if_fail (cogl_context_has_feature (priv->context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
NULL);
|
||||
|
||||
/* The timestamp query completes upon completion of all previously submitted
|
||||
|
|
|
@ -639,7 +639,7 @@ _cogl_journal_flush_vbo_offsets_and_entries (CoglJournalEntry *batch_start,
|
|||
state->current_vertex = 0;
|
||||
|
||||
if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_JOURNAL)) &&
|
||||
cogl_has_feature (ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_READ))
|
||||
cogl_context_has_feature (ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_READ))
|
||||
{
|
||||
uint8_t *verts;
|
||||
|
||||
|
|
|
@ -1104,7 +1104,7 @@ cogl_texture_allocate (CoglTexture *texture,
|
|||
return TRUE;
|
||||
|
||||
if (texture->components == COGL_TEXTURE_COMPONENTS_RG &&
|
||||
!cogl_has_feature (texture->context, COGL_FEATURE_ID_TEXTURE_RG))
|
||||
!cogl_context_has_feature (texture->context, COGL_FEATURE_ID_TEXTURE_RG))
|
||||
g_set_error (error,
|
||||
COGL_TEXTURE_ERROR,
|
||||
COGL_TEXTURE_ERROR_FORMAT,
|
||||
|
|
|
@ -165,7 +165,7 @@ cogl_blend_string_error_quark (void);
|
|||
* variety of reasons. For example:
|
||||
*
|
||||
* - You've tried to use a feature that is not advertised by
|
||||
* [func@Cogl.has_feature].
|
||||
* [method@Cogl.Context.has_feature].
|
||||
* - The GPU can not handle the configuration you have requested.
|
||||
* An example might be if you try to use too many texture
|
||||
* layers in a single #CoglPipeline
|
||||
|
|
|
@ -66,12 +66,6 @@ _cogl_check_extension (const char *name, char * const *ext)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
cogl_has_feature (CoglContext *ctx, CoglFeatureID feature)
|
||||
{
|
||||
return COGL_FLAGS_GET (ctx->features, feature);
|
||||
}
|
||||
|
||||
uint32_t
|
||||
_cogl_driver_error_quark (void)
|
||||
{
|
||||
|
|
|
@ -207,9 +207,9 @@ _cogl_buffer_gl_map_range (CoglBuffer *buffer,
|
|||
CoglContext *ctx = buffer->context;
|
||||
|
||||
if (((access & COGL_BUFFER_ACCESS_READ) &&
|
||||
!cogl_has_feature (ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_READ)) ||
|
||||
!cogl_context_has_feature (ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_READ)) ||
|
||||
((access & COGL_BUFFER_ACCESS_WRITE) &&
|
||||
!cogl_has_feature (ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE)))
|
||||
!cogl_context_has_feature (ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE)))
|
||||
{
|
||||
g_set_error_literal (error,
|
||||
COGL_SYSTEM_ERROR,
|
||||
|
|
|
@ -215,7 +215,7 @@ _cogl_glsl_shader_set_source_with_boilerplate (CoglContext *ctx,
|
|||
strings[count] = version_string;
|
||||
lengths[count++] = -1;
|
||||
|
||||
if (cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL))
|
||||
if (cogl_context_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL))
|
||||
{
|
||||
static const char image_external_extension[] =
|
||||
"#extension GL_OES_EGL_image_external : require\n";
|
||||
|
|
|
@ -394,8 +394,8 @@ cogl_texture_2d_new_from_egl_image_external (CoglContext *ctx,
|
|||
COGL_RENDERER_CONSTRAINT_USES_EGL,
|
||||
NULL);
|
||||
|
||||
g_return_val_if_fail (cogl_has_feature (ctx,
|
||||
COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL),
|
||||
g_return_val_if_fail (cogl_context_has_feature (ctx,
|
||||
COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL),
|
||||
NULL);
|
||||
|
||||
loader = _cogl_texture_create_loader ();
|
||||
|
|
|
@ -254,7 +254,7 @@ _cogl_driver_gl_flush_framebuffer_state (CoglContext *ctx,
|
|||
{
|
||||
/* NB: Currently we only take advantage of binding separate
|
||||
* read/write buffers for framebuffer blit purposes. */
|
||||
g_return_if_fail (cogl_has_feature
|
||||
g_return_if_fail (cogl_context_has_feature
|
||||
(ctx, COGL_FEATURE_ID_BLIT_FRAMEBUFFER));
|
||||
|
||||
cogl_gl_framebuffer_bind (draw_gl_framebuffer, GL_DRAW_FRAMEBUFFER);
|
||||
|
@ -516,8 +516,8 @@ cogl_gl_create_timestamp_query (CoglContext *context)
|
|||
{
|
||||
CoglTimestampQuery *query;
|
||||
|
||||
g_return_val_if_fail (cogl_has_feature (context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
g_return_val_if_fail (cogl_context_has_feature (context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
NULL);
|
||||
|
||||
query = g_new0 (CoglTimestampQuery, 1);
|
||||
|
@ -563,8 +563,8 @@ cogl_gl_get_gpu_time_ns (CoglContext *context)
|
|||
{
|
||||
int64_t gpu_time_ns;
|
||||
|
||||
g_return_val_if_fail (cogl_has_feature (context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
g_return_val_if_fail (cogl_context_has_feature (context,
|
||||
COGL_FEATURE_ID_TIMESTAMP_QUERY),
|
||||
0);
|
||||
|
||||
GE (context, glGetInteger64v (GL_TIMESTAMP, &gpu_time_ns));
|
||||
|
|
|
@ -163,7 +163,7 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
|
|||
break;
|
||||
|
||||
case COGL_PIXEL_FORMAT_RG_88:
|
||||
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_RG))
|
||||
if (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_RG))
|
||||
{
|
||||
glintformat = GL_RG8_EXT;
|
||||
glformat = GL_RG;
|
||||
|
@ -196,7 +196,7 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
|
|||
break;
|
||||
|
||||
case COGL_PIXEL_FORMAT_R_16:
|
||||
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
if (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
{
|
||||
glintformat = GL_R16;
|
||||
glformat = GL_RED;
|
||||
|
@ -210,10 +210,10 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
|
|||
break;
|
||||
|
||||
case COGL_PIXEL_FORMAT_RG_1616:
|
||||
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
if (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
{
|
||||
/* NORM16 implies RG for GLES */
|
||||
g_assert (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_RG));
|
||||
g_assert (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_RG));
|
||||
glintformat = GL_RG16;
|
||||
glformat = GL_RG;
|
||||
gltype = GL_UNSIGNED_SHORT;
|
||||
|
@ -227,7 +227,7 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
|
|||
|
||||
case COGL_PIXEL_FORMAT_RGBA_16161616:
|
||||
case COGL_PIXEL_FORMAT_RGBA_16161616_PRE:
|
||||
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
if (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
{
|
||||
glintformat = GL_RGBA16;
|
||||
glformat = GL_RGBA;
|
||||
|
@ -318,7 +318,7 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
|
|||
case COGL_PIXEL_FORMAT_ABGR_2101010:
|
||||
case COGL_PIXEL_FORMAT_ABGR_2101010_PRE:
|
||||
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
|
||||
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
if (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
{
|
||||
glintformat = GL_RGB10_A2;
|
||||
glformat = GL_RGBA;
|
||||
|
@ -352,7 +352,7 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
|
|||
case COGL_PIXEL_FORMAT_RGBX_FP_16161616:
|
||||
case COGL_PIXEL_FORMAT_RGBA_FP_16161616:
|
||||
case COGL_PIXEL_FORMAT_RGBA_FP_16161616_PRE:
|
||||
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
if (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
{
|
||||
glintformat = GL_RGBA16F;
|
||||
glformat = GL_RGBA;
|
||||
|
@ -384,7 +384,7 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
|
|||
|
||||
case COGL_PIXEL_FORMAT_RGBA_FP_32323232:
|
||||
case COGL_PIXEL_FORMAT_RGBA_FP_32323232_PRE:
|
||||
if (cogl_has_feature (context, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
if (cogl_context_has_feature (context, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
{
|
||||
glintformat = GL_RGBA32F;
|
||||
glformat = GL_RGBA;
|
||||
|
|
|
@ -465,7 +465,7 @@ _cogl_texture_driver_upload_supported (CoglContext *ctx,
|
|||
case COGL_PIXEL_FORMAT_ARGB_2101010:
|
||||
case COGL_PIXEL_FORMAT_ARGB_2101010_PRE:
|
||||
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
|
||||
if (cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
if (cogl_context_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
|
@ -502,7 +502,7 @@ _cogl_texture_driver_upload_supported (CoglContext *ctx,
|
|||
case COGL_PIXEL_FORMAT_RGBA_FP_16161616_PRE:
|
||||
case COGL_PIXEL_FORMAT_RGBA_FP_32323232:
|
||||
case COGL_PIXEL_FORMAT_RGBA_FP_32323232_PRE:
|
||||
if (cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
if (cogl_context_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
|
@ -510,7 +510,7 @@ _cogl_texture_driver_upload_supported (CoglContext *ctx,
|
|||
case COGL_PIXEL_FORMAT_RG_1616:
|
||||
case COGL_PIXEL_FORMAT_RGBA_16161616:
|
||||
case COGL_PIXEL_FORMAT_RGBA_16161616_PRE:
|
||||
if (cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
if (cogl_context_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_NORM16))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
|
|
|
@ -288,7 +288,7 @@ cogl_onscreen_egl_maybe_create_timestamp_query (CoglOnscreen *onscreen,
|
|||
CoglFramebuffer *framebuffer = COGL_FRAMEBUFFER (onscreen);
|
||||
CoglContext *context = cogl_framebuffer_get_context (framebuffer);
|
||||
|
||||
if (!cogl_has_feature (context, COGL_FEATURE_ID_TIMESTAMP_QUERY))
|
||||
if (!cogl_context_has_feature (context, COGL_FEATURE_ID_TIMESTAMP_QUERY))
|
||||
return;
|
||||
|
||||
info->gpu_time_before_buffer_swap_ns =
|
||||
|
|
|
@ -501,7 +501,7 @@ set_color_space_and_hdr_metadata (MetaMonitorManager *manager,
|
|||
CoglContext *cogl_context = clutter_backend_get_cogl_context (clutter_backend);
|
||||
|
||||
if (enable &&
|
||||
!cogl_has_feature (cogl_context, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
!cogl_context_has_feature (cogl_context, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
{
|
||||
g_warning ("Tried to enable HDR without half float rendering support, ignoring");
|
||||
enable = FALSE;
|
||||
|
|
|
@ -1634,7 +1634,7 @@ meta_onscreen_native_direct_scanout (CoglOnscreen *onscreen,
|
|||
|
||||
frame_info->cpu_time_before_buffer_swap_us = g_get_monotonic_time ();
|
||||
|
||||
if (cogl_has_feature (cogl_context, COGL_FEATURE_ID_TIMESTAMP_QUERY))
|
||||
if (cogl_context_has_feature (cogl_context, COGL_FEATURE_ID_TIMESTAMP_QUERY))
|
||||
frame_info->has_valid_gpu_rendering_duration = TRUE;
|
||||
|
||||
kms_crtc = meta_crtc_kms_get_kms_crtc (META_CRTC_KMS (onscreen_native->crtc));
|
||||
|
|
|
@ -1373,7 +1373,7 @@ should_force_shadow_fb (MetaRendererNative *renderer_native,
|
|||
if (meta_renderer_is_hardware_accelerated (renderer))
|
||||
return FALSE;
|
||||
|
||||
if (!cogl_has_feature (cogl_context, COGL_FEATURE_ID_BLIT_FRAMEBUFFER))
|
||||
if (!cogl_context_has_feature (cogl_context, COGL_FEATURE_ID_BLIT_FRAMEBUFFER))
|
||||
return FALSE;
|
||||
|
||||
return meta_kms_device_prefers_shadow_buffer (kms_device);
|
||||
|
|
|
@ -34,7 +34,7 @@ test_map_buffer_range (void)
|
|||
CoglAttribute *tex_coord_attribute;
|
||||
CoglPrimitive *primitive;
|
||||
|
||||
if (!cogl_has_feature (test_ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE))
|
||||
if (!cogl_context_has_feature (test_ctx, COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE))
|
||||
{
|
||||
g_test_skip ("Missing map buffer for write capability");
|
||||
return;
|
||||
|
|
|
@ -156,7 +156,7 @@ test_offscreen_texture_formats_store_fp16 (void)
|
|||
};
|
||||
int i;
|
||||
|
||||
if (!cogl_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
if (!cogl_context_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
{
|
||||
g_test_skip ("Driver does not support fp formats");
|
||||
return;
|
||||
|
@ -301,7 +301,7 @@ test_offscreen_texture_formats_store_rgb10 (void)
|
|||
};
|
||||
int i;
|
||||
|
||||
if (!cogl_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
if (!cogl_context_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
{
|
||||
g_test_skip ("Driver does not support 10bpc formats");
|
||||
return;
|
||||
|
@ -540,7 +540,7 @@ test_offscreen_texture_formats_paint_fp16 (void)
|
|||
};
|
||||
int i;
|
||||
|
||||
if (!cogl_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
if (!cogl_context_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_HALF_FLOAT))
|
||||
{
|
||||
g_test_skip ("Driver does not support fp formats");
|
||||
return;
|
||||
|
@ -670,7 +670,7 @@ test_offscreen_texture_formats_paint_rgb10 (void)
|
|||
};
|
||||
int i;
|
||||
|
||||
if (!cogl_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
if (!cogl_context_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_RGBA1010102))
|
||||
{
|
||||
g_test_skip ("Driver does not support 10bpc formats");
|
||||
return;
|
||||
|
|
|
@ -36,7 +36,7 @@ test_texture_rg (void)
|
|||
int fb_width, fb_height;
|
||||
int x, y;
|
||||
|
||||
if (!cogl_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_RG))
|
||||
if (!cogl_context_has_feature (test_ctx, COGL_FEATURE_ID_TEXTURE_RG))
|
||||
{
|
||||
g_test_skip ("Missing TEXTURE_RG feature");
|
||||
return;
|
||||
|
|
|
@ -465,7 +465,7 @@ meta_wayland_drm_syncobj_manager_new (MetaWaylandCompositor *compositor,
|
|||
|
||||
g_assert (backend && egl && clutter_backend && cogl_context && egl_display);
|
||||
|
||||
if (!cogl_has_feature (cogl_context, COGL_FEATURE_ID_SYNC_FD))
|
||||
if (!cogl_context_has_feature (cogl_context, COGL_FEATURE_ID_SYNC_FD))
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
|
||||
"Missing 'EGL_ANDROID_native_fence_sync'");
|
||||
|
|
Loading…
Reference in a new issue