Compare commits

...

1 Commits

Author SHA1 Message Date
Matthias Clasen
fe7d078d5a Flip gl textures when used in the gl renderer 2018-01-17 13:42:19 -05:00
4 changed files with 13 additions and 2 deletions

View File

@@ -202,6 +202,7 @@ struct _GskGLRenderer
struct {
Program blend_program;
Program blit_program;
Program flip_program;
Program color_program;
Program coloring_program;
Program color_matrix_program;
@@ -597,7 +598,10 @@ render_texture_node (GskGLRenderer *self,
texture,
gl_min_filter,
gl_mag_filter);
ops_set_program (builder, &self->blit_program);
if (GDK_IS_GL_TEXTURE (texture))
ops_set_program (builder, &self->flip_program);
else
ops_set_program (builder, &self->blit_program);
ops_set_texture (builder, texture_id);
ops_draw (builder, vertex_data);
}
@@ -1717,6 +1721,7 @@ gsk_gl_renderer_create_programs (GskGLRenderer *self,
} program_definitions[] = {
{ "blend", "blend.vs.glsl", "blend.fs.glsl" },
{ "blit", "blit.vs.glsl", "blit.fs.glsl" },
{ "flip", "flip.vs.glsl", "blit.fs.glsl" },
{ "color", "blit.vs.glsl", "color.fs.glsl" },
{ "coloring", "blit.vs.glsl", "coloring.fs.glsl" },
{ "color matrix", "blit.vs.glsl", "color_matrix.fs.glsl" },

View File

@@ -10,7 +10,7 @@
#include "gskglrendererprivate.h"
#define GL_N_VERTICES 6
#define GL_N_PROGRAMS 13
#define GL_N_PROGRAMS 14
enum {
OP_NONE,

View File

@@ -3,6 +3,7 @@ gsk_private_gl_shaders = [
'resources/glsl/blend.vs.glsl',
'resources/glsl/blit.fs.glsl',
'resources/glsl/blit.vs.glsl',
'resources/glsl/flip.vs.glsl',
'resources/glsl/color.fs.glsl',
'resources/glsl/coloring.fs.glsl',
'resources/glsl/color_matrix.fs.glsl',

View File

@@ -0,0 +1,5 @@
void main() {
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
vUv = vec2(aUv.x, 1 - aUv.y);
}