summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Marchesin <marcheu@chromium.org>2014-11-22 00:08:24 -0800
committerStéphane Marchesin <marcheu@chromium.org>2014-11-22 00:13:39 -0800
commita9b07870764db617f199745573bfccddf9b378f9 (patch)
tree0ce4223052dd14642eaec9428fd5fdbc9fa99a32
parent5f61744adba322eaec9a357f09f5ed3bee29226b (diff)
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 <marcheu@chromium.org>
-rw-r--r--src/gallium/drivers/i915/i915_fpc_translate.c2
1 files changed, 1 insertions, 1 deletions
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;