[gtk+/wip/ebassi/gsk-renderer: 117/194] gsk: Drop render buffer code path from GskGLRenderer
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/ebassi/gsk-renderer: 117/194] gsk: Drop render buffer code path from GskGLRenderer
- Date: Wed, 24 Aug 2016 10:16:08 +0000 (UTC)
commit 696ce0f4d6e6e57b5603ca44cf2767779404c74f
Author: Emmanuele Bassi <ebassi gnome org>
Date: Tue Jul 19 14:34:24 2016 +0100
gsk: Drop render buffer code path from GskGLRenderer
We always use texturing, to preserve the alpha channel when blitting the
frame buffer object on the window surface.
gsk/gskglrenderer.c | 50 ++++----------------------------------------------
1 files changed, 4 insertions(+), 46 deletions(-)
---
diff --git a/gsk/gskglrenderer.c b/gsk/gskglrenderer.c
index 8e0bc2c..79fbf9e 100644
--- a/gsk/gskglrenderer.c
+++ b/gsk/gskglrenderer.c
@@ -82,7 +82,6 @@ struct _GskGLRenderer
graphene_frustum_t frustum;
guint frame_buffer;
- guint render_buffer;
guint depth_stencil_buffer;
guint texture_id;
@@ -105,7 +104,6 @@ struct _GskGLRenderer
GArray *transparent_render_items;
gboolean has_buffers : 1;
- gboolean has_alpha : 1;
gboolean has_stencil_buffer : 1;
gboolean has_depth_buffer : 1;
};
@@ -137,28 +135,8 @@ gsk_gl_renderer_create_buffers (GskGLRenderer *self)
glGenFramebuffersEXT (1, &self->frame_buffer);
- if (gsk_renderer_get_use_alpha (GSK_RENDERER (self)))
- {
- if (self->texture_id == 0)
- glGenTextures (1, &self->texture_id);
-
- if (self->render_buffer != 0)
- {
- glDeleteRenderbuffersEXT (1, &self->render_buffer);
- self->render_buffer = 0;
- }
- }
- else
- {
- if (self->render_buffer == 0)
- glGenRenderbuffersEXT (1, &self->render_buffer);
-
- if (self->texture_id != 0)
- {
- glDeleteTextures (1, &self->texture_id);
- self->texture_id = 0;
- }
- }
+ if (self->texture_id == 0)
+ glGenTextures (1, &self->texture_id);
if (self->has_depth_buffer || self->has_stencil_buffer)
{
@@ -203,12 +181,6 @@ gsk_gl_renderer_allocate_buffers (GskGLRenderer *self,
glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
}
- if (self->render_buffer != 0)
- {
- glBindRenderbuffer (GL_RENDERBUFFER, self->render_buffer);
- glRenderbufferStorage (GL_RENDERBUFFER, GL_RGB8, width, height);
- }
-
if (self->has_depth_buffer || self->has_stencil_buffer)
{
glBindRenderbuffer (GL_RENDERBUFFER, self->depth_stencil_buffer);
@@ -234,11 +206,6 @@ gsk_gl_renderer_attach_buffers (GskGLRenderer *self)
glFramebufferTexture2D (GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
GL_TEXTURE_2D, self->texture_id, 0);
}
- else if (self->render_buffer != 0)
- {
- glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- GL_RENDERBUFFER_EXT, self->render_buffer);
- }
if (self->depth_stencil_buffer != 0)
{
@@ -277,12 +244,6 @@ gsk_gl_renderer_destroy_buffers (GskGLRenderer *self)
self->depth_stencil_buffer = 0;
}
- if (self->render_buffer != 0)
- {
- glDeleteRenderbuffersEXT (1, &self->render_buffer);
- self->render_buffer = 0;
- }
-
if (self->texture_id != 0)
{
glDeleteTextures (1, &self->texture_id);
@@ -815,7 +776,6 @@ gsk_gl_renderer_render (GskRenderer *renderer,
GskGLRenderer *self = GSK_GL_RENDERER (renderer);
graphene_matrix_t modelview, projection;
graphene_rect_t viewport;
- gboolean use_alpha;
int status;
guint i;
guint64 gpu_time;
@@ -898,12 +858,10 @@ gsk_gl_renderer_render (GskRenderer *renderer,
GSK_NOTE (OPENGL, g_print ("GPU time: %" G_GUINT64_FORMAT " nsec\n", gpu_time));
out:
- use_alpha = gsk_renderer_get_use_alpha (renderer);
-
gdk_cairo_draw_from_gl (gdk_drawing_context_get_cairo_context (context),
gdk_drawing_context_get_window (context),
- use_alpha ? self->texture_id : self->render_buffer,
- use_alpha ? GL_TEXTURE : GL_RENDERBUFFER,
+ self->texture_id,
+ GL_TEXTURE,
gsk_renderer_get_scale_factor (renderer),
0, 0, viewport.size.width, viewport.size.height);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]