Lines Matching +full:pre +full:- +full:filled

43  * sub-pixel accuracy, which is scaled up to a pixel-aligned destination
96 * plane-wide opacity, from transparent (0) to opaque (0xffff). It can be
99 * pre-multiplied by the global alpha associated to the plane.
109 * "rotate-<degrees>":
113 * "reflect-<axis>":
117 * reflect-x::
120 * | | -> | |
123 * reflect-y::
126 * | | -> | |
147 * (1 - plane_alpha) * bg.rgb
149 * "Pre-multiplied":
151 * have been already pre-multiplied with the alpha
155 * (1 - (plane_alpha * fg.alpha)) * bg.rgb
159 * been pre-multiplied and will do so when blending them to the
163 * (1 - (plane_alpha * fg.alpha)) * bg.rgb
187 * drm_plane_create_alpha_property - create a new alpha property
203 prop = drm_property_create_range(plane->dev, 0, "alpha", in drm_plane_create_alpha_property()
206 return -ENOMEM; in drm_plane_create_alpha_property()
208 drm_object_attach_property(&plane->base, prop, DRM_BLEND_ALPHA_OPAQUE); in drm_plane_create_alpha_property()
209 plane->alpha_property = prop; in drm_plane_create_alpha_property()
211 if (plane->state) in drm_plane_create_alpha_property()
212 plane->state->alpha = DRM_BLEND_ALPHA_OPAQUE; in drm_plane_create_alpha_property()
219 * drm_plane_create_rotation_property - create a new rotation property
235 * "rotate-0"
237 * "rotate-90"
239 * "rotate-180"
241 * "rotate-270"
243 * "reflect-x"
245 * "reflect-y"
257 { __builtin_ffs(DRM_MODE_ROTATE_0) - 1, "rotate-0" }, in drm_plane_create_rotation_property()
258 { __builtin_ffs(DRM_MODE_ROTATE_90) - 1, "rotate-90" }, in drm_plane_create_rotation_property()
259 { __builtin_ffs(DRM_MODE_ROTATE_180) - 1, "rotate-180" }, in drm_plane_create_rotation_property()
260 { __builtin_ffs(DRM_MODE_ROTATE_270) - 1, "rotate-270" }, in drm_plane_create_rotation_property()
261 { __builtin_ffs(DRM_MODE_REFLECT_X) - 1, "reflect-x" }, in drm_plane_create_rotation_property()
262 { __builtin_ffs(DRM_MODE_REFLECT_Y) - 1, "reflect-y" }, in drm_plane_create_rotation_property()
270 prop = drm_property_create_bitmask(plane->dev, 0, "rotation", in drm_plane_create_rotation_property()
274 return -ENOMEM; in drm_plane_create_rotation_property()
276 drm_object_attach_property(&plane->base, prop, rotation); in drm_plane_create_rotation_property()
278 if (plane->state) in drm_plane_create_rotation_property()
279 plane->state->rotation = rotation; in drm_plane_create_rotation_property()
281 plane->rotation_property = prop; in drm_plane_create_rotation_property()
288 * drm_rotation_simplify() - Try to simplify the rotation
320 * drm_plane_create_zpos_property - create mutable zpos property
333 * should be set to 0 and max to maximal number of planes for given crtc - 1.
355 prop = drm_property_create_range(plane->dev, 0, "zpos", min, max); in drm_plane_create_zpos_property()
357 return -ENOMEM; in drm_plane_create_zpos_property()
359 drm_object_attach_property(&plane->base, prop, zpos); in drm_plane_create_zpos_property()
361 plane->zpos_property = prop; in drm_plane_create_zpos_property()
363 if (plane->state) { in drm_plane_create_zpos_property()
364 plane->state->zpos = zpos; in drm_plane_create_zpos_property()
365 plane->state->normalized_zpos = zpos; in drm_plane_create_zpos_property()
373 * drm_plane_create_zpos_immutable_property - create immuttable zpos property
393 prop = drm_property_create_range(plane->dev, DRM_MODE_PROP_IMMUTABLE, in drm_plane_create_zpos_immutable_property()
396 return -ENOMEM; in drm_plane_create_zpos_immutable_property()
398 drm_object_attach_property(&plane->base, prop, zpos); in drm_plane_create_zpos_immutable_property()
400 plane->zpos_property = prop; in drm_plane_create_zpos_immutable_property()
402 if (plane->state) { in drm_plane_create_zpos_immutable_property()
403 plane->state->zpos = zpos; in drm_plane_create_zpos_immutable_property()
404 plane->state->normalized_zpos = zpos; in drm_plane_create_zpos_immutable_property()
416 if (sa->zpos != sb->zpos) in drm_atomic_state_zpos_cmp()
417 return sa->zpos - sb->zpos; in drm_atomic_state_zpos_cmp()
419 return sa->plane->base.id - sb->plane->base.id; in drm_atomic_state_zpos_cmp()
425 struct drm_atomic_state *state = crtc_state->state; in drm_atomic_helper_crtc_normalize_zpos()
426 struct drm_device *dev = crtc->dev; in drm_atomic_helper_crtc_normalize_zpos()
427 int total_planes = dev->mode_config.num_total_plane; in drm_atomic_helper_crtc_normalize_zpos()
434 crtc->base.id, crtc->name); in drm_atomic_helper_crtc_normalize_zpos()
438 return -ENOMEM; in drm_atomic_helper_crtc_normalize_zpos()
444 drm_for_each_plane_mask(plane, dev, crtc_state->plane_mask) { in drm_atomic_helper_crtc_normalize_zpos()
453 plane->base.id, plane->name, in drm_atomic_helper_crtc_normalize_zpos()
454 plane_state->zpos); in drm_atomic_helper_crtc_normalize_zpos()
460 plane = states[i]->plane; in drm_atomic_helper_crtc_normalize_zpos()
462 states[i]->normalized_zpos = i; in drm_atomic_helper_crtc_normalize_zpos()
464 plane->base.id, plane->name, i); in drm_atomic_helper_crtc_normalize_zpos()
466 crtc_state->zpos_changed = true; in drm_atomic_helper_crtc_normalize_zpos()
474 * drm_atomic_normalize_zpos - calculate normalized zpos values for all crtcs
485 * is then filled with unique values from 0 to number of active planes in crtc
489 * Zero for success or -errno
501 crtc = new_plane_state->crtc; in drm_atomic_normalize_zpos()
504 if (old_plane_state->zpos != new_plane_state->zpos) { in drm_atomic_normalize_zpos()
506 new_crtc_state->zpos_changed = true; in drm_atomic_normalize_zpos()
511 if (old_crtc_state->plane_mask != new_crtc_state->plane_mask || in drm_atomic_normalize_zpos()
512 new_crtc_state->zpos_changed) { in drm_atomic_normalize_zpos()
524 * drm_plane_create_blend_mode_property - create a new blend mode property
540 * "Pre-multiplied":
542 * pre-multiplied with the alpha channel values.
546 * pre-multiplied and will do so when blending them to the background color
550 * Zero for success or -errno
555 struct drm_device *dev = plane->dev; in drm_plane_create_blend_mode_property()
559 { DRM_MODE_BLEND_PREMULTI, "Pre-multiplied" }, in drm_plane_create_blend_mode_property()
569 return -EINVAL; in drm_plane_create_blend_mode_property()
575 return -ENOMEM; in drm_plane_create_blend_mode_property()
593 drm_object_attach_property(&plane->base, prop, DRM_MODE_BLEND_PREMULTI); in drm_plane_create_blend_mode_property()
594 plane->blend_mode_property = prop; in drm_plane_create_blend_mode_property()