Merge branch 'wip/otte/for-main' into 'main'
gpu: Fix variable See merge request GNOME/gtk!6812
This commit is contained in:
@@ -220,7 +220,7 @@ gsk_gpu_frame_seal_ops (GskGpuFrame *self)
|
||||
{
|
||||
GskGpuFramePrivate *priv = gsk_gpu_frame_get_instance_private (self);
|
||||
GskGpuOp *last, *op;
|
||||
guint i;
|
||||
gsize i;
|
||||
|
||||
priv->first_op = (GskGpuOp *) gsk_gpu_ops_index (&priv->ops, 0);
|
||||
|
||||
|
||||
@@ -18,37 +18,68 @@ vec4
|
||||
compute_color (void)
|
||||
{
|
||||
uint triangle_index = uint (GSK_VERTEX_INDEX) / 3u;
|
||||
uint index;
|
||||
uint index, fallback;
|
||||
|
||||
switch (triangle_index)
|
||||
{
|
||||
case 2u * SLICE_TOP_LEFT + 1u:
|
||||
index = TOP;
|
||||
fallback = LEFT;
|
||||
break;
|
||||
case 2u * SLICE_TOP:
|
||||
case 2u * SLICE_TOP + 1u:
|
||||
index = TOP;
|
||||
fallback = TOP;
|
||||
break;
|
||||
case 2u * SLICE_TOP_RIGHT:
|
||||
index = TOP;
|
||||
fallback = RIGHT;
|
||||
break;
|
||||
case 2u * SLICE_TOP_RIGHT + 1u:
|
||||
index = RIGHT;
|
||||
fallback = TOP;
|
||||
break;
|
||||
case 2u * SLICE_RIGHT:
|
||||
case 2u * SLICE_RIGHT + 1u:
|
||||
index = RIGHT;
|
||||
fallback = RIGHT;
|
||||
break;
|
||||
case 2u * SLICE_BOTTOM_RIGHT:
|
||||
index = RIGHT;
|
||||
fallback = BOTTOM;
|
||||
break;
|
||||
case 2u * SLICE_BOTTOM_RIGHT + 1u:
|
||||
index = BOTTOM;
|
||||
fallback = RIGHT;
|
||||
break;
|
||||
case 2u * SLICE_BOTTOM:
|
||||
case 2u * SLICE_BOTTOM + 1u:
|
||||
index = BOTTOM;
|
||||
fallback = BOTTOM;
|
||||
break;
|
||||
case 2u * SLICE_BOTTOM_LEFT:
|
||||
index = BOTTOM;
|
||||
fallback = LEFT;
|
||||
break;
|
||||
case 2u * SLICE_BOTTOM_LEFT + 1u:
|
||||
index = LEFT;
|
||||
fallback = BOTTOM;
|
||||
break;
|
||||
case 2u * SLICE_LEFT:
|
||||
case 2u * SLICE_LEFT + 1u:
|
||||
index = LEFT;
|
||||
fallback = LEFT;
|
||||
break;
|
||||
case 2u * SLICE_TOP_LEFT:
|
||||
index = LEFT;
|
||||
fallback = TOP;
|
||||
break;
|
||||
}
|
||||
|
||||
return color_premultiply (in_border_colors[index]);
|
||||
if (in_border_widths[index] > 0.0)
|
||||
return color_premultiply (in_border_colors[index]);
|
||||
else
|
||||
return color_premultiply (in_border_colors[fallback]);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
8
testsuite/gsk/compare/border-zero-width-color.node
Normal file
8
testsuite/gsk/compare/border-zero-width-color.node
Normal file
@@ -0,0 +1,8 @@
|
||||
clip {
|
||||
clip: 0 0 50 50;
|
||||
child: border {
|
||||
colors: rgb(255,0,0) rgb(0,255,0);
|
||||
outline: -15 -15 80 80 / 40;
|
||||
widths: 40 0;
|
||||
}
|
||||
}
|
||||
BIN
testsuite/gsk/compare/border-zero-width-color.png
Normal file
BIN
testsuite/gsk/compare/border-zero-width-color.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 85 B |
@@ -27,6 +27,7 @@ compare_render_tests = [
|
||||
'border-bottom-right',
|
||||
'border-one-rounded',
|
||||
'border-opacity',
|
||||
'border-zero-width-color',
|
||||
'borders-rotated',
|
||||
'borders-scaled',
|
||||
'clip-contained',
|
||||
|
||||
Reference in New Issue
Block a user