cogl: Rename Driver to DriverID
As we will be having a CoglDriver abstract class in the next commit. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132>
This commit is contained in:
parent
1131c3b634
commit
0103288739
@ -160,7 +160,7 @@ clutter_backend_real_resolution_changed (ClutterBackend *backend)
|
|||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
clutter_backend_do_real_create_context (ClutterBackend *backend,
|
clutter_backend_do_real_create_context (ClutterBackend *backend,
|
||||||
CoglDriver driver_id,
|
CoglDriverId driver_id,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
ClutterBackendClass *klass;
|
ClutterBackendClass *klass;
|
||||||
@ -209,11 +209,11 @@ error:
|
|||||||
static const struct {
|
static const struct {
|
||||||
const char *driver_name;
|
const char *driver_name;
|
||||||
const char *driver_desc;
|
const char *driver_desc;
|
||||||
CoglDriver driver_id;
|
CoglDriverId driver_id;
|
||||||
} all_known_drivers[] = {
|
} all_known_drivers[] = {
|
||||||
{ "gl3", "OpenGL 3.1 core profile", COGL_DRIVER_GL3 },
|
{ "gl3", "OpenGL 3.1 core profile", COGL_DRIVER_ID_GL3 },
|
||||||
{ "gles2", "OpenGL ES 2.0", COGL_DRIVER_GLES2 },
|
{ "gles2", "OpenGL ES 2.0", COGL_DRIVER_ID_GLES2 },
|
||||||
{ "any", "Default Cogl driver", COGL_DRIVER_ANY },
|
{ "any", "Default Cogl driver", COGL_DRIVER_ID_ANY },
|
||||||
};
|
};
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -69,7 +69,7 @@ struct _CoglContext
|
|||||||
|
|
||||||
CoglDisplay *display;
|
CoglDisplay *display;
|
||||||
|
|
||||||
CoglDriver driver;
|
CoglDriverId driver_id;
|
||||||
|
|
||||||
/* vtables for the driver functions */
|
/* vtables for the driver functions */
|
||||||
const CoglDriverVtable *driver_vtable;
|
const CoglDriverVtable *driver_vtable;
|
||||||
|
@ -220,7 +220,7 @@ cogl_context_new (CoglDisplay *display,
|
|||||||
/* This is duplicated data, but it's much more convenient to have
|
/* This is duplicated data, but it's much more convenient to have
|
||||||
the driver attached to the context and the value is accessed a
|
the driver attached to the context and the value is accessed a
|
||||||
lot throughout Cogl */
|
lot throughout Cogl */
|
||||||
context->driver = display->renderer->driver;
|
context->driver_id = display->renderer->driver_id;
|
||||||
|
|
||||||
/* Again this is duplicated data, but it convenient to be able
|
/* Again this is duplicated data, but it convenient to be able
|
||||||
* access these from the context. */
|
* access these from the context. */
|
||||||
|
33
cogl/cogl/cogl-driver.c
Normal file
33
cogl/cogl/cogl-driver.c
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Cogl
|
||||||
|
*
|
||||||
|
* A Low Level GPU Graphics and Utilities API
|
||||||
|
*
|
||||||
|
* Copyright (C) 2024 Red Hat.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person
|
||||||
|
* obtaining a copy of this software and associated documentation
|
||||||
|
* files (the "Software"), to deal in the Software without
|
||||||
|
* restriction, including without limitation the rights to use, copy,
|
||||||
|
* modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
|
* of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be
|
||||||
|
* included in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||||
|
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
* SOFTWARE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "cogl/cogl-driver-private.h"
|
||||||
|
|
@ -44,7 +44,7 @@ _cogl_feature_check (CoglRenderer *renderer,
|
|||||||
const CoglFeatureData *data,
|
const CoglFeatureData *data,
|
||||||
int gl_major,
|
int gl_major,
|
||||||
int gl_minor,
|
int gl_minor,
|
||||||
CoglDriver driver,
|
CoglDriverId driver,
|
||||||
char * const *extensions,
|
char * const *extensions,
|
||||||
void *function_table)
|
void *function_table)
|
||||||
|
|
||||||
@ -55,22 +55,22 @@ _cogl_feature_check (CoglRenderer *renderer,
|
|||||||
|
|
||||||
switch (driver)
|
switch (driver)
|
||||||
{
|
{
|
||||||
case COGL_DRIVER_GLES2:
|
case COGL_DRIVER_ID_GLES2:
|
||||||
gles_availability = COGL_EXT_IN_GLES2;
|
gles_availability = COGL_EXT_IN_GLES2;
|
||||||
|
|
||||||
if (COGL_CHECK_GL_VERSION (gl_major, gl_minor, 3, 0))
|
if (COGL_CHECK_GL_VERSION (gl_major, gl_minor, 3, 0))
|
||||||
gles_availability |= COGL_EXT_IN_GLES3;
|
gles_availability |= COGL_EXT_IN_GLES3;
|
||||||
break;
|
break;
|
||||||
case COGL_DRIVER_ANY:
|
case COGL_DRIVER_ID_ANY:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
case COGL_DRIVER_NOP:
|
case COGL_DRIVER_ID_NOP:
|
||||||
case COGL_DRIVER_GL3:
|
case COGL_DRIVER_ID_GL3:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* First check whether the functions should be directly provided by
|
/* First check whether the functions should be directly provided by
|
||||||
GL */
|
GL */
|
||||||
if ((driver == COGL_DRIVER_GL3 &&
|
if ((driver == COGL_DRIVER_ID_GL3 &&
|
||||||
COGL_CHECK_GL_VERSION (gl_major, gl_minor,
|
COGL_CHECK_GL_VERSION (gl_major, gl_minor,
|
||||||
data->min_gl_major, data->min_gl_minor)) ||
|
data->min_gl_major, data->min_gl_minor)) ||
|
||||||
(data->gles_availability & gles_availability))
|
(data->gles_availability & gles_availability))
|
||||||
@ -213,7 +213,7 @@ _cogl_feature_check_ext_functions (CoglContext *context,
|
|||||||
for (i = 0; i < G_N_ELEMENTS (cogl_feature_ext_functions_data); i++)
|
for (i = 0; i < G_N_ELEMENTS (cogl_feature_ext_functions_data); i++)
|
||||||
_cogl_feature_check (context->display->renderer,
|
_cogl_feature_check (context->display->renderer,
|
||||||
"GL", cogl_feature_ext_functions_data + i,
|
"GL", cogl_feature_ext_functions_data + i,
|
||||||
gl_major, gl_minor, context->driver,
|
gl_major, gl_minor, context->driver_id,
|
||||||
gl_extensions,
|
gl_extensions,
|
||||||
context);
|
context);
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@ _cogl_feature_check (CoglRenderer *renderer,
|
|||||||
const CoglFeatureData *data,
|
const CoglFeatureData *data,
|
||||||
int gl_major,
|
int gl_major,
|
||||||
int gl_minor,
|
int gl_minor,
|
||||||
CoglDriver driver,
|
CoglDriverId driver,
|
||||||
char * const *extensions,
|
char * const *extensions,
|
||||||
void *function_table);
|
void *function_table);
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ struct _CoglRenderer
|
|||||||
CoglDisplay *display;
|
CoglDisplay *display;
|
||||||
|
|
||||||
gboolean connected;
|
gboolean connected;
|
||||||
CoglDriver driver_override;
|
CoglDriverId driver_override;
|
||||||
const CoglDriverVtable *driver_vtable;
|
const CoglDriverVtable *driver_vtable;
|
||||||
CoglTextureDriver *texture_driver;
|
CoglTextureDriver *texture_driver;
|
||||||
const CoglWinsysVtable *winsys_vtable;
|
const CoglWinsysVtable *winsys_vtable;
|
||||||
@ -60,7 +60,7 @@ struct _CoglRenderer
|
|||||||
Display *foreign_xdpy;
|
Display *foreign_xdpy;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CoglDriver driver;
|
CoglDriverId driver_id;
|
||||||
unsigned long private_features
|
unsigned long private_features
|
||||||
[COGL_FLAGS_N_LONGS_FOR_SIZE (COGL_N_PRIVATE_FEATURES)];
|
[COGL_FLAGS_N_LONGS_FOR_SIZE (COGL_N_PRIVATE_FEATURES)];
|
||||||
GModule *libgl_module;
|
GModule *libgl_module;
|
||||||
|
@ -75,7 +75,7 @@ extern const CoglDriverVtable _cogl_driver_nop;
|
|||||||
|
|
||||||
typedef struct _CoglDriverDescription
|
typedef struct _CoglDriverDescription
|
||||||
{
|
{
|
||||||
CoglDriver id;
|
CoglDriverId id;
|
||||||
const char *name;
|
const char *name;
|
||||||
/* It would be nice to make this a pointer and then use a compound
|
/* It would be nice to make this a pointer and then use a compound
|
||||||
* literal from C99 to initialise it but we probably can't get away
|
* literal from C99 to initialise it but we probably can't get away
|
||||||
@ -91,7 +91,7 @@ static CoglDriverDescription _cogl_drivers[] =
|
|||||||
{
|
{
|
||||||
#ifdef HAVE_GL
|
#ifdef HAVE_GL
|
||||||
{
|
{
|
||||||
COGL_DRIVER_GL3,
|
COGL_DRIVER_ID_GL3,
|
||||||
"gl3",
|
"gl3",
|
||||||
{ COGL_PRIVATE_FEATURE_ANY_GL,
|
{ COGL_PRIVATE_FEATURE_ANY_GL,
|
||||||
-1 },
|
-1 },
|
||||||
@ -101,7 +101,7 @@ static CoglDriverDescription _cogl_drivers[] =
|
|||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_GLES2
|
#ifdef HAVE_GLES2
|
||||||
{
|
{
|
||||||
COGL_DRIVER_GLES2,
|
COGL_DRIVER_ID_GLES2,
|
||||||
"gles2",
|
"gles2",
|
||||||
{ COGL_PRIVATE_FEATURE_ANY_GL,
|
{ COGL_PRIVATE_FEATURE_ANY_GL,
|
||||||
-1 },
|
-1 },
|
||||||
@ -110,7 +110,7 @@ static CoglDriverDescription _cogl_drivers[] =
|
|||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
COGL_DRIVER_NOP,
|
COGL_DRIVER_ID_NOP,
|
||||||
"nop",
|
"nop",
|
||||||
{ -1 },
|
{ -1 },
|
||||||
&_cogl_driver_nop,
|
&_cogl_driver_nop,
|
||||||
@ -222,13 +222,13 @@ typedef gboolean (*CoglDriverCallback) (CoglDriverDescription *description,
|
|||||||
void *user_data);
|
void *user_data);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
foreach_driver_description (CoglDriver driver_override,
|
foreach_driver_description (CoglDriverId driver_override,
|
||||||
CoglDriverCallback callback,
|
CoglDriverCallback callback,
|
||||||
void *user_data)
|
void *user_data)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (driver_override != COGL_DRIVER_ANY)
|
if (driver_override != COGL_DRIVER_ID_ANY)
|
||||||
{
|
{
|
||||||
for (i = 0; i < G_N_ELEMENTS (_cogl_drivers); i++)
|
for (i = 0; i < G_N_ELEMENTS (_cogl_drivers); i++)
|
||||||
{
|
{
|
||||||
@ -250,7 +250,7 @@ foreach_driver_description (CoglDriver driver_override,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static CoglDriver
|
static CoglDriverId
|
||||||
driver_name_to_id (const char *name)
|
driver_name_to_id (const char *name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -261,21 +261,21 @@ driver_name_to_id (const char *name)
|
|||||||
return _cogl_drivers[i].id;
|
return _cogl_drivers[i].id;
|
||||||
}
|
}
|
||||||
|
|
||||||
return COGL_DRIVER_ANY;
|
return COGL_DRIVER_ID_ANY;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
driver_id_to_name (CoglDriver id)
|
driver_id_to_name (CoglDriverId id)
|
||||||
{
|
{
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case COGL_DRIVER_GL3:
|
case COGL_DRIVER_ID_GL3:
|
||||||
return "gl3";
|
return "gl3";
|
||||||
case COGL_DRIVER_GLES2:
|
case COGL_DRIVER_ID_GLES2:
|
||||||
return "gles2";
|
return "gles2";
|
||||||
case COGL_DRIVER_NOP:
|
case COGL_DRIVER_ID_NOP:
|
||||||
return "nop";
|
return "nop";
|
||||||
case COGL_DRIVER_ANY:
|
case COGL_DRIVER_ID_ANY:
|
||||||
g_warn_if_reached ();
|
g_warn_if_reached ();
|
||||||
return "any";
|
return "any";
|
||||||
}
|
}
|
||||||
@ -306,7 +306,7 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
|
|||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
const char *driver_name = g_getenv ("COGL_DRIVER");
|
const char *driver_name = g_getenv ("COGL_DRIVER");
|
||||||
CoglDriver driver_override = COGL_DRIVER_ANY;
|
CoglDriverId driver_override = COGL_DRIVER_ID_ANY;
|
||||||
const char *invalid_override = NULL;
|
const char *invalid_override = NULL;
|
||||||
const char *libgl_name;
|
const char *libgl_name;
|
||||||
SatisfyConstraintsState state;
|
SatisfyConstraintsState state;
|
||||||
@ -316,13 +316,13 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
|
|||||||
if (driver_name)
|
if (driver_name)
|
||||||
{
|
{
|
||||||
driver_override = driver_name_to_id (driver_name);
|
driver_override = driver_name_to_id (driver_name);
|
||||||
if (driver_override == COGL_DRIVER_ANY)
|
if (driver_override == COGL_DRIVER_ID_ANY)
|
||||||
invalid_override = driver_name;
|
invalid_override = driver_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (renderer->driver_override != COGL_DRIVER_ANY)
|
if (renderer->driver_override != COGL_DRIVER_ID_ANY)
|
||||||
{
|
{
|
||||||
if (driver_override != COGL_DRIVER_ANY &&
|
if (driver_override != COGL_DRIVER_ID_ANY &&
|
||||||
renderer->driver_override != driver_override)
|
renderer->driver_override != driver_override)
|
||||||
{
|
{
|
||||||
g_set_error (error, COGL_RENDERER_ERROR,
|
g_set_error (error, COGL_RENDERER_ERROR,
|
||||||
@ -335,7 +335,7 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
|
|||||||
driver_override = renderer->driver_override;
|
driver_override = renderer->driver_override;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (driver_override != COGL_DRIVER_ANY)
|
if (driver_override != COGL_DRIVER_ID_ANY)
|
||||||
{
|
{
|
||||||
gboolean found = FALSE;
|
gboolean found = FALSE;
|
||||||
|
|
||||||
@ -375,23 +375,23 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
desc = state.driver_description;
|
desc = state.driver_description;
|
||||||
renderer->driver = desc->id;
|
renderer->driver_id = desc->id;
|
||||||
renderer->driver_vtable = desc->vtable;
|
renderer->driver_vtable = desc->vtable;
|
||||||
|
|
||||||
switch (renderer->driver)
|
switch (renderer->driver_id)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_GL
|
#ifdef HAVE_GL
|
||||||
case COGL_DRIVER_GL3:
|
case COGL_DRIVER_ID_GL3:
|
||||||
renderer->texture_driver = g_object_new (COGL_TYPE_TEXTURE_DRIVER_GL3, NULL);
|
renderer->texture_driver = g_object_new (COGL_TYPE_TEXTURE_DRIVER_GL3, NULL);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_GLES2
|
#ifdef HAVE_GLES2
|
||||||
case COGL_DRIVER_GLES2:
|
case COGL_DRIVER_ID_GLES2:
|
||||||
renderer->texture_driver = g_object_new (COGL_TYPE_TEXTURE_DRIVER_GLES2, NULL);
|
renderer->texture_driver = g_object_new (COGL_TYPE_TEXTURE_DRIVER_GLES2, NULL);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case COGL_DRIVER_NOP:
|
case COGL_DRIVER_ID_NOP:
|
||||||
default:
|
default:
|
||||||
renderer->texture_driver = NULL;
|
renderer->texture_driver = NULL;
|
||||||
break;
|
break;
|
||||||
@ -602,18 +602,18 @@ cogl_renderer_get_proc_address (CoglRenderer *renderer,
|
|||||||
|
|
||||||
void
|
void
|
||||||
cogl_renderer_set_driver (CoglRenderer *renderer,
|
cogl_renderer_set_driver (CoglRenderer *renderer,
|
||||||
CoglDriver driver)
|
CoglDriverId driver)
|
||||||
{
|
{
|
||||||
g_return_if_fail (!renderer->connected);
|
g_return_if_fail (!renderer->connected);
|
||||||
renderer->driver_override = driver;
|
renderer->driver_override = driver;
|
||||||
}
|
}
|
||||||
|
|
||||||
CoglDriver
|
CoglDriverId
|
||||||
cogl_renderer_get_driver (CoglRenderer *renderer)
|
cogl_renderer_get_driver_id (CoglRenderer *renderer)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (renderer->connected, 0);
|
g_return_val_if_fail (renderer->connected, 0);
|
||||||
|
|
||||||
return renderer->driver;
|
return renderer->driver_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
GArray *
|
GArray *
|
||||||
|
@ -179,22 +179,22 @@ COGL_EXPORT gboolean
|
|||||||
cogl_renderer_connect (CoglRenderer *renderer, GError **error);
|
cogl_renderer_connect (CoglRenderer *renderer, GError **error);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CoglDriver:
|
* CoglDriverId:
|
||||||
* @COGL_DRIVER_ANY: Implies no preference for which driver is used
|
* @COGL_DRIVER_ID_ANY: Implies no preference for which driver is used
|
||||||
* @COGL_DRIVER_NOP: A No-Op driver.
|
* @COGL_DRIVER_ID_NOP: A No-Op driver.
|
||||||
* @COGL_DRIVER_GL3: An OpenGL driver using the core GL 3.1 profile
|
* @COGL_DRIVER_ID_GL3: An OpenGL driver using the core GL 3.1 profile
|
||||||
* @COGL_DRIVER_GLES2: An OpenGL ES 2.0 driver.
|
* @COGL_DRIVER_ID_GLES2: An OpenGL ES 2.0 driver.
|
||||||
*
|
*
|
||||||
* Identifiers for underlying hardware drivers that may be used by
|
* Identifiers for underlying hardware drivers that may be used by
|
||||||
* Cogl for rendering.
|
* Cogl for rendering.
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
COGL_DRIVER_ANY,
|
COGL_DRIVER_ID_ANY,
|
||||||
COGL_DRIVER_NOP,
|
COGL_DRIVER_ID_NOP,
|
||||||
COGL_DRIVER_GL3,
|
COGL_DRIVER_ID_GL3,
|
||||||
COGL_DRIVER_GLES2,
|
COGL_DRIVER_ID_GLES2,
|
||||||
} CoglDriver;
|
} CoglDriverId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cogl_renderer_set_driver:
|
* cogl_renderer_set_driver:
|
||||||
@ -212,18 +212,18 @@ typedef enum
|
|||||||
*/
|
*/
|
||||||
COGL_EXPORT void
|
COGL_EXPORT void
|
||||||
cogl_renderer_set_driver (CoglRenderer *renderer,
|
cogl_renderer_set_driver (CoglRenderer *renderer,
|
||||||
CoglDriver driver);
|
CoglDriverId driver);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cogl_renderer_get_driver:
|
* cogl_renderer_get_driver_id:
|
||||||
* @renderer: A connected #CoglRenderer
|
* @renderer: A connected #CoglRenderer
|
||||||
*
|
*
|
||||||
* Queries what underlying driver is being used by Cogl.
|
* Queries what underlying driver is being used by Cogl.
|
||||||
*
|
*
|
||||||
* This may only be called on a connected #CoglRenderer.
|
* This may only be called on a connected #CoglRenderer.
|
||||||
*/
|
*/
|
||||||
COGL_EXPORT CoglDriver
|
COGL_EXPORT CoglDriverId
|
||||||
cogl_renderer_get_driver (CoglRenderer *renderer);
|
cogl_renderer_get_driver_id (CoglRenderer *renderer);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -431,7 +431,7 @@ cogl_gl_framebuffer_read_pixels_into_bitmap (CoglFramebufferDriver *driver,
|
|||||||
(source & COGL_READ_PIXELS_NO_FLIP) == 0 &&
|
(source & COGL_READ_PIXELS_NO_FLIP) == 0 &&
|
||||||
!cogl_framebuffer_is_y_flipped (framebuffer))
|
!cogl_framebuffer_is_y_flipped (framebuffer))
|
||||||
{
|
{
|
||||||
if (ctx->driver == COGL_DRIVER_GLES2)
|
if (ctx->driver_id == COGL_DRIVER_ID_GLES2)
|
||||||
gl_pack_enum = GL_PACK_REVERSE_ROW_ORDER_ANGLE;
|
gl_pack_enum = GL_PACK_REVERSE_ROW_ORDER_ANGLE;
|
||||||
else
|
else
|
||||||
gl_pack_enum = GL_PACK_INVERT_MESA;
|
gl_pack_enum = GL_PACK_INVERT_MESA;
|
||||||
|
@ -287,7 +287,7 @@ flush_depth_state (CoglContext *ctx,
|
|||||||
if ((ctx->depth_range_near_cache != depth_state->range_near ||
|
if ((ctx->depth_range_near_cache != depth_state->range_near ||
|
||||||
ctx->depth_range_far_cache != depth_state->range_far))
|
ctx->depth_range_far_cache != depth_state->range_far))
|
||||||
{
|
{
|
||||||
if (ctx->driver == COGL_DRIVER_GLES2)
|
if (ctx->driver_id == COGL_DRIVER_ID_GLES2)
|
||||||
GE (ctx, glDepthRangef (depth_state->range_near,
|
GE (ctx, glDepthRangef (depth_state->range_near,
|
||||||
depth_state->range_far));
|
depth_state->range_far));
|
||||||
else
|
else
|
||||||
@ -418,7 +418,7 @@ get_max_activateable_texture_units (CoglContext *ctx)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
#ifdef HAVE_GL
|
#ifdef HAVE_GL
|
||||||
if (ctx->driver != COGL_DRIVER_GLES2)
|
if (ctx->driver_id != COGL_DRIVER_ID_GLES2)
|
||||||
{
|
{
|
||||||
/* GL_MAX_TEXTURE_COORDS defines the number of texture coordinates
|
/* GL_MAX_TEXTURE_COORDS defines the number of texture coordinates
|
||||||
* that can be uploaded (but doesn't necessarily relate to how many
|
* that can be uploaded (but doesn't necessarily relate to how many
|
||||||
@ -431,7 +431,7 @@ get_max_activateable_texture_units (CoglContext *ctx)
|
|||||||
#endif /* HAVE_GL */
|
#endif /* HAVE_GL */
|
||||||
|
|
||||||
#ifdef HAVE_GLES2
|
#ifdef HAVE_GLES2
|
||||||
if (ctx->driver == COGL_DRIVER_GLES2)
|
if (ctx->driver_id == COGL_DRIVER_ID_GLES2)
|
||||||
{
|
{
|
||||||
GE (ctx, glGetIntegerv (GL_MAX_VERTEX_ATTRIBS, values + n_values));
|
GE (ctx, glGetIntegerv (GL_MAX_VERTEX_ATTRIBS, values + n_values));
|
||||||
/* Two of the vertex attribs need to be used for the position
|
/* Two of the vertex attribs need to be used for the position
|
||||||
|
@ -332,7 +332,7 @@ _cogl_context_get_gl_extensions (CoglContext *context)
|
|||||||
/* In GL 3, querying GL_EXTENSIONS is deprecated so we have to build
|
/* In GL 3, querying GL_EXTENSIONS is deprecated so we have to build
|
||||||
* the array using glGetStringi instead */
|
* the array using glGetStringi instead */
|
||||||
#ifdef HAVE_GL
|
#ifdef HAVE_GL
|
||||||
if (context->driver == COGL_DRIVER_GL3)
|
if (context->driver_id == COGL_DRIVER_ID_GL3)
|
||||||
{
|
{
|
||||||
int num_extensions, i;
|
int num_extensions, i;
|
||||||
|
|
||||||
|
@ -128,9 +128,9 @@ _cogl_winsys_renderer_disconnect (CoglRenderer *renderer)
|
|||||||
static void
|
static void
|
||||||
_cogl_winsys_renderer_bind_api (CoglRenderer *renderer)
|
_cogl_winsys_renderer_bind_api (CoglRenderer *renderer)
|
||||||
{
|
{
|
||||||
if (renderer->driver == COGL_DRIVER_GL3)
|
if (renderer->driver_id == COGL_DRIVER_ID_GL3)
|
||||||
eglBindAPI (EGL_OPENGL_API);
|
eglBindAPI (EGL_OPENGL_API);
|
||||||
else if (renderer->driver == COGL_DRIVER_GLES2)
|
else if (renderer->driver_id == COGL_DRIVER_ID_GLES2)
|
||||||
eglBindAPI (EGL_OPENGL_ES_API);
|
eglBindAPI (EGL_OPENGL_ES_API);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ check_egl_extensions (CoglRenderer *renderer)
|
|||||||
for (i = 0; i < G_N_ELEMENTS (winsys_feature_data); i++)
|
for (i = 0; i < G_N_ELEMENTS (winsys_feature_data); i++)
|
||||||
if (_cogl_feature_check (renderer,
|
if (_cogl_feature_check (renderer,
|
||||||
"EGL", winsys_feature_data + i, 0, 0,
|
"EGL", winsys_feature_data + i, 0, 0,
|
||||||
COGL_DRIVER_GL3, /* the driver isn't used */
|
COGL_DRIVER_ID_GL3, /* the driver isn't used */
|
||||||
split_extensions,
|
split_extensions,
|
||||||
egl_renderer))
|
egl_renderer))
|
||||||
{
|
{
|
||||||
@ -226,7 +226,7 @@ cogl_display_egl_determine_attributes (CoglDisplay *display,
|
|||||||
attributes[i++] = EGL_DONT_CARE;
|
attributes[i++] = EGL_DONT_CARE;
|
||||||
|
|
||||||
attributes[i++] = EGL_RENDERABLE_TYPE;
|
attributes[i++] = EGL_RENDERABLE_TYPE;
|
||||||
attributes[i++] = (renderer->driver == COGL_DRIVER_GL3 ?
|
attributes[i++] = (renderer->driver_id == COGL_DRIVER_ID_GL3 ?
|
||||||
EGL_OPENGL_BIT :
|
EGL_OPENGL_BIT :
|
||||||
EGL_OPENGL_ES2_BIT);
|
EGL_OPENGL_ES2_BIT);
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ try_create_context (CoglDisplay *display,
|
|||||||
egl_display->egl_config = config;
|
egl_display->egl_config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (display->renderer->driver == COGL_DRIVER_GL3)
|
if (display->renderer->driver_id == COGL_DRIVER_ID_GL3)
|
||||||
{
|
{
|
||||||
if (!(egl_renderer->private_features &
|
if (!(egl_renderer->private_features &
|
||||||
COGL_EGL_WINSYS_FEATURE_CREATE_CONTEXT))
|
COGL_EGL_WINSYS_FEATURE_CREATE_CONTEXT))
|
||||||
@ -356,7 +356,7 @@ try_create_context (CoglDisplay *display,
|
|||||||
attribs[i++] = EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR;
|
attribs[i++] = EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR;
|
||||||
attribs[i++] = EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR;
|
attribs[i++] = EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR;
|
||||||
}
|
}
|
||||||
else if (display->renderer->driver == COGL_DRIVER_GLES2)
|
else if (display->renderer->driver_id == COGL_DRIVER_ID_GLES2)
|
||||||
{
|
{
|
||||||
attribs[i++] = EGL_CONTEXT_CLIENT_VERSION;
|
attribs[i++] = EGL_CONTEXT_CLIENT_VERSION;
|
||||||
attribs[i++] = 2;
|
attribs[i++] = 2;
|
||||||
|
@ -345,7 +345,7 @@ update_base_winsys_features (CoglRenderer *renderer)
|
|||||||
"GLX", winsys_feature_data + i,
|
"GLX", winsys_feature_data + i,
|
||||||
glx_renderer->glx_major,
|
glx_renderer->glx_major,
|
||||||
glx_renderer->glx_minor,
|
glx_renderer->glx_minor,
|
||||||
COGL_DRIVER_GL3, /* the driver isn't used */
|
COGL_DRIVER_ID_GL3, /* the driver isn't used */
|
||||||
split_extensions,
|
split_extensions,
|
||||||
glx_renderer))
|
glx_renderer))
|
||||||
{
|
{
|
||||||
@ -391,7 +391,7 @@ _cogl_winsys_renderer_connect (CoglRenderer *renderer,
|
|||||||
if (!_cogl_xlib_renderer_connect (renderer, error))
|
if (!_cogl_xlib_renderer_connect (renderer, error))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (renderer->driver != COGL_DRIVER_GL3)
|
if (renderer->driver_id != COGL_DRIVER_ID_GL3)
|
||||||
{
|
{
|
||||||
g_set_error_literal (error, COGL_WINSYS_ERROR,
|
g_set_error_literal (error, COGL_WINSYS_ERROR,
|
||||||
COGL_WINSYS_ERROR_INIT,
|
COGL_WINSYS_ERROR_INIT,
|
||||||
@ -668,7 +668,7 @@ create_context (CoglDisplay *display, GError **error)
|
|||||||
|
|
||||||
mtk_x11_error_trap_push (xlib_renderer->xdpy);
|
mtk_x11_error_trap_push (xlib_renderer->xdpy);
|
||||||
|
|
||||||
if (display->renderer->driver == COGL_DRIVER_GL3)
|
if (display->renderer->driver_id == COGL_DRIVER_ID_GL3)
|
||||||
glx_display->glx_context = create_gl3_context (display, config);
|
glx_display->glx_context = create_gl3_context (display, config);
|
||||||
else
|
else
|
||||||
glx_display->glx_context =
|
glx_display->glx_context =
|
||||||
|
@ -54,22 +54,22 @@ get_x11_cogl_winsys_vtable (CoglRenderer *renderer)
|
|||||||
return _cogl_winsys_egl_xlib_get_vtable ();
|
return _cogl_winsys_egl_xlib_get_vtable ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
switch (renderer->driver)
|
switch (renderer->driver_id)
|
||||||
{
|
{
|
||||||
case COGL_DRIVER_GLES2:
|
case COGL_DRIVER_ID_GLES2:
|
||||||
#ifdef HAVE_EGL_PLATFORM_XLIB
|
#ifdef HAVE_EGL_PLATFORM_XLIB
|
||||||
return _cogl_winsys_egl_xlib_get_vtable ();
|
return _cogl_winsys_egl_xlib_get_vtable ();
|
||||||
#else
|
#else
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case COGL_DRIVER_GL3:
|
case COGL_DRIVER_ID_GL3:
|
||||||
#ifdef HAVE_GLX
|
#ifdef HAVE_GLX
|
||||||
return _cogl_winsys_glx_get_vtable ();
|
return _cogl_winsys_glx_get_vtable ();
|
||||||
#else
|
#else
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case COGL_DRIVER_ANY:
|
case COGL_DRIVER_ID_ANY:
|
||||||
case COGL_DRIVER_NOP:
|
case COGL_DRIVER_ID_NOP:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
|
@ -154,9 +154,9 @@ check_gl_extensions (CoglContext *cogl_context)
|
|||||||
cogl_display = cogl_context_get_display (cogl_context);
|
cogl_display = cogl_context_get_display (cogl_context);
|
||||||
cogl_renderer = cogl_display_get_renderer (cogl_display);
|
cogl_renderer = cogl_display_get_renderer (cogl_display);
|
||||||
|
|
||||||
switch (cogl_renderer_get_driver (cogl_renderer))
|
switch (cogl_renderer->driver_id)
|
||||||
{
|
{
|
||||||
case COGL_DRIVER_GL3:
|
case COGL_DRIVER_ID_GL3:
|
||||||
{
|
{
|
||||||
int num_extensions, i;
|
int num_extensions, i;
|
||||||
gboolean arb_sync = FALSE;
|
gboolean arb_sync = FALSE;
|
||||||
|
@ -15,7 +15,7 @@ test_framebuffer_get_bits (void)
|
|||||||
|
|
||||||
renderer = cogl_context_get_renderer (test_ctx);
|
renderer = cogl_context_get_renderer (test_ctx);
|
||||||
|
|
||||||
if (cogl_renderer_get_driver (renderer) != COGL_DRIVER_GL3)
|
if (cogl_renderer_get_driver_id (renderer) != COGL_DRIVER_ID_GL3)
|
||||||
{
|
{
|
||||||
g_test_skip ("Test requires OpenGL");
|
g_test_skip ("Test requires OpenGL");
|
||||||
return;
|
return;
|
||||||
|
@ -214,8 +214,8 @@ test_read_int_case (gconstpointer data)
|
|||||||
}
|
}
|
||||||
else if (g_test_undefined () &&
|
else if (g_test_undefined () &&
|
||||||
g_str_equal (test_utils_get_cogl_driver_vendor (test_ctx), "AMD") &&
|
g_str_equal (test_utils_get_cogl_driver_vendor (test_ctx), "AMD") &&
|
||||||
cogl_renderer_get_driver (cogl_context_get_renderer (test_ctx)) ==
|
cogl_renderer_get_driver_id (cogl_context_get_renderer (test_ctx)) ==
|
||||||
COGL_DRIVER_GL3)
|
COGL_DRIVER_ID_GL3)
|
||||||
{
|
{
|
||||||
g_test_fail_printf ("This test is not failing on AMD, but we mark it "
|
g_test_fail_printf ("This test is not failing on AMD, but we mark it "
|
||||||
"to make meson happy.");
|
"to make meson happy.");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user