aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Marchesin <marcheu@chromium.org>2012-08-14 17:15:54 -0700
committerJulien Cristau <jcristau@debian.org>2012-08-24 00:06:41 +0200
commit368dddd0e350dcb7d954e8cb04ebcc0a5e9b658b (patch)
treeddc387e8b477527ef4450f8cc0c8bffe164672d9
parent67a967e5787963c4cceb6730c22ef6f7ca3f2594 (diff)
glsl/linker: Avoid buffer over-run in parcel_out_uniform_storage::visit_field
When too may uniforms are used, the error will be caught in check_resources (src/glsl/linker.cpp). NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Benoit Jacob <bjacob@mozilla.com> (cherry picked from commit ff996cafce511dd8a6c4e066e409c23e147a670c)
-rw-r--r--src/glsl/link_uniforms.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index 588008a8b48..e14172ce9fa 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -275,7 +275,7 @@ private:
const gl_texture_index target = base_type->sampler_index();
const unsigned shadow = base_type->sampler_shadow;
for (unsigned i = this->uniforms[id].sampler
- ; i < this->next_sampler
+ ; i < MIN2(this->next_sampler, MAX_SAMPLERS)
; i++) {
this->targets[i] = target;
this->shader_samplers_used |= 1U << i;