Mesa (master): draw: Fix regression in draw_set_sampler(_views).
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Fri Aug 24 10:28:08 UTC 2012
Module: Mesa
Branch: master
Commit: 3e3f99277df947a96029580dc4e66ae38a93f004
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e3f99277df947a96029580dc4e66ae38a93f004
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Aug 24 11:27:22 2012 +0100
draw: Fix regression in draw_set_sampler(_views).
draw->samplers(_views) now has PIPE_SHADER_TYPES elements, instead of
PIPE_MAX_SAMPLERS as before.
Also, shader_stage must be less than PIPE_SHADER_TYPES to prevent buffer
overflow.
Trivial.
---
src/gallium/auxiliary/draw/draw_context.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c
index 4fc59a5..1aa9b61 100644
--- a/src/gallium/auxiliary/draw/draw_context.c
+++ b/src/gallium/auxiliary/draw/draw_context.c
@@ -760,12 +760,12 @@ draw_set_sampler_views(struct draw_context *draw,
{
unsigned i;
- debug_assert(num <= Elements(draw->sampler_views));
- debug_assert(shader_stage <= PIPE_SHADER_TYPES);
+ debug_assert(shader_stage < PIPE_SHADER_TYPES);
+ debug_assert(num <= PIPE_MAX_SAMPLERS);
for (i = 0; i < num; ++i)
draw->sampler_views[shader_stage][i] = views[i];
- for (i = num; i < Elements(draw->sampler_views); ++i)
+ for (i = num; i < PIPE_MAX_SAMPLERS; ++i)
draw->sampler_views[shader_stage][i] = NULL;
draw->num_sampler_views[shader_stage] = num;
@@ -779,12 +779,12 @@ draw_set_samplers(struct draw_context *draw,
{
unsigned i;
- debug_assert(num <= Elements(draw->samplers));
- debug_assert(shader_stage <= PIPE_SHADER_TYPES);
+ debug_assert(shader_stage < PIPE_SHADER_TYPES);
+ debug_assert(num <= PIPE_MAX_SAMPLERS);
for (i = 0; i < num; ++i)
draw->samplers[shader_stage][i] = samplers[i];
- for (i = num; i < Elements(draw->samplers); ++i)
+ for (i = num; i < PIPE_MAX_SAMPLERS; ++i)
draw->samplers[shader_stage][i] = NULL;
draw->num_samplers[shader_stage] = num;
More information about the mesa-commit
mailing list