i915: Only allow 8 vertex texture units
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 26 Feb 2014 20:32:29 +0000 (12:32 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 28 Feb 2014 23:05:38 +0000 (15:05 -0800)
There's no reason to have more vertex texture units than fragment
texture units on this hardware.  Since increasing the default maximum
number of texture units from 16 to 32, this has triggered some segfault
in i915 driver.  There's probably some array or bitfield that isn't
properly sized now.  This really papers over the bug, but I don't think
I'll lose any sleep over that.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74071
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i915/i915_context.c

index 7378fc3aef53da24881559506f7c53c63ba00591..ebcab9477f36d75fd35053050a32969c683e32ae 100644 (file)
@@ -193,6 +193,7 @@ i915CreateContext(int api,
 
    ctx->Const.MaxTextureUnits = I915_TEX_UNITS;
    ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits = I915_TEX_UNITS;
+   ctx->Const.Program[MESA_SHADER_VERTEX].MaxTextureImageUnits = I915_TEX_UNITS;
    ctx->Const.MaxTextureCoordUnits = I915_TEX_UNITS;
    ctx->Const.MaxVarying = I915_TEX_UNITS;
    ctx->Const.Program[MESA_SHADER_VERTEX].MaxOutputComponents =