mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-21 14:18:14 +02:00
color-lcms: transform_search_param well-formedness
Assert that the search param structure is well-formed, so that there won't be cache misses due inconsistent fields. Anything called from inside cmlcms_color_transform_get() can skip asserting these. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
parent
ce80a059f1
commit
d26ab4360d
1 changed files with 13 additions and 1 deletions
|
|
@ -1233,7 +1233,6 @@ xform_realize_chain(struct cmlcms_color_transform *xform)
|
|||
chain[chain_len++] = output_profile->extract.vcgt;
|
||||
|
||||
/* Render intent does not apply here, but need to set something. */
|
||||
weston_assert_ptr_null(cm->base.compositor, render_intent);
|
||||
render_intent = weston_render_intent_info_from(cm->base.compositor,
|
||||
WESTON_RENDER_INTENT_ABSOLUTE);
|
||||
break;
|
||||
|
|
@ -1405,6 +1404,19 @@ cmlcms_color_transform_get(struct weston_color_manager_lcms *cm,
|
|||
{
|
||||
struct cmlcms_color_transform *xform;
|
||||
|
||||
weston_assert_ptr_not_null(cm->base.compositor, param->output_profile);
|
||||
switch (param->category) {
|
||||
case CMLCMS_CATEGORY_BLEND_TO_OUTPUT:
|
||||
weston_assert_ptr_null(cm->base.compositor, param->render_intent);
|
||||
weston_assert_ptr_null(cm->base.compositor, param->input_profile);
|
||||
break;
|
||||
case CMLCMS_CATEGORY_INPUT_TO_OUTPUT:
|
||||
case CMLCMS_CATEGORY_INPUT_TO_BLEND:
|
||||
weston_assert_ptr_not_null(cm->base.compositor, param->render_intent);
|
||||
weston_assert_ptr_not_null(cm->base.compositor, param->input_profile);
|
||||
break;
|
||||
}
|
||||
|
||||
wl_list_for_each(xform, &cm->color_transform_list, link) {
|
||||
if (transform_matches_params(xform, param)) {
|
||||
weston_color_transform_ref(&xform->base);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue