From: Stéphane Marchesin Date: Sat, 22 Nov 2014 08:08:24 +0000 (-0800) Subject: i915g: Don't write constants past I915_MAX_CONSTANT X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a9b07870764db617f199745573bfccddf9b378f9;p=mesa.git i915g: Don't write constants past I915_MAX_CONSTANT This happens with glsl-convolution-1, where we have 64 constants. This doesn't make the test pass (we don't have 64 constants anyway, only 32) but this prevents it from crashing. Signed-off-by: Stéphane Marchesin --- diff --git a/src/gallium/drivers/i915/i915_fpc_translate.c b/src/gallium/drivers/i915/i915_fpc_translate.c index 124c5866dc3..4f5fdd84e66 100644 --- a/src/gallium/drivers/i915/i915_fpc_translate.c +++ b/src/gallium/drivers/i915/i915_fpc_translate.c @@ -1128,7 +1128,7 @@ static void i915_translate_token(struct i915_fp_compile *p, == TGSI_FILE_CONSTANT) { uint i; for (i = token->FullDeclaration.Range.First; - i <= token->FullDeclaration.Range.Last; + i <= MIN2(token->FullDeclaration.Range.Last, I915_MAX_CONSTANT - 1); i++) { assert(ifs->constant_flags[i] == 0x0); ifs->constant_flags[i] = I915_CONSTFLAG_USER;