Mesa (sprite-coord): draw: check bitshift against PIPE_MAX_SHADER_OUTPUS

Brian Paul brianp at kemper.freedesktop.org
Tue Sep 21 15:59:21 UTC 2010


Module: Mesa
Branch: sprite-coord
Commit: 77af10955462819d973a395270777c5b8217f6ae
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77af10955462819d973a395270777c5b8217f6ae

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Sep 20 15:34:02 2010 -0600

draw: check bitshift against PIPE_MAX_SHADER_OUTPUS

---

 src/gallium/auxiliary/draw/draw_pipe_wide_point.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_pipe_wide_point.c b/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
index 40843c5..3646c6a 100644
--- a/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
+++ b/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
@@ -237,7 +237,11 @@ widepoint_first_point(struct draw_stage *stage,
       for (i = 0; i < fs->info.num_inputs; i++) {
          if (fs->info.input_semantic_name[i] == TGSI_SEMANTIC_GENERIC) {
             const int generic_index = fs->info.input_semantic_index[i];
-            if (rast->sprite_coord_enable & (1 << generic_index)) {
+            /* Note that sprite_coord enable is a bitfield of
+             * PIPE_MAX_SHADER_OUTPUTS bits.
+             */
+            if (generic_index < PIPE_MAX_SHADER_OUTPUTS &&
+                (rast->sprite_coord_enable & (1 << generic_index))) {
                /* OK, this generic attribute needs to be replaced with a
                 * texcoord (see above).
                 */




More information about the mesa-commit mailing list