mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 04:45:58 +01:00
render/pixman: skip mask for opaque texture rendering
This commit is contained in:
parent
9b7ee63774
commit
32fc23a383
1 changed files with 9 additions and 5 deletions
|
@ -255,10 +255,12 @@ static bool pixman_render_subtexture_with_matrix(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: don't create a mask if alpha == 1.0
|
pixman_image_t *mask = NULL;
|
||||||
|
if (alpha != 1.0) {
|
||||||
struct pixman_color mask_colour = {0};
|
struct pixman_color mask_colour = {0};
|
||||||
mask_colour.alpha = 0xFFFF * alpha;
|
mask_colour.alpha = 0xFFFF * alpha;
|
||||||
pixman_image_t *mask = pixman_image_create_solid_fill(&mask_colour);
|
mask = pixman_image_create_solid_fill(&mask_colour);
|
||||||
|
}
|
||||||
|
|
||||||
float m[9];
|
float m[9];
|
||||||
memcpy(m, matrix, sizeof(m));
|
memcpy(m, matrix, sizeof(m));
|
||||||
|
@ -279,7 +281,9 @@ static bool pixman_render_subtexture_with_matrix(
|
||||||
wlr_buffer_end_data_ptr_access(texture->buffer);
|
wlr_buffer_end_data_ptr_access(texture->buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mask != NULL) {
|
||||||
pixman_image_unref(mask);
|
pixman_image_unref(mask);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue