diff options
-rw-r--r-- | gdk/gdkgl.c | 16 | ||||
-rw-r--r-- | gdk/gdkglcontext.c | 2 | ||||
-rw-r--r-- | gdk/gdkwindow.c | 1 | ||||
-rw-r--r-- | gdk/x11/gdkglcontext-x11.c | 2 | ||||
-rw-r--r-- | gtk/gtkglarea.c | 2 |
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); } |