|
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.
|