Bug 74130 - Increase GL_MAX_3D_TEXTURE_SIZE
Summary: Increase GL_MAX_3D_TEXTURE_SIZE
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium enhancement
Assignee: Kenneth Graunke
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-27 23:37 UTC by Ian Romanick
Modified: 2014-02-26 23:13 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Ian Romanick 2014-01-27 23:37:33 UTC
At least some GEN hardware can do more than the 256 that the driver advertises.  Increase the advertised limit to the actual hardware limit.
Comment 1 Kenneth Graunke 2014-02-02 07:17:51 UTC
In theory, this should be easy.  All Gen4+ systems support 2048x2048 3D textures, so we could just bump the limit.

However, that results in a *huge* image.  Piglit's max-texture-size test begins failing because it can't allocate enough size.  We also bump up against the ctx->Const.MaxTextureMbytes limit (which we can set however high we feel like - it just needs to get bumped too).
Comment 2 Kenneth Graunke 2014-02-02 11:15:08 UTC
It turns out the Piglit test just liked to label things as "fail" when it didn't have enough memory to properly test them...among a myriad of other issues.  I've sent 11 patches to the Piglit list to improve the test.

I've also sent out 3 patches to mesa-dev that increase our GL_MAX_{3D,CUBE_MAP}_TEXTURE_SIZE limits.
Comment 3 Ian Romanick 2014-02-26 23:13:03 UTC
Fixed by the following commits.  These will be in Mesa 10.2.

commit c593ad6e467b07ec0c70923d79259dbfb68b1bed
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sun Feb 2 03:03:39 2014 -0800

    i965: Bump MaxTexMbytes from 1GB to 1.5GB.
    
    Even with the other limits raised, TestProxyTexImage would still reject
    textures > 1GB in size.  This is an artificial limit; nothing prevents
    us from having a larger texture.  I stayed shy of 2GB to avoid the
    larger-than-aperture situation.
    
    For 3D textures, this raises the effective limit:
     - RGBA8:   645 -> 738
     - RGBA16:  512 -> 586
     - RGBA32F: 406 -> 465
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74130
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>

commit 6c044231535b93c5d16404528946cad618d96bd9
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sun Feb 2 02:58:42 2014 -0800

    i965: Bump GL_MAX_CUBE_MAP_TEXTURE_SIZE to 8192.
    
    Gen4+ supports 8192x8192 cube maps.  Ivybridge and later can actually
    support 16384, but that would place GL_MAX_CUBE_MAP_TEXTURE_SIZE above
    GL_MAX_TEXTURE_SIZE, which seems like a bad idea.
    
    (Unfortunately, we can't bump GL_MAX_TEXTURE_SIZE to 16384 without
    causing regressions due to awful W-tiled stencil buffer interactions.)
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74130
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>

commit 06b047ebc75c6af02f806d051a5703748ee76b69
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sun Feb 2 02:51:45 2014 -0800

    i965: Bump MAX_3D_TEXTURE_SIZE to 2048.
    
    It's highly unlikely that there will be enough memory in the system to
    allocate enough space for this, but we should still expose the hardware
    limit.  It's what the Intel Windows driver does, and it seems most other
    vendors do likewise.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74130
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.