mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 06:00:22 +00:00
28de2eecc9
Recognize a common pattern: A rounded clip with a color node, followed by a border node, with the same outline. This is what CSS backgrounds frequently produce, and we can render it more efficiently with a combined shader.
85 lines
4.5 KiB
Plaintext
85 lines
4.5 KiB
Plaintext
GSK_NGL_DEFINE_PROGRAM (blend,
|
|
"/org/gtk/libgsk/ngl/blend.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, BLEND_SOURCE2, u_source2)
|
|
GSK_NGL_ADD_UNIFORM (2, BLEND_MODE, u_mode))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (blit,
|
|
"/org/gtk/libgsk/ngl/blit.glsl",
|
|
GSK_NGL_NO_UNIFORMS)
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (blur,
|
|
"/org/gtk/libgsk/ngl/blur.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, BLUR_RADIUS, u_blur_radius)
|
|
GSK_NGL_ADD_UNIFORM (2, BLUR_SIZE, u_blur_size)
|
|
GSK_NGL_ADD_UNIFORM (3, BLUR_DIR, u_blur_dir))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (border,
|
|
"/org/gtk/libgsk/ngl/border.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, BORDER_WIDTHS, u_widths)
|
|
GSK_NGL_ADD_UNIFORM (2, BORDER_OUTLINE_RECT, u_outline_rect))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (color,
|
|
"/org/gtk/libgsk/ngl/color.glsl",
|
|
GSK_NGL_NO_UNIFORMS)
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (coloring,
|
|
"/org/gtk/libgsk/ngl/coloring.glsl",
|
|
GSK_NGL_NO_UNIFORMS)
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (color_matrix,
|
|
"/org/gtk/libgsk/ngl/color_matrix.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, COLOR_MATRIX_COLOR_MATRIX, u_color_matrix)
|
|
GSK_NGL_ADD_UNIFORM (2, COLOR_MATRIX_COLOR_OFFSET, u_color_offset))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (conic_gradient,
|
|
"/org/gtk/libgsk/ngl/conic_gradient.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, CONIC_GRADIENT_COLOR_STOPS, u_color_stops)
|
|
GSK_NGL_ADD_UNIFORM (2, CONIC_GRADIENT_NUM_COLOR_STOPS, u_num_color_stops)
|
|
GSK_NGL_ADD_UNIFORM (3, CONIC_GRADIENT_GEOMETRY, u_geometry))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (cross_fade,
|
|
"/org/gtk/libgsk/ngl/cross_fade.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, CROSS_FADE_PROGRESS, u_progress)
|
|
GSK_NGL_ADD_UNIFORM (2, CROSS_FADE_SOURCE2, u_source2))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (filled_border,
|
|
"/org/gtk/libgsk/ngl/filled_border.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, FILLED_BORDER_WIDTHS, u_widths)
|
|
GSK_NGL_ADD_UNIFORM (2, FILLED_BORDER_OUTLINE_RECT, u_outline_rect))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (inset_shadow,
|
|
"/org/gtk/libgsk/ngl/inset_shadow.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, INSET_SHADOW_SPREAD, u_spread)
|
|
GSK_NGL_ADD_UNIFORM (2, INSET_SHADOW_OFFSET, u_offset)
|
|
GSK_NGL_ADD_UNIFORM (3, INSET_SHADOW_OUTLINE_RECT, u_outline_rect))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (linear_gradient,
|
|
"/org/gtk/libgsk/ngl/linear_gradient.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, LINEAR_GRADIENT_COLOR_STOPS, u_color_stops)
|
|
GSK_NGL_ADD_UNIFORM (2, LINEAR_GRADIENT_NUM_COLOR_STOPS, u_num_color_stops)
|
|
GSK_NGL_ADD_UNIFORM (3, LINEAR_GRADIENT_POINTS, u_points)
|
|
GSK_NGL_ADD_UNIFORM (4, LINEAR_GRADIENT_REPEAT, u_repeat))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (outset_shadow,
|
|
"/org/gtk/libgsk/ngl/outset_shadow.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, OUTSET_SHADOW_OUTLINE_RECT, u_outline_rect))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (radial_gradient,
|
|
"/org/gtk/libgsk/ngl/radial_gradient.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, RADIAL_GRADIENT_COLOR_STOPS, u_color_stops)
|
|
GSK_NGL_ADD_UNIFORM (2, RADIAL_GRADIENT_NUM_COLOR_STOPS, u_num_color_stops)
|
|
GSK_NGL_ADD_UNIFORM (3, RADIAL_GRADIENT_REPEAT, u_repeat)
|
|
GSK_NGL_ADD_UNIFORM (4, RADIAL_GRADIENT_RANGE, u_range)
|
|
GSK_NGL_ADD_UNIFORM (5, RADIAL_GRADIENT_GEOMETRY, u_geometry))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (repeat,
|
|
"/org/gtk/libgsk/ngl/repeat.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, REPEAT_CHILD_BOUNDS, u_child_bounds)
|
|
GSK_NGL_ADD_UNIFORM (2, REPEAT_TEXTURE_RECT, u_texture_rect))
|
|
|
|
GSK_NGL_DEFINE_PROGRAM (unblurred_outset_shadow,
|
|
"/org/gtk/libgsk/ngl/unblurred_outset_shadow.glsl",
|
|
GSK_NGL_ADD_UNIFORM (1, UNBLURRED_OUTSET_SHADOW_SPREAD, u_spread)
|
|
GSK_NGL_ADD_UNIFORM (2, UNBLURRED_OUTSET_SHADOW_OFFSET, u_offset)
|
|
GSK_NGL_ADD_UNIFORM (3, UNBLURRED_OUTSET_SHADOW_OUTLINE_RECT, u_outline_rect))
|