summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2016-04-29 21:56:25 -0500
committerNicolai Hähnle <nicolai.haehnle@amd.com>2016-04-30 02:00:04 -0500
commit201712ba93eafc083a3d6e04e0d658ffd19e0ce6 (patch)
treee26787870736586278c8942186232f8d4e3ccc63
parent69d8d3edc69d38db6bd736503bda9fa40859075a (diff)
gallium: fix various undefined left shifts into sign bit
Funnily enough, some of these were turned into a compile-time error by gcc with -fsanitize=undefined ("initializer is not a constant").
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_ureg.c2
-rw-r--r--src/gallium/auxiliary/util/u_pack_color.h2
-rw-r--r--src/gallium/auxiliary/util/u_pstipple.c2
-rw-r--r--src/gallium/drivers/softpipe/sp_quad_stipple.c4
-rw-r--r--src/mesa/state_tracker/st_mesa_to_tgsi.c2
-rw-r--r--src/mesa/state_tracker/st_program.c4
6 files changed, 8 insertions, 8 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
index 021b81f387..43b8bb10f1 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c
@@ -1735,7 +1735,7 @@ static void emit_decls( struct ureg_program *ureg )
if (ureg->processor == PIPE_SHADER_VERTEX) {
for (i = 0; i < PIPE_MAX_ATTRIBS; i++) {
- if (ureg->vs_inputs[i/32] & (1 << (i%32))) {
+ if (ureg->vs_inputs[i/32] & (1u << (i%32))) {
emit_decl_range( ureg, TGSI_FILE_INPUT, i, 1 );
}
}
diff --git a/src/gallium/auxiliary/util/u_pack_color.h b/src/gallium/auxiliary/util/u_pack_color.h
index b882502b7b..f9f41609b4 100644
--- a/src/gallium/auxiliary/util/u_pack_color.h
+++ b/src/gallium/auxiliary/util/u_pack_color.h
@@ -367,7 +367,7 @@ util_pack_color(const float rgba[4], enum pipe_format format, union util_color *
return;
case PIPE_FORMAT_BGRX8888_UNORM:
{
- uc->ui[0] = (0xff << 24) | (r << 16) | (g << 8) | b;
+ uc->ui[0] = (0xffu << 24) | (r << 16) | (g << 8) | b;
}
return;
case PIPE_FORMAT_ARGB8888_UNORM:
diff --git a/src/gallium/auxiliary/util/u_pstipple.c b/src/gallium/auxiliary/util/u_pstipple.c
index 3ae8923f95..f6ea535c41 100644
--- a/src/gallium/auxiliary/util/u_pstipple.c
+++ b/src/gallium/auxiliary/util/u_pstipple.c
@@ -63,7 +63,7 @@ util_pstipple_update_stipple_texture(struct pipe_context *pipe,
struct pipe_resource *tex,
const uint32_t pattern[32])
{
- static const uint bit31 = 1 << 31;
+ static const uint bit31 = 1u << 31;
struct pipe_transfer *transfer;
ubyte *data;
int i, j;
diff --git a/src/gallium/drivers/softpipe/sp_quad_stipple.c b/src/gallium/drivers/softpipe/sp_quad_stipple.c
index a0527a596a..4b29c2eb22 100644
--- a/src/gallium/drivers/softpipe/sp_quad_stipple.c
+++ b/src/gallium/drivers/softpipe/sp_quad_stipple.c
@@ -16,8 +16,8 @@
static void
stipple_quad(struct quad_stage *qs, struct quad_header *quads[], unsigned nr)
{
- static const uint bit31 = 1 << 31;
- static const uint bit30 = 1 << 30;
+ static const uint bit31 = 1u << 31;
+ static const uint bit30 = 1u << 30;
unsigned pass = nr;
struct softpipe_context *softpipe = qs->softpipe;
diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c
index d73a4b34a5..c89d003c12 100644
--- a/src/mesa/state_tracker/st_mesa_to_tgsi.c
+++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c
@@ -1159,7 +1159,7 @@ st_translate_mesa_program(
/* texture samplers */
for (i = 0; i < ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits; i++) {
- if (program->SamplersUsed & (1 << i)) {
+ if (program->SamplersUsed & (1u << i)) {
unsigned target =
translate_texture_index(program->TexturesUsed[i],
!!(program->ShadowSamplers & (1 << i)));
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 32ada9f7b8..444e5aac7b 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -1121,7 +1121,7 @@ st_translate_program_common(struct st_context *st,
/* Also add patch inputs. */
for (attr = 0; attr < 32; attr++) {
- if (prog->PatchInputsRead & (1 << attr)) {
+ if (prog->PatchInputsRead & (1u << attr)) {
GLuint slot = num_inputs++;
GLuint patch_attr = VARYING_SLOT_PATCH0 + attr;
@@ -1240,7 +1240,7 @@ st_translate_program_common(struct st_context *st,
/* Also add patch outputs. */
for (attr = 0; attr < 32; attr++) {
- if (prog->PatchOutputsWritten & (1 << attr)) {
+ if (prog->PatchOutputsWritten & (1u << attr)) {
GLuint slot = num_outputs++;
GLuint patch_attr = VARYING_SLOT_PATCH0 + attr;