OpenSolaris

Printable Version Enter a New Search
Bug ID 6589352
Synopsis Increase Mesa texture upper limit handling to 31 textures.
State 10-Fix Delivered (Fix available in build)
Category:Subcategory xserver:dri_drm
Keywords opensolaris
Responsible Engineer Daniel Zhu
Reported Against snv_69
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_75
Fixed In snv_75
Release Fixed solaris_nevada(snv_75)
Related Bugs 6579084
Submit Date 5-August-2007
Last Update Date 6-November-2008
Description
Category
   xserver
Sub-Category
   dri_drm
Description
   Mesa set an internal upper limit of texture of (7) in src/mesa/main/texenvprogram.c, but some GPUs support support up to 16 textures,  this will leads to a core dump when we use GL conformance multi-texture test case.
Frequency
   Always
Regression
   No
Steps to Reproduce
   1. Compile and install Mesa 7.0.1 on the Sun Ultra 40/45.
2. Conduct full GL Compliance testing.
3. Test OpenGL 2.1 support.
Expected Result
   Passes all tests on OpenGL-2.1 compliant hardware with 8-16 unified shader processors using large 8K x 8K textures for advanced texturing and shading techniques.
Actual Result
   Normal results until large textures are used during 8-16 multitexturing. 
Error Message(s)
   
Test Case
   http://superb-east.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-7.0.1.tar.bz2
http://download.blender.org/release/Blender2.45rc/blender-2.45-RC1-solaris-2.8-sparc.tar.bz2
Workaround
   Increase textenvprogram.c texture limit to 16.
Submitter wants to work on bug
   Yes
Additional configuration information
   Mesa 7.0.1
Sun Ultra 40/45
Nvidia Quadro FX 5600
SUN XVR-2500
According to John.Martin's email below:
...
For MESA clients, it shouldn't matter either. The ARB specification for
texture unit range is 0 to 31. Applications are required not to guess
or hardcode the number of units, but instead query
GL_MAX_TEXTURE_UNITS[_ARB] for the actual value. Different boards
supported by the same driver may have differing limits.

I am going to raise the limit to 31 to avoid future core-dump, although I am still not clear why such core-dump happened, because Nvidia should use its own libGL rather than Mesa.

Anyway, raising the limit only enlarges an internal array just to accomodate more instructions, so it should not be a big issue.
Work Around
N/A
Comments
N/A