Mesa (sprite-coord): llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS
Brian Paul
brianp at kemper.freedesktop.org
Tue Sep 21 15:59:21 UTC 2010
Module: Mesa
Branch: sprite-coord
Commit: 1662c317032cf280701d7e55b028b7f0dc8afc65
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1662c317032cf280701d7e55b028b7f0dc8afc65
Author: Brian Paul <brianp at vmware.com>
Date: Mon Sep 20 15:33:49 2010 -0600
llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS
---
src/gallium/drivers/llvmpipe/lp_setup_point.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_point.c b/src/gallium/drivers/llvmpipe/lp_setup_point.c
index bb6b880..774a3c8 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_point.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup_point.c
@@ -188,8 +188,11 @@ setup_point_coefficients( struct lp_setup_context *setup,
*/
if (shader->info.input_semantic_name[slot] == TGSI_SEMANTIC_GENERIC) {
const int index = shader->info.input_semantic_index[slot];
-
- if (setup->sprite_coord_enable & (1 << index)) {
+ /* Note that sprite_coord enable is a bitfield of
+ * PIPE_MAX_SHADER_OUTPUTS bits.
+ */
+ if (index < PIPE_MAX_SHADER_OUTPUTS &&
+ (setup->sprite_coord_enable & (1 << index))) {
for (i = 0; i < NUM_CHANNELS; i++)
if (usage_mask & (1 << i))
perspective_coef(setup, point, info, slot+1, vert_attr, i,
More information about the mesa-commit
mailing list