From a9b07870764db617f199745573bfccddf9b378f9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Marchesin?= Date: Sat, 22 Nov 2014 00:08:24 -0800 Subject: [PATCH] i915g: Don't write constants past I915_MAX_CONSTANT MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/gallium/drivers/i915/i915_fpc_translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.30.2