On Fri, Jan 18, 2019 at 07:11:06PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > v2: Leave the stride alone for buffers that look to be for the cursor > --- > drivers/gpu/drm/i915/i915_gem.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 1e7c95d0fea1..b4b34519af80 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -745,7 +745,12 @@ i915_gem_dumb_create(struct drm_file *file, > struct drm_mode_create_dumb *args) > { > /* have to work out size/pitch and return them */ > - args->pitch = ALIGN(args->width * DIV_ROUND_UP(args->bpp, 8), 64); > + if (args->bpp == 32 && (args->width == 64 || > + args->width == 128 || > + args->width == 256)) > + args->pitch = ALIGN(args->width * DIV_ROUND_UP(args->bpp, 8), 64); > + else > + args->pitch = ALIGN(args->width * DIV_ROUND_UP(args->bpp, 8), 4096); Shouldn't we convert this into a non-hack and just do it anytime the pitch is too wide for the display to handle? Or am I missing something somewhere? -modesetting et all will dtrt because tiling, but this should help with boot splashes and stuff like that (but those tend to not do side-by-side, so maybe that's why the get away with it). -Daniel > args->size = args->pitch * args->height; > return i915_gem_create(file, to_i915(dev), > args->size, &args->handle); > -- > 2.19.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx