Messages in this thread | | | From | Daniel Stone <> | Date | Tue, 25 Feb 2020 07:29:44 +0000 | Subject | Re: [Intel-gfx] [RFC][PATCH 5/5] drm/i915/display: Add Nearest-neighbor based integer scaling support |
| |
Hi,
On Tue, 25 Feb 2020 at 07:17, Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com> wrote: > @@ -415,18 +415,26 @@ skl_program_scaler(struct intel_plane *plane, > u16 y_vphase, uv_rgb_vphase; > int hscale, vscale; > const struct drm_plane_state *state = &plane_state->uapi; > + u32 src_w = drm_rect_width(&plane_state->uapi.src) >> 16; > + u32 src_h = drm_rect_height(&plane_state->uapi.src) >> 16; > u32 scaling_filter = PS_FILTER_MEDIUM; > + struct drm_rect dst; > > if (state->scaling_filter == DRM_SCALING_FILTER_NEAREST_NEIGHBOR) { > scaling_filter = PS_FILTER_PROGRAMMED; > + skl_setup_nearest_neighbor_filter(dev_priv, pipe, scaler_id); > + > + /* Make the scaling window size to integer multiple of source > + * TODO: Should userspace take desision to round scaling window > + * to integer multiple? > + */ > + crtc_w = rounddown(crtc_w, src_w); > + crtc_h = rounddown(crtc_h, src_h);
The kernel should absolutely not be changing the co-ordinates that userspace requested.
Cheers, Daniel
| |