[mutter/wip/nielsdg/remove-gl-alpha] cogl: Don't use GL_ALPHA
- From: Niels De Graef <nielsdg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/nielsdg/remove-gl-alpha] cogl: Don't use GL_ALPHA
- Date: Wed, 12 Jun 2019 07:21:24 +0000 (UTC)
commit e04cbddf92d3a7318d862e5024cc92397d625e5d
Author: Niels De Graef <niels degraef barco com>
Date: Wed Jun 12 09:09:31 2019 +0200
cogl: Don't use 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
cogl/cogl/driver/gl/gl/cogl-driver-gl.c | 16 ++--------------
cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c | 7 ++-----
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:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]