On Thu, May 16, 2019 at 06:33:21PM +0200, Maarten Lankhorst wrote:
> Op 09-05-2019 om 14:21 schreef Ville Syrjala:
> > From: Ville Syrjälä <[email protected]>
> >
> > With gtt remapping in place we can use arbitrarily large
> > framebuffers. Let's bump the limits to 16kx16k on gen7+.
> > The limit was chosen to match the maximum 2D surface size
> > of the 3D engine.
> >
> > With the remapping we could easily go higher than that for the
> > display engine. However the modesetting ddx will blindly assume
> > it can handle whatever is reported via kms. The oversized
> > buffer dimensions are not caught by glamor nor Mesa until
> > finally an assert will trip when genxml attempts to pack the
> > SURFACE_STATE. So we pick a safe limit to avoid the X server
> > from crashing (or potentially misbehaving if the genxml asserts
> > are compiled out).
> >
> > Reviewed-by: Daniel Vetter <[email protected]>
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110187
> > Signed-off-by: Ville Syrjälä <[email protected]>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 18 ++++++++++++------
> >  1 file changed, 12 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c 
> > b/drivers/gpu/drm/i915/intel_display.c
> > index a2e4ef938d53..a495fd2dcaa3 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -15783,16 +15783,22 @@ int intel_modeset_init(struct drm_device *dev)
> >             }
> >     }
> >  
> > -   /* maximum framebuffer dimensions */
> > -   if (IS_GEN(dev_priv, 2)) {
> > -           dev->mode_config.max_width = 2048;
> > -           dev->mode_config.max_height = 2048;
> > +   /*
> > +    * Maximum framebuffer dimensions, chosen to match
> > +    * the maximum render engine surface size on gen4+.
> > +    */
> > +   if (INTEL_GEN(dev_priv) >= 7) {
> > +           dev->mode_config.max_width = 16384;
> > +           dev->mode_config.max_height = 16384;
> > +   } else if (INTEL_GEN(dev_priv) >= 4) {
> > +           dev->mode_config.max_width = 8192;
> > +           dev->mode_config.max_height = 8192;
> >     } else if (IS_GEN(dev_priv, 3)) {
> >             dev->mode_config.max_width = 4096;
> >             dev->mode_config.max_height = 4096;
> >     } else {
> > -           dev->mode_config.max_width = 8192;
> > -           dev->mode_config.max_height = 8192;
> > +           dev->mode_config.max_width = 2048;
> > +           dev->mode_config.max_height = 2048;
> >     }
> >  
> >     if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {
> 
> Should be good enough, lets not go too crazy. :)
> 
> For whole series:
> 
> Reviewed-by: Maarten Lankhorst <[email protected]>

Yay! Everything rb'd so series pushed to dinq.

Thanks for the reviews everyone.

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to