summaryrefslogtreecommitdiffstats
path: root/src/compiler
diff options
context:
space:
mode:
authorRob Herring <[email protected]>2017-05-31 19:56:56 -0500
committerRob Herring <[email protected]>2017-06-08 07:26:04 -0500
commitada3c3aa3da5d04bd597014dc1b5d4b028313513 (patch)
tree17c7f2e142110692347e22daca5b8a95bb16f939 /src/compiler
parent6150ea794b9589ea1aba1c672673cf096140364f (diff)
glsl: Fix gl_shader_stage enum unsigned comparison
Replace -1 with MESA_SHADER_NONE enum value to fix sign related warning: external/mesa3d/src/compiler/glsl/link_varyings.cpp:1415:25: warning: comparison of constant -1 with expression of type 'gl_shader_stage' is always true [-Wtautological-constant-out-of-range-compare] (consumer_stage != -1 && consumer_stage != MESA_SHADER_FRAGMENT))) { ~~~~~~~~~~~~~~ ^ ~~ Reviewed-by: Nicolai Hähnle <[email protected]> Signed-off-by: Rob Herring <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/glsl/ast_to_hir.cpp7
-rw-r--r--src/compiler/glsl/builtin_variables.cpp4
-rw-r--r--src/compiler/glsl/link_varyings.cpp6
-rw-r--r--src/compiler/shader_enums.h1
4 files changed, 14 insertions, 4 deletions
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index e451bda8016..e07e5f509b5 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -3245,6 +3245,9 @@ apply_explicit_location(const struct ast_type_qualifier *qual,
"compute shader variables cannot be given "
"explicit locations");
return;
+ default:
+ fail = true;
+ break;
};
if (fail) {
@@ -3276,7 +3279,7 @@ apply_explicit_location(const struct ast_type_qualifier *qual,
? (qual_location + FRAG_RESULT_DATA0)
: (qual_location + VARYING_SLOT_VAR0);
break;
- case MESA_SHADER_COMPUTE:
+ default:
assert(!"Unexpected shader type");
break;
}
@@ -4089,6 +4092,8 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
case MESA_SHADER_COMPUTE:
/* Invariance isn't meaningful in compute shaders. */
break;
+ default:
+ break;
}
}
diff --git a/src/compiler/glsl/builtin_variables.cpp b/src/compiler/glsl/builtin_variables.cpp
index ce4dd43730c..405502eb8a4 100644
--- a/src/compiler/glsl/builtin_variables.cpp
+++ b/src/compiler/glsl/builtin_variables.cpp
@@ -1324,6 +1324,8 @@ builtin_variable_generator::add_varying(int slot, const glsl_type *type,
case MESA_SHADER_COMPUTE:
/* Compute shaders don't have varyings. */
break;
+ default:
+ break;
}
}
@@ -1461,6 +1463,8 @@ _mesa_glsl_initialize_variables(exec_list *instructions,
case MESA_SHADER_COMPUTE:
gen.generate_cs_special_vars();
break;
+ default:
+ break;
}
}
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp
index d04f546c243..910e2eda82b 100644
--- a/src/compiler/glsl/link_varyings.cpp
+++ b/src/compiler/glsl/link_varyings.cpp
@@ -1412,7 +1412,7 @@ varying_matches::record(ir_variable *producer_var, ir_variable *consumer_var)
if (!disable_varying_packing &&
(needs_flat_qualifier ||
- (consumer_stage != -1 && consumer_stage != MESA_SHADER_FRAGMENT))) {
+ (consumer_stage != MESA_SHADER_NONE && consumer_stage != MESA_SHADER_FRAGMENT))) {
/* Since this varying is not being consumed by the fragment shader, its
* interpolation type varying cannot possibly affect rendering.
* Also, this variable is non-flat and is (or contains) an integer
@@ -2170,8 +2170,8 @@ assign_varying_locations(struct gl_context *ctx,
varying_matches matches(disable_varying_packing, xfb_enabled,
ctx->Extensions.ARB_enhanced_layouts,
- producer ? producer->Stage : (gl_shader_stage)-1,
- consumer ? consumer->Stage : (gl_shader_stage)-1);
+ producer ? producer->Stage : MESA_SHADER_NONE,
+ consumer ? consumer->Stage : MESA_SHADER_NONE);
hash_table *tfeedback_candidates =
_mesa_hash_table_create(NULL, _mesa_key_hash_string,
_mesa_key_string_equal);
diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h
index 07db4767f86..352f27040ce 100644
--- a/src/compiler/shader_enums.h
+++ b/src/compiler/shader_enums.h
@@ -39,6 +39,7 @@ extern "C" {
*/
typedef enum
{
+ MESA_SHADER_NONE = -1,
MESA_SHADER_VERTEX = 0,
MESA_SHADER_TESS_CTRL = 1,
MESA_SHADER_TESS_EVAL = 2,