Lines Matching +full:sub +full:- +full:sampled
40 * sub-pixel accuracy, which is scaled up to a pixel-aligned destination
84 * ever be sampled, which is important when applying more sophisticated
93 * plane-wide opacity, from transparent (0) to opaque (0xffff). It can be
96 * pre-multiplied by the global alpha associated to the plane.
116 * drm_plane_create_alpha_property - create a new alpha property
132 prop = drm_property_create_range(plane->dev, 0, "alpha", in drm_plane_create_alpha_property()
135 return -ENOMEM; in drm_plane_create_alpha_property()
137 drm_object_attach_property(&plane->base, prop, DRM_BLEND_ALPHA_OPAQUE); in drm_plane_create_alpha_property()
138 plane->alpha_property = prop; in drm_plane_create_alpha_property()
140 if (plane->state) in drm_plane_create_alpha_property()
141 plane->state->alpha = DRM_BLEND_ALPHA_OPAQUE; in drm_plane_create_alpha_property()
148 * drm_plane_create_rotation_property - create a new rotation property
164 * "rotate-0"
166 * "rotate-90"
168 * "rotate-180"
170 * "rotate-270"
172 * "reflect-x"
174 * "reflect-y"
178 * rotation. After reflection, the rotation is applied to the image sampled from
186 { __builtin_ffs(DRM_MODE_ROTATE_0) - 1, "rotate-0" }, in drm_plane_create_rotation_property()
187 { __builtin_ffs(DRM_MODE_ROTATE_90) - 1, "rotate-90" }, in drm_plane_create_rotation_property()
188 { __builtin_ffs(DRM_MODE_ROTATE_180) - 1, "rotate-180" }, in drm_plane_create_rotation_property()
189 { __builtin_ffs(DRM_MODE_ROTATE_270) - 1, "rotate-270" }, in drm_plane_create_rotation_property()
190 { __builtin_ffs(DRM_MODE_REFLECT_X) - 1, "reflect-x" }, in drm_plane_create_rotation_property()
191 { __builtin_ffs(DRM_MODE_REFLECT_Y) - 1, "reflect-y" }, in drm_plane_create_rotation_property()
199 prop = drm_property_create_bitmask(plane->dev, 0, "rotation", in drm_plane_create_rotation_property()
203 return -ENOMEM; in drm_plane_create_rotation_property()
205 drm_object_attach_property(&plane->base, prop, rotation); in drm_plane_create_rotation_property()
207 if (plane->state) in drm_plane_create_rotation_property()
208 plane->state->rotation = rotation; in drm_plane_create_rotation_property()
210 plane->rotation_property = prop; in drm_plane_create_rotation_property()
217 * drm_rotation_simplify() - Try to simplify the rotation
249 * drm_plane_create_zpos_property - create mutable zpos property
262 * should be set to 0 and max to maximal number of planes for given crtc - 1.
284 prop = drm_property_create_range(plane->dev, 0, "zpos", min, max); in drm_plane_create_zpos_property()
286 return -ENOMEM; in drm_plane_create_zpos_property()
288 drm_object_attach_property(&plane->base, prop, zpos); in drm_plane_create_zpos_property()
290 plane->zpos_property = prop; in drm_plane_create_zpos_property()
292 if (plane->state) { in drm_plane_create_zpos_property()
293 plane->state->zpos = zpos; in drm_plane_create_zpos_property()
294 plane->state->normalized_zpos = zpos; in drm_plane_create_zpos_property()
302 * drm_plane_create_zpos_immutable_property - create immuttable zpos property
322 prop = drm_property_create_range(plane->dev, DRM_MODE_PROP_IMMUTABLE, in drm_plane_create_zpos_immutable_property()
325 return -ENOMEM; in drm_plane_create_zpos_immutable_property()
327 drm_object_attach_property(&plane->base, prop, zpos); in drm_plane_create_zpos_immutable_property()
329 plane->zpos_property = prop; in drm_plane_create_zpos_immutable_property()
331 if (plane->state) { in drm_plane_create_zpos_immutable_property()
332 plane->state->zpos = zpos; in drm_plane_create_zpos_immutable_property()
333 plane->state->normalized_zpos = zpos; in drm_plane_create_zpos_immutable_property()
345 if (sa->zpos != sb->zpos) in drm_atomic_state_zpos_cmp()
346 return sa->zpos - sb->zpos; in drm_atomic_state_zpos_cmp()
348 return sa->plane->base.id - sb->plane->base.id; in drm_atomic_state_zpos_cmp()
354 struct drm_atomic_state *state = crtc_state->state; in drm_atomic_helper_crtc_normalize_zpos()
355 struct drm_device *dev = crtc->dev; in drm_atomic_helper_crtc_normalize_zpos()
356 int total_planes = dev->mode_config.num_total_plane; in drm_atomic_helper_crtc_normalize_zpos()
363 crtc->base.id, crtc->name); in drm_atomic_helper_crtc_normalize_zpos()
367 return -ENOMEM; in drm_atomic_helper_crtc_normalize_zpos()
373 drm_for_each_plane_mask(plane, dev, crtc_state->plane_mask) { in drm_atomic_helper_crtc_normalize_zpos()
382 plane->base.id, plane->name, in drm_atomic_helper_crtc_normalize_zpos()
383 plane_state->zpos); in drm_atomic_helper_crtc_normalize_zpos()
389 plane = states[i]->plane; in drm_atomic_helper_crtc_normalize_zpos()
391 states[i]->normalized_zpos = i; in drm_atomic_helper_crtc_normalize_zpos()
393 plane->base.id, plane->name, i); in drm_atomic_helper_crtc_normalize_zpos()
395 crtc_state->zpos_changed = true; in drm_atomic_helper_crtc_normalize_zpos()
403 * drm_atomic_normalize_zpos - calculate normalized zpos values for all crtcs
418 * Zero for success or -errno
430 crtc = new_plane_state->crtc; in drm_atomic_normalize_zpos()
433 if (old_plane_state->zpos != new_plane_state->zpos) { in drm_atomic_normalize_zpos()
435 new_crtc_state->zpos_changed = true; in drm_atomic_normalize_zpos()
440 if (old_crtc_state->plane_mask != new_crtc_state->plane_mask || in drm_atomic_normalize_zpos()
441 new_crtc_state->zpos_changed) { in drm_atomic_normalize_zpos()