summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdk/gdkgl.c16
-rw-r--r--gdk/gdkglcontext.c2
-rw-r--r--gdk/gdkwindow.c1
-rw-r--r--gdk/x11/gdkglcontext-x11.c2
-rw-r--r--gtk/gtkglarea.c2
5 files changed, 8 insertions, 15 deletions
diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
index 9cea524e94..5dae9f6514 100644
--- a/gdk/gdkgl.c
+++ b/gdk/gdkgl.c
@@ -235,8 +235,8 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
glActiveTexture (GL_TEXTURE0);
glUniform1i(program->map_location, 0); /* Use texture unit 0 */
- glEnableVertexAttribArray (0);
- glEnableVertexAttribArray (1);
+ glEnableVertexAttribArray (program->position_location);
+ glEnableVertexAttribArray (program->uv_location);
glBindBuffer (GL_ARRAY_BUFFER, paint_data->tmp_vertex_buffer);
glVertexAttribPointer (program->position_location, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, NULL);
@@ -272,8 +272,8 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
g_free (vertex_buffer_data);
- glDisableVertexAttribArray (0);
- glDisableVertexAttribArray (1);
+ glDisableVertexAttribArray (program->position_location);
+ glDisableVertexAttribArray (program->uv_location);
}
/* x,y,width,height describes a rectangle in the gl render buffer
@@ -519,7 +519,6 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glEnable (GL_SCISSOR_TEST);
- glEnable (GL_TEXTURE_2D);
gdk_window_get_unscaled_size (impl_window, NULL, &unscaled_window_height);
@@ -587,8 +586,6 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
if (alpha_size != 0)
glDisable (GL_BLEND);
- glDisable (GL_TEXTURE_2D);
-
#undef FLIP_Y
}
@@ -644,6 +641,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
if (clip_region)
cairo_region_destroy (clip_region);
+
}
/* This is always called with the paint context current */
@@ -664,7 +662,6 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
float umax, vmax;
gboolean use_texture_rectangle;
guint target;
-
paint_context = gdk_gl_context_get_current ();
if ((_gdk_gl_flags & GDK_GL_SOFTWARE_DRAW_SURFACE) == 0 &&
paint_context &&
@@ -692,7 +689,6 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
target = GL_TEXTURE_2D;
glBindTexture (target, texture_id);
- glEnable (target);
glEnable (GL_SCISSOR_TEST);
glTexParameteri (target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
@@ -750,8 +746,6 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
}
}
-
glDisable (GL_SCISSOR_TEST);
- glDisable (target);
glDeleteTextures (1, &texture_id);
}
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
index 93d5d2c6a6..829e302c82 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -238,7 +238,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
glPixelStorei (GL_UNPACK_ROW_LENGTH, cairo_image_surface_get_stride (image_surface)/4);
- glTexImage2D (texture_target, 0, 4, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,
+ glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,
cairo_image_surface_get_data (image_surface));
glPixelStorei (GL_UNPACK_ROW_LENGTH, 0);
}
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 6960cae387..a3a2d64635 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2932,7 +2932,6 @@ gdk_window_begin_paint_region (GdkWindow *window,
glDisable (GL_DEPTH_TEST);
glDisable(GL_BLEND);
glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
- glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glViewport (0, 0, ww, wh);
}
diff --git a/gdk/x11/gdkglcontext-x11.c b/gdk/x11/gdkglcontext-x11.c
index 03a222056b..6eed9f96c0 100644
--- a/gdk/x11/gdkglcontext-x11.c
+++ b/gdk/x11/gdkglcontext-x11.c
@@ -752,6 +752,8 @@ create_gl3_context (GdkDisplay *display,
*/
static const int attrib_list[] = {
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_CORE_PROFILE_BIT_ARB,
+ GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
+ GLX_CONTEXT_MINOR_VERSION_ARB, 2,
None,
};
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
index a9dc31027a..cbf1c92da4 100644
--- a/gtk/gtkglarea.c
+++ b/gtk/gtkglarea.c
@@ -539,8 +539,6 @@ gtk_gl_area_post_render (GtkGLArea *area)
if (priv->auto_render)
invalidate[i++] = GL_COLOR_ATTACHMENT0;
-
- glInvalidateFramebuffer (GL_FRAMEBUFFER, i, invalidate);
}