mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-01 14:52:32 +00:00
drm/vc4: Make sure that planes aren't scaled.
We would scan out the memory around them if an upscale was attempted, and would just scan out incorrectly for downscaling. Signed-off-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
36f4f69a09
commit
bf893acc16
@ -157,6 +157,16 @@ static int vc4_plane_mode_set(struct drm_plane *plane,
|
||||
int crtc_w = state->crtc_w;
|
||||
int crtc_h = state->crtc_h;
|
||||
|
||||
if (state->crtc_w << 16 != state->src_w ||
|
||||
state->crtc_h << 16 != state->src_h) {
|
||||
/* We don't support scaling yet, which involves
|
||||
* allocating the LBM memory for scaling temporary
|
||||
* storage, and putting filter kernels in the HVS
|
||||
* context.
|
||||
*/
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (crtc_x < 0) {
|
||||
offset += drm_format_plane_cpp(fb->pixel_format, 0) * -crtc_x;
|
||||
crtc_w += crtc_x;
|
||||
|
Loading…
Reference in New Issue
Block a user