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"). Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -1735,7 +1735,7 @@ static void emit_decls( struct ureg_program *ureg )
|
|||||||
|
|
||||||
if (ureg->processor == PIPE_SHADER_VERTEX) {
|
if (ureg->processor == PIPE_SHADER_VERTEX) {
|
||||||
for (i = 0; i < PIPE_MAX_ATTRIBS; i++) {
|
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 );
|
emit_decl_range( ureg, TGSI_FILE_INPUT, i, 1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -367,7 +367,7 @@ util_pack_color(const float rgba[4], enum pipe_format format, union util_color *
|
|||||||
return;
|
return;
|
||||||
case PIPE_FORMAT_BGRX8888_UNORM:
|
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;
|
return;
|
||||||
case PIPE_FORMAT_ARGB8888_UNORM:
|
case PIPE_FORMAT_ARGB8888_UNORM:
|
||||||
|
@@ -63,7 +63,7 @@ util_pstipple_update_stipple_texture(struct pipe_context *pipe,
|
|||||||
struct pipe_resource *tex,
|
struct pipe_resource *tex,
|
||||||
const uint32_t pattern[32])
|
const uint32_t pattern[32])
|
||||||
{
|
{
|
||||||
static const uint bit31 = 1 << 31;
|
static const uint bit31 = 1u << 31;
|
||||||
struct pipe_transfer *transfer;
|
struct pipe_transfer *transfer;
|
||||||
ubyte *data;
|
ubyte *data;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
@@ -16,8 +16,8 @@
|
|||||||
static void
|
static void
|
||||||
stipple_quad(struct quad_stage *qs, struct quad_header *quads[], unsigned nr)
|
stipple_quad(struct quad_stage *qs, struct quad_header *quads[], unsigned nr)
|
||||||
{
|
{
|
||||||
static const uint bit31 = 1 << 31;
|
static const uint bit31 = 1u << 31;
|
||||||
static const uint bit30 = 1 << 30;
|
static const uint bit30 = 1u << 30;
|
||||||
unsigned pass = nr;
|
unsigned pass = nr;
|
||||||
|
|
||||||
struct softpipe_context *softpipe = qs->softpipe;
|
struct softpipe_context *softpipe = qs->softpipe;
|
||||||
|
@@ -1159,7 +1159,7 @@ st_translate_mesa_program(
|
|||||||
|
|
||||||
/* texture samplers */
|
/* texture samplers */
|
||||||
for (i = 0; i < ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits; i++) {
|
for (i = 0; i < ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits; i++) {
|
||||||
if (program->SamplersUsed & (1 << i)) {
|
if (program->SamplersUsed & (1u << i)) {
|
||||||
unsigned target =
|
unsigned target =
|
||||||
translate_texture_index(program->TexturesUsed[i],
|
translate_texture_index(program->TexturesUsed[i],
|
||||||
!!(program->ShadowSamplers & (1 << i)));
|
!!(program->ShadowSamplers & (1 << i)));
|
||||||
|
@@ -1121,7 +1121,7 @@ st_translate_program_common(struct st_context *st,
|
|||||||
|
|
||||||
/* Also add patch inputs. */
|
/* Also add patch inputs. */
|
||||||
for (attr = 0; attr < 32; attr++) {
|
for (attr = 0; attr < 32; attr++) {
|
||||||
if (prog->PatchInputsRead & (1 << attr)) {
|
if (prog->PatchInputsRead & (1u << attr)) {
|
||||||
GLuint slot = num_inputs++;
|
GLuint slot = num_inputs++;
|
||||||
GLuint patch_attr = VARYING_SLOT_PATCH0 + attr;
|
GLuint patch_attr = VARYING_SLOT_PATCH0 + attr;
|
||||||
|
|
||||||
@@ -1240,7 +1240,7 @@ st_translate_program_common(struct st_context *st,
|
|||||||
|
|
||||||
/* Also add patch outputs. */
|
/* Also add patch outputs. */
|
||||||
for (attr = 0; attr < 32; attr++) {
|
for (attr = 0; attr < 32; attr++) {
|
||||||
if (prog->PatchOutputsWritten & (1 << attr)) {
|
if (prog->PatchOutputsWritten & (1u << attr)) {
|
||||||
GLuint slot = num_outputs++;
|
GLuint slot = num_outputs++;
|
||||||
GLuint patch_attr = VARYING_SLOT_PATCH0 + attr;
|
GLuint patch_attr = VARYING_SLOT_PATCH0 + attr;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user