diff options
author | Niels De Graef <niels.degraef@barco.com> | 2019-06-12 09:09:31 +0200 |
---|---|---|
committer | Niels De Graef <niels.degraef@barco.com> | 2019-06-12 09:21:09 +0200 |
commit | e04cbddf92d3a7318d862e5024cc92397d625e5d (patch) | |
tree | 3b18f00b67383bac763f3410e912d67075cfada0 | |
parent | d3e789e6770a83dfafaf0bf037ea77960a885fb8 (diff) | |
download | mutter-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.c | 16 | ||||
-rw-r--r-- | cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | 7 | ||||
-rw-r--r-- | cogl/cogl/driver/gl/gles/cogl-driver-gles.c | 4 |
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: |