[Intel-gfx] [PATCH] drm/i915: Increase max texture to 16k for gen9+

Alex Tu alex.tu at canonical.com
Fri Dec 8 03:24:08 UTC 2017


looks it's not that easy as I thought.
This change is for https://bugs.freedesktop.org/show_bug.cgi?id=102508 ,
and the hardware configuration is

* 00:02.0 VGA compatible controller [0300]: Intel Corporation Device
[8086:591d] (rev 04)
* Dell Thunderbolt BME dock :
http://www.dell.com/support/article/us/en/04/sln301105/dell-thunderbolt-dock--tb16--information-and-specifications?lang=en
* internal native monitor is 4K, another 2 4K monitors are plugged behind
BME dock

This patch could let this setting work, but looks it not the correct way.
Not see the the relevant math in original code of commit b321803dfb and
ac484963f9 .
Does someone know how the original value 8192 be calculated out?
So that the way might could be followed for this new change.

Thanks.

On Thu, Dec 7, 2017 at 11:32 PM, Ville Syrjälä <
ville.syrjala at linux.intel.com> wrote:

> On Thu, Dec 07, 2017 at 05:26:00PM +0800, Alex Tu wrote:
> > Rrefer to another patch [1] on mesa to extend width/height to 16384.
> > For issue :
> >  - https://bugs.freedesktop.org/show_bug.cgi?id=102508
> >  - LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
> >
> > [1] https://patchwork.freedesktop.org/patch/124918/
> >
> > Signed-off-by: Alex Tu <alex.tu at canonical.com>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c
> b/drivers/gpu/drm/i915/intel_display.c
> > index 47a2f6acee50..556fa57b18b8 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private
> *dev_priv,
> >               /* "The stride in bytes must not exceed the of the size of
> 8K
> >                *  pixels and 32K bytes."
>
> The spec queote clearly says the patch is wrong. Either that or the spec
> quote is outdated.
>
> >                */
> > -             return min(8192 * cpp, 32768);
> > +             return min(16384 * cpp, 65536);
> >       } else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) {
> >               return 32*1024;
> >       } else if (gen >= 4) {
> > @@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev)
> >               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 = 16384;
> > +             dev->mode_config.max_height = 16384;
>
> Even if this would be correct (which it's not for most platforms at
> least, not quite sure about the very latest hardware), anyone doing
> this should at least do a cursory check of the relevant math in the
> driver to make seure we don't end up with integer overflows.
>
> >       }
> >
> >       if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {
> > --
> > 2.11.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ville Syrjälä
> Intel OTC
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20171208/f4f1e65f/attachment-0001.html>


More information about the Intel-gfx mailing list