mesa: fix double->float assignment warnings, int/uint comparison warnings
Reported by Karl Schultz.
diff --git a/src/mesa/shader/nvprogram.c b/src/mesa/shader/nvprogram.c
index fd6cbb0..87f295e 100644
--- a/src/mesa/shader/nvprogram.c
+++ b/src/mesa/shader/nvprogram.c
@@ -515,7 +515,7 @@
struct gl_program *program)
{
struct prog_instruction *inst;
- int i;
+ GLuint i;
if (!ctx->Shader.EmitNVTempInitialization)
return;
@@ -559,7 +559,7 @@
void
_mesa_setup_nv_temporary_count(GLcontext *ctx, struct gl_program *program)
{
- int i;
+ GLuint i;
program->NumTemporaries = 0;
for (i = 0; i < program->NumInstructions; i++) {
diff --git a/src/mesa/shader/prog_execute.c b/src/mesa/shader/prog_execute.c
index c212790..5641014 100644
--- a/src/mesa/shader/prog_execute.c
+++ b/src/mesa/shader/prog_execute.c
@@ -1017,12 +1017,12 @@
/* XXX we could probably just use pow() here */
if (a[0] > 0.0F) {
if (a[1] == 0.0 && a[3] == 0.0)
- result[2] = 1.0;
+ result[2] = 1.0F;
else
result[2] = (GLfloat) _mesa_pow(a[1], a[3]);
}
else {
- result[2] = 0.0;
+ result[2] = 0.0F;
}
result[3] = 1.0F;
store_vector4(inst, machine, result);
diff --git a/src/mesa/shader/prog_optimize.c b/src/mesa/shader/prog_optimize.c
index ce41173..e1ec522 100644
--- a/src/mesa/shader/prog_optimize.c
+++ b/src/mesa/shader/prog_optimize.c
@@ -459,7 +459,7 @@
*/
for (j = i + 1; j < prog->NumInstructions; j++) {
struct prog_instruction *inst2 = prog->Instructions + j;
- int arg;
+ GLuint arg;
if (_mesa_is_flow_control_opcode(inst2->Opcode))
break;
@@ -867,7 +867,7 @@
_mesa_printf("Reg[%d] live [%d, %d]:",
inv->Reg, inv->Start, inv->End);
if (1) {
- int j;
+ GLuint j;
for (j = 0; j < inv->Start; j++)
_mesa_printf(" ");
for (j = inv->Start; j <= inv->End; j++)
@@ -945,7 +945,7 @@
*/
{
GLint j;
- for (j = 0; j < activeIntervals.Num; j++) {
+ for (j = 0; j < (GLint) activeIntervals.Num; j++) {
const struct interval *inv = activeIntervals.Intervals + j;
if (inv->End >= live->Start) {
/* Stop now. Since the activeInterval list is sorted
@@ -994,7 +994,7 @@
}
}
- if (maxTemp + 1 < liveIntervals.Num) {
+ if (maxTemp + 1 < (GLint) liveIntervals.Num) {
/* OK, we've reduced the number of registers needed.
* Scan the program and replace all the old temporary register
* indexes with the new indexes.
diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c
index 6b8d94e..3e86d0a 100644
--- a/src/mesa/shader/program.c
+++ b/src/mesa/shader/program.c
@@ -580,7 +580,7 @@
for (i = 0; i < prog->NumInstructions; i++) {
struct prog_instruction *inst = prog->Instructions + i;
if (inst->BranchTarget > 0) {
- if (inst->BranchTarget > start) {
+ if (inst->BranchTarget > (GLint) start) {
inst->BranchTarget -= count;
}
}
diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c
index e522d70..d53580f 100644
--- a/src/mesa/shader/shader_api.c
+++ b/src/mesa/shader/shader_api.c
@@ -955,7 +955,7 @@
if (size) {
GLint typeSize = sizeof_glsl_type(param->DataType);
- if (param->Size > typeSize) {
+ if ((GLint) param->Size > typeSize) {
/* This is an array.
* Array elements are placed on vector[4] boundaries so they're
* a multiple of four floats. We round typeSize up to next multiple
@@ -1726,7 +1726,7 @@
const GLint typeSize = sizeof_glsl_type(param->DataType);
GLsizei k, i;
- if (param->Size > typeSize) {
+ if ((GLint) param->Size > typeSize) {
/* an array */
/* we'll ignore extra data below */
}
@@ -1911,7 +1911,7 @@
GLuint mat, row, col;
GLuint src = 0;
const struct gl_program_parameter * param = &program->Parameters->Parameters[index];
- const GLint slots = (param->Size + 3) / 4;
+ const GLuint slots = (param->Size + 3) / 4;
const GLint typeSize = sizeof_glsl_type(param->DataType);
GLint nr, nc;
@@ -1923,7 +1923,7 @@
return;
}
- if (param->Size <= typeSize) {
+ if ((GLint) param->Size <= typeSize) {
/* non-array: count must be at most one; count == 0 is handled by the loop below */
if (count > 1) {
_mesa_error(ctx, GL_INVALID_OPERATION,
diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c
index 372a9ac..83098b7 100644
--- a/src/mesa/shader/slang/slang_codegen.c
+++ b/src/mesa/shader/slang/slang_codegen.c
@@ -3196,7 +3196,7 @@
newOper = slang_operation_new(1);
newOper->type = SLANG_OPER_LITERAL_INT;
newOper->literal_size = 1;
- newOper->literal[0] = iter;
+ newOper->literal[0] = (GLfloat) iter;
/* replace instances of the loop variable with newOper */
slang_substitute(A, body, 1, &oldVar, &newOper, GL_FALSE);