const GskGLRenderModelview *current_modelview;
GskGLProgram *current_program;
+ guint source_is_glyph_atlas : 1;
+
/* If we should be rendering red zones over fallback nodes */
guint debug_fallback : 1;
GL_TEXTURE_2D,
GL_TEXTURE0,
texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen_rect (job, &node->bounds);
gsk_gl_render_job_end_draw (job);
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen->texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform1f (job->current_program,
UNIFORM_BLUR_RADIUS, 0,
blur_radius_x);
GL_TEXTURE_2D,
GL_TEXTURE0,
pass1->texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform1f (job->current_program,
UNIFORM_BLUR_RADIUS, 0,
blur_radius_y);
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen_rect (job, clip);
gsk_gl_render_job_end_draw (job);
}
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen (job, &node->bounds, &offscreen);
gsk_gl_render_job_end_draw (job);
}
offscreen.texture_id,
linear_filter ? GL_LINEAR : GL_NEAREST,
linear_filter ? GL_LINEAR : GL_NEAREST);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen (job, &child->bounds, &offscreen);
gsk_gl_render_job_end_draw (job);
}
GL_TEXTURE_2D,
GL_TEXTURE0,
blurred_texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen (job, &node->bounds, &offscreen);
gsk_gl_render_job_end_draw (job);
}
GL_TEXTURE_2D,
GL_TEXTURE0,
blurred_texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform_rounded_rect (job->current_program,
UNIFORM_OUTSET_SHADOW_OUTLINE_RECT, 0,
&transformed_outline);
GL_TEXTURE_2D,
GL_TEXTURE0,
blurred_texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform_rounded_rect (job->current_program,
UNIFORM_OUTSET_SHADOW_OUTLINE_RECT, 0,
&transformed_outline);
GL_TEXTURE_2D,
GL_TEXTURE1,
offscreen_end.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform1f (job->current_program,
UNIFORM_CROSS_FADE_PROGRESS, 0,
progress);
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen (job, &node->bounds, &offscreen);
gsk_gl_render_job_end_draw (job);
}
GL_TEXTURE_2D,
GL_TEXTURE0,
texture_id);
+ job->source_is_glyph_atlas = TRUE;
last_texture = texture_id;
}
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
rgba_to_half (&shadow->color, color);
gsk_gl_render_job_draw_offscreen_with_color (job, &bounds, &offscreen, color);
gsk_gl_render_job_end_draw (job);
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_coords (job,
min_x, min_y, max_x, max_y,
0, 1, 1, 0,
GL_TEXTURE_2D,
GL_TEXTURE0,
bottom_offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen (job, &node->bounds, &bottom_offscreen);
gsk_gl_render_job_end_draw (job);
}
GL_TEXTURE_2D,
GL_TEXTURE1,
top_offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform1i (job->current_program,
UNIFORM_BLEND_MODE, 0,
gsk_blend_node_get_blend_mode (node));
GL_TEXTURE_2D,
GL_TEXTURE1,
mask_offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform1i (job->current_program,
UNIFORM_MASK_MODE, 0,
gsk_mask_node_get_mask_mode (node));
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform_matrix (job->current_program,
UNIFORM_COLOR_MATRIX_COLOR_MATRIX, 0,
gsk_color_matrix_node_get_color_matrix (node));
GL_TEXTURE_2D,
GL_TEXTURE0 + i,
offscreens[i].texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform2f (program,
UNIFORM_CUSTOM_SIZE, 0,
node->bounds.size.width,
offscreen.has_mipmap ? GL_LINEAR_MIPMAP_LINEAR : GL_LINEAR,
GL_LINEAR,
offscreen.sync);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_offscreen (job, bounds, &offscreen);
gsk_gl_render_job_end_draw (job);
}
slice->texture_id,
use_mipmap ? GL_LINEAR_MIPMAP_LINEAR : GL_LINEAR,
GL_LINEAR);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_coords (job,
x1, y1, x2, y2,
min_filter,
mag_filter,
sync);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_coords (job,
0, 0, clip_rect.size.width, clip_rect.size.height,
u0, v0, u1, v1,
slice->texture_id,
min_filter,
mag_filter);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_coords (job,
slice_bounds.origin.x,
slice_bounds.origin.y,
GL_TEXTURE_2D,
GL_TEXTURE0,
texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_coords (job,
job->offset_x + clip_rect.origin.x,
job->offset_y + clip_rect.origin.y,
GL_TEXTURE_2D,
GL_TEXTURE0,
offscreen.texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_program_set_uniform4f (job->current_program,
UNIFORM_REPEAT_CHILD_BOUNDS, 0,
(node->bounds.origin.x - child_bounds->origin.x) / child_bounds->size.width,
GL_TEXTURE_2D,
GL_TEXTURE0,
texture_id);
+ job->source_is_glyph_atlas = FALSE;
gsk_gl_render_job_draw_rect (job, &job->viewport);
gsk_gl_render_job_end_draw (job);
}