summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels De Graef <niels.degraef@barco.com>2019-06-12 09:09:31 +0200
committerNiels De Graef <niels.degraef@barco.com>2019-06-12 09:21:09 +0200
commite04cbddf92d3a7318d862e5024cc92397d625e5d (patch)
tree3b18f00b67383bac763f3410e912d67075cfada0
parentd3e789e6770a83dfafaf0bf037ea77960a885fb8 (diff)
downloadmutter-wip/nielsdg/remove-gl-alpha.tar.gz
cogl: Don't use GL_ALPHAwip/nielsdg/remove-gl-alpha
It was deprecated in OpenGL and it isn't even a valid value anymore for functions like `glTextImage2D()` in OpenGL 4. https://gitlab.gnome.org/GNOME/mutter/merge_requests/612
-rw-r--r--cogl/cogl/driver/gl/gl/cogl-driver-gl.c16
-rw-r--r--cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c7
-rw-r--r--cogl/cogl/driver/gl/gles/cogl-driver-gles.c4
3 files changed, 6 insertions, 21 deletions
diff --git a/cogl/cogl/driver/gl/gl/cogl-driver-gl.c b/cogl/cogl/driver/gl/gl/cogl-driver-gl.c
index fb36df2b8..1632ada60 100644
--- a/cogl/cogl/driver/gl/gl/cogl-driver-gl.c
+++ b/cogl/cogl/driver/gl/gl/cogl-driver-gl.c
@@ -111,20 +111,8 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
switch (format)
{
case COGL_PIXEL_FORMAT_A_8:
- /* If the driver doesn't natively support alpha textures then we
- * will use a red component texture with a swizzle to implement
- * the texture */
- if (_cogl_has_private_feature
- (context, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) == 0)
- {
- glintformat = GL_RED;
- glformat = GL_RED;
- }
- else
- {
- glintformat = GL_ALPHA;
- glformat = GL_ALPHA;
- }
+ glintformat = GL_RED;
+ glformat = GL_RED;
gltype = GL_UNSIGNED_BYTE;
break;
case COGL_PIXEL_FORMAT_G_8:
diff --git a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c
index c2270124f..026991d97 100644
--- a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c
+++ b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c
@@ -98,11 +98,8 @@ _cogl_texture_driver_gen (CoglContext *ctx,
g_assert_not_reached();
}
- /* If the driver doesn't support alpha textures directly then we'll
- * fake them by setting the swizzle parameters */
- if (internal_format == COGL_PIXEL_FORMAT_A_8 &&
- !_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) &&
- _cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE))
+ /* GL_ALPHA is deprecated; instead, use GL_RED with a swizzle mask */
+ if (internal_format == COGL_PIXEL_FORMAT_A_8)
{
static const GLint red_swizzle[] = { GL_ZERO, GL_ZERO, GL_ZERO, GL_RED };
diff --git a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c
index d2769a805..3ae26bd23 100644
--- a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c
+++ b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c
@@ -83,8 +83,8 @@ _cogl_driver_pixel_format_to_gl (CoglContext *context,
switch (format)
{
case COGL_PIXEL_FORMAT_A_8:
- glintformat = GL_ALPHA;
- glformat = GL_ALPHA;
+ glintformat = GL_RED;
+ glformat = GL_RED;
gltype = GL_UNSIGNED_BYTE;
break;
case COGL_PIXEL_FORMAT_G_8: