summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Roberts <neil@linux.intel.com>2012-09-26 16:52:24 +0100
committerNeil Roberts <neil@linux.intel.com>2012-09-27 12:05:32 +0100
commitb53e3c3c00e5bd19c70a80beb22b401fec826b9e (patch)
tree8e9ea791fe989d88af78310525ab1d7dbf6ba9af
parent69f70bf5a7ad358ef7e6f1fb2dcb167d4d167b66 (diff)
downloadcogl-b53e3c3c00e5bd19c70a80beb22b401fec826b9e.tar.gz
Remove the deprecated feature flags
The old system for checking features depended on a bitmask in an integer which meant we could only have up to 32 features. This was deprecated in 426c8b8f41. The API for using the legacy feature mask has already been removed so we might as well also remove the internal code to maintain the bitmask. Reviewed-by: Robert Bragg <robert@linux.intel.com>
-rw-r--r--cogl/cogl-context-private.h1
-rw-r--r--cogl/cogl-context.c15
-rw-r--r--cogl/cogl-feature-private.c2
-rw-r--r--cogl/cogl-feature-private.h2
-rw-r--r--cogl/cogl-glx-renderer-private.h2
-rw-r--r--cogl/cogl-types.h75
-rw-r--r--cogl/driver/gl/gl/cogl-driver-gl.c57
-rw-r--r--cogl/driver/gl/gles/cogl-driver-gles.c45
-rw-r--r--cogl/driver/nop/cogl-driver-nop.c1
-rw-r--r--cogl/winsys/cogl-winsys-egl-wayland.c1
-rw-r--r--cogl/winsys/cogl-winsys-egl-x11.c1
-rw-r--r--cogl/winsys/cogl-winsys-egl.c2
-rw-r--r--cogl/winsys/cogl-winsys-glx-feature-functions.h6
-rw-r--r--cogl/winsys/cogl-winsys-glx.c8
-rw-r--r--doc/reference/cogl2/cogl2-sections.txt2
15 files changed, 28 insertions, 192 deletions
diff --git a/cogl/cogl-context-private.h b/cogl/cogl-context-private.h
index 8e350996..b457bb09 100644
--- a/cogl/cogl-context-private.h
+++ b/cogl/cogl-context-private.h
@@ -76,7 +76,6 @@ struct _CoglContext
/* Features cache */
unsigned long features[COGL_FLAGS_N_LONGS_FOR_SIZE (_COGL_N_FEATURE_IDS)];
- CoglFeatureFlags feature_flags; /* legacy/deprecated feature flags */
CoglPrivateFeatureFlags private_feature_flags;
CoglPipeline *default_pipeline;
diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c
index e7a68a7d..1d02f1fa 100644
--- a/cogl/cogl-context.c
+++ b/cogl/cogl-context.c
@@ -81,23 +81,13 @@ _cogl_init_feature_overrides (CoglContext *ctx)
ctx->private_feature_flags &= ~COGL_PRIVATE_FEATURE_PBOS;
if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_ARBFP)))
- {
- ctx->feature_flags &= ~COGL_FEATURE_SHADERS_ARBFP;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_ARBFP, FALSE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_ARBFP, FALSE);
if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_GLSL)))
- {
- ctx->feature_flags &= ~COGL_FEATURE_SHADERS_GLSL;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_GLSL, FALSE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_GLSL, FALSE);
if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_NPOT_TEXTURES)))
{
- ctx->feature_flags &= ~(COGL_FEATURE_TEXTURE_NPOT |
- COGL_FEATURE_TEXTURE_NPOT_BASIC |
- COGL_FEATURE_TEXTURE_NPOT_MIPMAP |
- COGL_FEATURE_TEXTURE_NPOT_REPEAT);
COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_TEXTURE_NPOT, FALSE);
COGL_FLAGS_SET (ctx->features,
COGL_FEATURE_ID_TEXTURE_NPOT_BASIC, FALSE);
@@ -171,7 +161,6 @@ cogl_context_new (CoglDisplay *display,
/* Init default values */
memset (context->features, 0, sizeof (context->features));
- context->feature_flags = 0;
context->private_feature_flags = 0;
context->texture_types = NULL;
diff --git a/cogl/cogl-feature-private.c b/cogl/cogl-feature-private.c
index 7883b3cb..10562cf5 100644
--- a/cogl/cogl-feature-private.c
+++ b/cogl/cogl-feature-private.c
@@ -175,7 +175,7 @@ error:
gles_availability, \
namespaces, extension_names) \
{ min_gl_major, min_gl_minor, gles_availability, namespaces, \
- extension_names, 0, 0, 0, \
+ extension_names, 0, 0, \
cogl_ext_ ## name ## _funcs },
#undef COGL_EXT_FUNCTION
#define COGL_EXT_FUNCTION(ret, name, args)
diff --git a/cogl/cogl-feature-private.h b/cogl/cogl-feature-private.h
index ad210a54..fd284e2c 100644
--- a/cogl/cogl-feature-private.h
+++ b/cogl/cogl-feature-private.h
@@ -68,8 +68,6 @@ struct _CoglFeatureData
extension is different from the namespace, you can specify it
with a ':' after the namespace */
const char *extension_names;
- /* A set of feature flags to enable if the extension is available */
- CoglFeatureFlags feature_flags;
/* A set of private feature flags to enable if the extension is
* available */
int feature_flags_private;
diff --git a/cogl/cogl-glx-renderer-private.h b/cogl/cogl-glx-renderer-private.h
index 4415ea58..41cdc6f0 100644
--- a/cogl/cogl-glx-renderer-private.h
+++ b/cogl/cogl-glx-renderer-private.h
@@ -96,7 +96,7 @@ typedef struct _CoglGLXRenderer
(* glXGetProcAddress) (const GLubyte *procName);
/* Function pointers for GLX specific extensions */
-#define COGL_WINSYS_FEATURE_BEGIN(a, b, c, d, e, f)
+#define COGL_WINSYS_FEATURE_BEGIN(a, b, c, d, e)
#define COGL_WINSYS_FEATURE_FUNCTION(ret, name, args) \
ret (APIENTRY * pf_ ## name) args;
diff --git a/cogl/cogl-types.h b/cogl/cogl-types.h
index 07511d06..cec8a1a6 100644
--- a/cogl/cogl-types.h
+++ b/cogl/cogl-types.h
@@ -341,81 +341,6 @@ typedef enum { /*< prefix=COGL_PIXEL_FORMAT >*/
} CoglPixelFormat;
/**
- * CoglFeatureFlags:
- * @COGL_FEATURE_TEXTURE_RECTANGLE: ARB_texture_rectangle support
- * @COGL_FEATURE_TEXTURE_NPOT: Non power of two textures are supported
- * by the hardware. This is a equivalent to the
- * %COGL_FEATURE_TEXTURE_NPOT_BASIC, %COGL_FEATURE_TEXTURE_NPOT_MIPMAP
- * and %COGL_FEATURE_TEXTURE_NPOT_REPEAT features combined.
- * @COGL_FEATURE_TEXTURE_YUV: ycbcr conversion support
- * @COGL_FEATURE_TEXTURE_READ_PIXELS: glReadPixels() support
- * @COGL_FEATURE_SHADERS_GLSL: GLSL support
- * @COGL_FEATURE_SHADERS_ARBFP: ARBFP support
- * @COGL_FEATURE_OFFSCREEN: FBO support
- * @COGL_FEATURE_OFFSCREEN_MULTISAMPLE: Multisample support on FBOs
- * @COGL_FEATURE_OFFSCREEN_BLIT: Blit support on FBOs
- * @COGL_FEATURE_FOUR_CLIP_PLANES: At least 4 clip planes available
- * @COGL_FEATURE_STENCIL_BUFFER: Stencil buffer support
- * @COGL_FEATURE_VBOS: VBO support
- * @COGL_FEATURE_PBOS: PBO support
- * @COGL_FEATURE_UNSIGNED_INT_INDICES: Set if
- * %COGL_INDICES_TYPE_UNSIGNED_INT is supported in
- * cogl_indices_new().
- * @COGL_FEATURE_DEPTH_RANGE: cogl_material_set_depth_range() support
- * @COGL_FEATURE_TEXTURE_NPOT_BASIC: The hardware supports non power
- * of two textures, but you also need to check the
- * %COGL_FEATURE_TEXTURE_NPOT_MIPMAP and %COGL_FEATURE_TEXTURE_NPOT_REPEAT
- * features to know if the hardware supports npot texture mipmaps
- * or repeat modes other than
- * %COGL_PIPELINE_WRAP_MODE_CLAMP_TO_EDGE respectively.
- * @COGL_FEATURE_TEXTURE_NPOT_MIPMAP: Mipmapping is supported in
- * conjuntion with non power of two textures.
- * @COGL_FEATURE_TEXTURE_NPOT_REPEAT: Repeat modes other than
- * %COGL_PIPELINE_WRAP_MODE_CLAMP_TO_EDGE are supported by the
- * hardware.
- * @COGL_FEATURE_POINT_SPRITE: Whether
- * cogl_material_set_layer_point_sprite_coords_enabled() is supported.
- * @COGL_FEATURE_TEXTURE_3D: 3D texture support
- * @COGL_FEATURE_MAP_BUFFER_FOR_READ: Whether cogl_buffer_map() is
- * supported with CoglBufferAccess including read support.
- * @COGL_FEATURE_MAP_BUFFER_FOR_WRITE: Whether cogl_buffer_map() is
- * supported with CoglBufferAccess including write support.
- * @COGL_FEATURE_DEPTH_TEXTURE: Whether #CoglFramebuffer support rendering the
- * depth buffer to a texture.
- *
- * Flags for the supported features.
- *
- * Since: 0.8
- */
-typedef enum
-{
- COGL_FEATURE_TEXTURE_RECTANGLE = (1 << 1),
- COGL_FEATURE_TEXTURE_NPOT = (1 << 2),
- COGL_FEATURE_TEXTURE_YUV = (1 << 3),
- COGL_FEATURE_TEXTURE_READ_PIXELS = (1 << 4),
- COGL_FEATURE_SHADERS_GLSL = (1 << 5),
- COGL_FEATURE_OFFSCREEN = (1 << 6),
- COGL_FEATURE_OFFSCREEN_MULTISAMPLE = (1 << 7),
- COGL_FEATURE_OFFSCREEN_BLIT = (1 << 8),
- COGL_FEATURE_FOUR_CLIP_PLANES = (1 << 9),
- COGL_FEATURE_STENCIL_BUFFER = (1 << 10),
- COGL_FEATURE_VBOS = (1 << 11),
- COGL_FEATURE_PBOS = (1 << 12),
- COGL_FEATURE_UNSIGNED_INT_INDICES = (1 << 13),
- COGL_FEATURE_DEPTH_RANGE = (1 << 14),
- COGL_FEATURE_TEXTURE_NPOT_BASIC = (1 << 15),
- COGL_FEATURE_TEXTURE_NPOT_MIPMAP = (1 << 16),
- COGL_FEATURE_TEXTURE_NPOT_REPEAT = (1 << 17),
- COGL_FEATURE_POINT_SPRITE = (1 << 18),
- COGL_FEATURE_TEXTURE_3D = (1 << 19),
- COGL_FEATURE_SHADERS_ARBFP = (1 << 20),
- COGL_FEATURE_MAP_BUFFER_FOR_READ = (1 << 21),
- COGL_FEATURE_MAP_BUFFER_FOR_WRITE = (1 << 22),
- COGL_FEATURE_ONSCREEN_MULTIPLE = (1 << 23),
- COGL_FEATURE_DEPTH_TEXTURE = (1 << 24)
-} CoglFeatureFlags;
-
-/**
* CoglBufferTarget:
* @COGL_WINDOW_BUFFER: FIXME
* @COGL_OFFSCREEN_BUFFER: FIXME
diff --git a/cogl/driver/gl/gl/cogl-driver-gl.c b/cogl/driver/gl/gl/cogl-driver-gl.c
index add1f2c4..b5ac6234 100644
--- a/cogl/driver/gl/gl/cogl-driver-gl.c
+++ b/cogl/driver/gl/gl/cogl-driver-gl.c
@@ -332,7 +332,6 @@ _cogl_driver_update_features (CoglContext *ctx,
CoglError **error)
{
CoglPrivateFeatureFlags private_flags = 0;
- CoglFeatureFlags flags = 0;
const char *gl_extensions;
int max_clip_planes = 0;
int num_stencil_bits = 0;
@@ -364,9 +363,6 @@ _cogl_driver_update_features (CoglContext *ctx,
_cogl_gpu_info_init (ctx, &ctx->gpu);
- flags = (COGL_FEATURE_TEXTURE_READ_PIXELS
- | COGL_FEATURE_UNSIGNED_INT_INDICES
- | COGL_FEATURE_DEPTH_RANGE);
COGL_FLAGS_SET (ctx->features,
COGL_FEATURE_ID_UNSIGNED_INT_INDICES, TRUE);
COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_DEPTH_RANGE, TRUE);
@@ -384,10 +380,6 @@ _cogl_driver_update_features (CoglContext *ctx,
if (COGL_CHECK_GL_VERSION (gl_major, gl_minor, 2, 0) ||
_cogl_check_extension ("GL_ARB_texture_non_power_of_two", gl_extensions))
{
- flags |= COGL_FEATURE_TEXTURE_NPOT
- | COGL_FEATURE_TEXTURE_NPOT_BASIC
- | COGL_FEATURE_TEXTURE_NPOT_MIPMAP
- | COGL_FEATURE_TEXTURE_NPOT_REPEAT;
COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_TEXTURE_NPOT, TRUE);
COGL_FLAGS_SET (ctx->features,
COGL_FEATURE_ID_TEXTURE_NPOT_BASIC, TRUE);
@@ -410,27 +402,18 @@ _cogl_driver_update_features (CoglContext *ctx,
private_flags |= COGL_PRIVATE_FEATURE_FOUR_CLIP_PLANES;
if (ctx->glGenRenderbuffers)
- {
- flags |= COGL_FEATURE_OFFSCREEN;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_OFFSCREEN, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_OFFSCREEN, TRUE);
if (ctx->glBlitFramebuffer)
private_flags |= COGL_PRIVATE_FEATURE_OFFSCREEN_BLIT;
if (ctx->glRenderbufferStorageMultisampleIMG)
- {
- flags |= COGL_FEATURE_OFFSCREEN_MULTISAMPLE;
- COGL_FLAGS_SET (ctx->features,
- COGL_FEATURE_ID_OFFSCREEN_MULTISAMPLE, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features,
+ COGL_FEATURE_ID_OFFSCREEN_MULTISAMPLE, TRUE);
if (COGL_CHECK_GL_VERSION (gl_major, gl_minor, 3, 0) ||
_cogl_check_extension ("GL_ARB_depth_texture", gl_extensions))
- {
- flags |= COGL_FEATURE_DEPTH_TEXTURE;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_DEPTH_TEXTURE, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_DEPTH_TEXTURE, TRUE);
if (COGL_CHECK_GL_VERSION (gl_major, gl_minor, 2, 1) ||
_cogl_check_extension ("GL_EXT_pixel_buffer_object", gl_extensions))
@@ -438,22 +421,14 @@ _cogl_driver_update_features (CoglContext *ctx,
if (COGL_CHECK_GL_VERSION (gl_major, gl_minor, 2, 0) ||
_cogl_check_extension ("GL_ARB_point_sprite", gl_extensions))
- {
- flags |= COGL_FEATURE_POINT_SPRITE;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_POINT_SPRITE, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_POINT_SPRITE, TRUE);
if (ctx->glGenPrograms)
- {
- flags |= COGL_FEATURE_SHADERS_ARBFP;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_ARBFP, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_ARBFP, TRUE);
if (ctx->glCreateProgram)
- {
- flags |= COGL_FEATURE_SHADERS_GLSL;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_GLSL, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_GLSL, TRUE);
+
/* If all of the old GLSL extensions are available then we can fake
* the GL 2.0 GLSL support by diverting to the old function names */
else if (ctx->glCreateProgramObject && /* GL_ARB_shader_objects */
@@ -478,15 +453,12 @@ _cogl_driver_update_features (CoglContext *ctx,
* GLES2 context on top of regular GL then we'll need to do
* something here */
- flags |= COGL_FEATURE_SHADERS_GLSL;
COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_GLSL, TRUE);
}
if (ctx->glGenBuffers)
{
private_flags |= COGL_PRIVATE_FEATURE_VBOS;
- flags |= (COGL_FEATURE_MAP_BUFFER_FOR_READ |
- COGL_FEATURE_MAP_BUFFER_FOR_WRITE);
COGL_FLAGS_SET (ctx->features,
COGL_FEATURE_ID_MAP_BUFFER_FOR_READ, TRUE);
COGL_FLAGS_SET (ctx->features,
@@ -494,17 +466,11 @@ _cogl_driver_update_features (CoglContext *ctx,
}
if (_cogl_check_extension ("GL_ARB_texture_rectangle", gl_extensions))
- {
- flags |= COGL_FEATURE_TEXTURE_RECTANGLE;
- COGL_FLAGS_SET (ctx->features,
- COGL_FEATURE_ID_TEXTURE_RECTANGLE, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features,
+ COGL_FEATURE_ID_TEXTURE_RECTANGLE, TRUE);
if (ctx->glTexImage3D)
- {
- flags |= COGL_FEATURE_TEXTURE_3D;
- COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_TEXTURE_3D, TRUE);
- }
+ COGL_FLAGS_SET (ctx->features, COGL_FEATURE_ID_TEXTURE_3D, TRUE);
if (ctx->glEGLImageTargetTexture2D)
private_flags |= COGL_PRIVATE_FEATURE_TEXTURE_2D_FROM_EGL_IMAGE;
@@ -517,7 +483,6 @@ _cogl_driver_update_features (CoglContext *ctx,
/* Cache features */
ctx->private_feature_flags |= private_flags;
- ctx->feature_flags |= flags;
return TRUE;
}
diff --git a/cogl/driver/gl/gles/cogl-driver-gles.c b/cogl/driver/gl/gles/cogl-driver-gles.c
index 05262c9b..7f4b7528 100644
--- a/cogl/driver/gl/gles/cogl-driver-gles.c
+++ b/cogl/driver/gl/gles/cogl-driver-gles.c
@@ -190,7 +190,6 @@ _cogl_driver_update_features (CoglContext *context,
CoglError **error)
{
CoglPrivateFeatureFlags private_flags = 0;
- CoglFeatureFlags flags = 0;
const char *gl_extensions;
int num_stencil_bits = 0;
@@ -239,11 +238,8 @@ _cogl_driver_update_features (CoglContext *context,
if (context->driver == COGL_DRIVER_GLES2)
{
- flags |= COGL_FEATURE_SHADERS_GLSL | COGL_FEATURE_OFFSCREEN;
/* Note GLES 2 core doesn't support mipmaps for npot textures or
* repeat modes other than CLAMP_TO_EDGE. */
- flags |= COGL_FEATURE_TEXTURE_NPOT_BASIC;
- flags |= COGL_FEATURE_DEPTH_RANGE;
COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_GLSL, TRUE);
COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_OFFSCREEN, TRUE);
COGL_FLAGS_SET (context->features,
@@ -256,37 +252,23 @@ _cogl_driver_update_features (CoglContext *context,
private_flags |= COGL_PRIVATE_FEATURE_VBOS;
/* Both GLES 1.1 and GLES 2.0 support point sprites in core */
- flags |= COGL_FEATURE_POINT_SPRITE;
COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_POINT_SPRITE, TRUE);
if (context->glGenRenderbuffers)
- {
- flags |= COGL_FEATURE_OFFSCREEN;
- COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_OFFSCREEN, TRUE);
- }
+ COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_OFFSCREEN, TRUE);
if (context->glBlitFramebuffer)
private_flags |= COGL_PRIVATE_FEATURE_OFFSCREEN_BLIT;
if (_cogl_check_extension ("GL_OES_element_index_uint", gl_extensions))
- {
- flags |= COGL_FEATURE_UNSIGNED_INT_INDICES;
- COGL_FLAGS_SET (context->features,
- COGL_FEATURE_ID_UNSIGNED_INT_INDICES, TRUE);
- }
+ COGL_FLAGS_SET (context->features,
+ COGL_FEATURE_ID_UNSIGNED_INT_INDICES, TRUE);
if (_cogl_check_extension ("GL_OES_depth_texture", gl_extensions))
- {
- flags |= COGL_FEATURE_DEPTH_TEXTURE;
- COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_DEPTH_TEXTURE, TRUE);
- }
+ COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_DEPTH_TEXTURE, TRUE);
if (_cogl_check_extension ("GL_OES_texture_npot", gl_extensions))
{
- flags |= (COGL_FEATURE_TEXTURE_NPOT |
- COGL_FEATURE_TEXTURE_NPOT_BASIC |
- COGL_FEATURE_TEXTURE_NPOT_MIPMAP |
- COGL_FEATURE_TEXTURE_NPOT_REPEAT);
COGL_FLAGS_SET (context->features,
COGL_FEATURE_ID_TEXTURE_NPOT, TRUE);
COGL_FLAGS_SET (context->features,
@@ -298,8 +280,6 @@ _cogl_driver_update_features (CoglContext *context,
}
else if (_cogl_check_extension ("GL_IMG_texture_npot", gl_extensions))
{
- flags |= (COGL_FEATURE_TEXTURE_NPOT_BASIC |
- COGL_FEATURE_TEXTURE_NPOT_MIPMAP);
COGL_FLAGS_SET (context->features,
COGL_FEATURE_ID_TEXTURE_NPOT_BASIC, TRUE);
COGL_FLAGS_SET (context->features,
@@ -307,19 +287,13 @@ _cogl_driver_update_features (CoglContext *context,
}
if (context->glTexImage3D)
- {
- flags |= COGL_FEATURE_TEXTURE_3D;
- COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_TEXTURE_3D, TRUE);
- }
+ COGL_FLAGS_SET (context->features, COGL_FEATURE_ID_TEXTURE_3D, TRUE);
if (context->glMapBuffer)
- {
- /* The GL_OES_mapbuffer extension doesn't support mapping for
- read */
- flags |= COGL_FEATURE_MAP_BUFFER_FOR_WRITE;
- COGL_FLAGS_SET (context->features,
- COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE, TRUE);
- }
+ /* The GL_OES_mapbuffer extension doesn't support mapping for
+ read */
+ COGL_FLAGS_SET (context->features,
+ COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE, TRUE);
if (context->glEGLImageTargetTexture2D)
private_flags |= COGL_PRIVATE_FEATURE_TEXTURE_2D_FROM_EGL_IMAGE;
@@ -335,7 +309,6 @@ _cogl_driver_update_features (CoglContext *context,
/* Cache features */
context->private_feature_flags |= private_flags;
- context->feature_flags |= flags;
return TRUE;
}
diff --git a/cogl/driver/nop/cogl-driver-nop.c b/cogl/driver/nop/cogl-driver-nop.c
index 9753cff9..c0e96991 100644
--- a/cogl/driver/nop/cogl-driver-nop.c
+++ b/cogl/driver/nop/cogl-driver-nop.c
@@ -45,7 +45,6 @@ _cogl_driver_update_features (CoglContext *ctx,
/* _cogl_gpu_info_init (ctx, &ctx->gpu); */
ctx->private_feature_flags = 0;
- ctx->feature_flags = 0;
return TRUE;
}
diff --git a/cogl/winsys/cogl-winsys-egl-wayland.c b/cogl/winsys/cogl-winsys-egl-wayland.c
index 694ecc14..9c4480ad 100644
--- a/cogl/winsys/cogl-winsys-egl-wayland.c
+++ b/cogl/winsys/cogl-winsys-egl-wayland.c
@@ -285,7 +285,6 @@ static CoglBool
_cogl_winsys_egl_context_init (CoglContext *context,
CoglError **error)
{
- context->feature_flags |= COGL_FEATURE_ONSCREEN_MULTIPLE;
COGL_FLAGS_SET (context->features,
COGL_FEATURE_ID_ONSCREEN_MULTIPLE, TRUE);
COGL_FLAGS_SET (context->winsys_features,
diff --git a/cogl/winsys/cogl-winsys-egl-x11.c b/cogl/winsys/cogl-winsys-egl-x11.c
index fca7609f..43ac07e3 100644
--- a/cogl/winsys/cogl-winsys-egl-x11.c
+++ b/cogl/winsys/cogl-winsys-egl-x11.c
@@ -251,7 +251,6 @@ _cogl_winsys_egl_context_init (CoglContext *context,
event_filter_cb,
context);
- context->feature_flags |= COGL_FEATURE_ONSCREEN_MULTIPLE;
COGL_FLAGS_SET (context->features,
COGL_FEATURE_ID_ONSCREEN_MULTIPLE, TRUE);
COGL_FLAGS_SET (context->winsys_features,
diff --git a/cogl/winsys/cogl-winsys-egl.c b/cogl/winsys/cogl-winsys-egl.c
index dcd17ed9..11da2506 100644
--- a/cogl/winsys/cogl-winsys-egl.c
+++ b/cogl/winsys/cogl-winsys-egl.c
@@ -71,7 +71,7 @@
#define COGL_WINSYS_FEATURE_BEGIN(name, namespaces, extension_names, \
egl_private_flags) \
{ 255, 255, 0, namespaces, extension_names, \
- 0, egl_private_flags, \
+ egl_private_flags, \
0, \
cogl_egl_feature_ ## name ## _funcs },
#undef COGL_WINSYS_FEATURE_FUNCTION
diff --git a/cogl/winsys/cogl-winsys-glx-feature-functions.h b/cogl/winsys/cogl-winsys-glx-feature-functions.h
index 71fd827f..c20f9259 100644
--- a/cogl/winsys/cogl-winsys-glx-feature-functions.h
+++ b/cogl/winsys/cogl-winsys-glx-feature-functions.h
@@ -28,7 +28,6 @@
/* Macro prototypes:
* COGL_WINSYS_FEATURE_BEGIN (name, namespaces, extension_names,
- * implied_public_feature_flags,
* implied_private_feature_flags,
* implied_winsys_feature)
* COGL_WINSYS_FEATURE_FUNCTION (return_type, function_name,
@@ -47,7 +46,6 @@ COGL_WINSYS_FEATURE_BEGIN (texture_from_pixmap,
"EXT\0",
"texture_from_pixmap\0",
0,
- 0,
COGL_WINSYS_FEATURE_TEXTURE_FROM_PIXMAP)
COGL_WINSYS_FEATURE_FUNCTION (void, glXBindTexImage,
(Display *display,
@@ -64,7 +62,6 @@ COGL_WINSYS_FEATURE_BEGIN (video_sync,
"SGI\0",
"video_sync\0",
0,
- 0,
COGL_WINSYS_FEATURE_VBLANK_COUNTER)
COGL_WINSYS_FEATURE_FUNCTION (int, glXGetVideoSync,
(unsigned int *count))
@@ -78,7 +75,6 @@ COGL_WINSYS_FEATURE_BEGIN (swap_control,
"SGI\0",
"swap_control\0",
0,
- 0,
COGL_WINSYS_FEATURE_SWAP_THROTTLE)
COGL_WINSYS_FEATURE_FUNCTION (int, glXSwapInterval,
(int interval))
@@ -88,7 +84,6 @@ COGL_WINSYS_FEATURE_BEGIN (copy_sub_buffer,
"MESA\0",
"copy_sub_buffer\0",
0,
- 0,
/* We initially assumed that copy_sub_buffer is synchronized on
* which is only the case for a subset of GPUs for example it is not
* synchronized on INTEL gen6 and gen7, so we remove this assumption
@@ -108,6 +103,5 @@ COGL_WINSYS_FEATURE_BEGIN (swap_event,
"INTEL\0",
"swap_event\0",
0,
- 0,
COGL_WINSYS_FEATURE_SWAP_BUFFERS_EVENT)
COGL_WINSYS_FEATURE_END ()
diff --git a/cogl/winsys/cogl-winsys-glx.c b/cogl/winsys/cogl-winsys-glx.c
index 5b016ecb..3bf4bbe7 100644
--- a/cogl/winsys/cogl-winsys-glx.c
+++ b/cogl/winsys/cogl-winsys-glx.c
@@ -99,7 +99,7 @@ typedef struct _CoglTexturePixmapGLX
/* Define a set of arrays containing the functions required from GL
for each winsys feature */
#define COGL_WINSYS_FEATURE_BEGIN(name, namespaces, extension_names, \
- feature_flags, feature_flags_private, \
+ feature_flags_private, \
winsys_feature) \
static const CoglFeatureFunction \
cogl_glx_feature_ ## name ## _funcs[] = {
@@ -113,10 +113,10 @@ typedef struct _CoglTexturePixmapGLX
/* Define an array of features */
#undef COGL_WINSYS_FEATURE_BEGIN
#define COGL_WINSYS_FEATURE_BEGIN(name, namespaces, extension_names, \
- feature_flags, feature_flags_private, \
+ feature_flags_private, \
winsys_feature) \
{ 255, 255, 0, namespaces, extension_names, \
- feature_flags, feature_flags_private, \
+ feature_flags_private, \
winsys_feature, \
cogl_glx_feature_ ## name ## _funcs },
#undef COGL_WINSYS_FEATURE_FUNCTION
@@ -411,7 +411,6 @@ update_winsys_features (CoglContext *context, CoglError **error)
COGL_NOTE (WINSYS, " GLX Extensions: %s", glx_extensions);
- context->feature_flags |= COGL_FEATURE_ONSCREEN_MULTIPLE;
COGL_FLAGS_SET (context->features,
COGL_FEATURE_ID_ONSCREEN_MULTIPLE, TRUE);
COGL_FLAGS_SET (context->winsys_features,
@@ -425,7 +424,6 @@ update_winsys_features (CoglContext *context, CoglError **error)
glx_extensions,
glx_renderer))
{
- context->feature_flags |= winsys_feature_data[i].feature_flags;
if (winsys_feature_data[i].winsys_feature)
COGL_FLAGS_SET (context->winsys_features,
winsys_feature_data[i].winsys_feature,
diff --git a/doc/reference/cogl2/cogl2-sections.txt b/doc/reference/cogl2/cogl2-sections.txt
index 91ded8c6..e5cb2fd2 100644
--- a/doc/reference/cogl2/cogl2-sections.txt
+++ b/doc/reference/cogl2/cogl2-sections.txt
@@ -112,7 +112,6 @@ COGL_TYPE_BUFFER_UPDATE_HINT
COGL_TYPE_BUFFER_USAGE_HINT
COGL_TYPE_DEBUG_FLAGS
COGL_TYPE_DRIVER_ERROR
-COGL_TYPE_FEATURE_FLAGS
COGL_TYPE_INDICES_TYPE
COGL_TYPE_PIXEL_FORMAT
COGL_TYPE_READ_PIXELS_FLAGS
@@ -127,7 +126,6 @@ cogl_buffer_bit_get_type
cogl_buffer_target_get_type
cogl_debug_flags_get_type
cogl_driver_error_get_type
-cogl_feature_flags_get_type
cogl_indices_type_get_type
cogl_pixel_format_get_type
cogl_read_pixels_flags_get_type