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 <nicolai.haehnle@amd.com> Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
@@ -3245,6 +3245,9 @@ apply_explicit_location(const struct ast_type_qualifier *qual,
|
|||||||
"compute shader variables cannot be given "
|
"compute shader variables cannot be given "
|
||||||
"explicit locations");
|
"explicit locations");
|
||||||
return;
|
return;
|
||||||
|
default:
|
||||||
|
fail = true;
|
||||||
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (fail) {
|
if (fail) {
|
||||||
@@ -3276,7 +3279,7 @@ apply_explicit_location(const struct ast_type_qualifier *qual,
|
|||||||
? (qual_location + FRAG_RESULT_DATA0)
|
? (qual_location + FRAG_RESULT_DATA0)
|
||||||
: (qual_location + VARYING_SLOT_VAR0);
|
: (qual_location + VARYING_SLOT_VAR0);
|
||||||
break;
|
break;
|
||||||
case MESA_SHADER_COMPUTE:
|
default:
|
||||||
assert(!"Unexpected shader type");
|
assert(!"Unexpected shader type");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -4089,6 +4092,8 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
|
|||||||
case MESA_SHADER_COMPUTE:
|
case MESA_SHADER_COMPUTE:
|
||||||
/* Invariance isn't meaningful in compute shaders. */
|
/* Invariance isn't meaningful in compute shaders. */
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1324,6 +1324,8 @@ builtin_variable_generator::add_varying(int slot, const glsl_type *type,
|
|||||||
case MESA_SHADER_COMPUTE:
|
case MESA_SHADER_COMPUTE:
|
||||||
/* Compute shaders don't have varyings. */
|
/* Compute shaders don't have varyings. */
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1461,6 +1463,8 @@ _mesa_glsl_initialize_variables(exec_list *instructions,
|
|||||||
case MESA_SHADER_COMPUTE:
|
case MESA_SHADER_COMPUTE:
|
||||||
gen.generate_cs_special_vars();
|
gen.generate_cs_special_vars();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1412,7 +1412,7 @@ varying_matches::record(ir_variable *producer_var, ir_variable *consumer_var)
|
|||||||
|
|
||||||
if (!disable_varying_packing &&
|
if (!disable_varying_packing &&
|
||||||
(needs_flat_qualifier ||
|
(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
|
/* Since this varying is not being consumed by the fragment shader, its
|
||||||
* interpolation type varying cannot possibly affect rendering.
|
* interpolation type varying cannot possibly affect rendering.
|
||||||
* Also, this variable is non-flat and is (or contains) an integer
|
* 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,
|
varying_matches matches(disable_varying_packing, xfb_enabled,
|
||||||
ctx->Extensions.ARB_enhanced_layouts,
|
ctx->Extensions.ARB_enhanced_layouts,
|
||||||
producer ? producer->Stage : (gl_shader_stage)-1,
|
producer ? producer->Stage : MESA_SHADER_NONE,
|
||||||
consumer ? consumer->Stage : (gl_shader_stage)-1);
|
consumer ? consumer->Stage : MESA_SHADER_NONE);
|
||||||
hash_table *tfeedback_candidates =
|
hash_table *tfeedback_candidates =
|
||||||
_mesa_hash_table_create(NULL, _mesa_key_hash_string,
|
_mesa_hash_table_create(NULL, _mesa_key_hash_string,
|
||||||
_mesa_key_string_equal);
|
_mesa_key_string_equal);
|
||||||
|
@@ -39,6 +39,7 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
MESA_SHADER_NONE = -1,
|
||||||
MESA_SHADER_VERTEX = 0,
|
MESA_SHADER_VERTEX = 0,
|
||||||
MESA_SHADER_TESS_CTRL = 1,
|
MESA_SHADER_TESS_CTRL = 1,
|
||||||
MESA_SHADER_TESS_EVAL = 2,
|
MESA_SHADER_TESS_EVAL = 2,
|
||||||
|
@@ -216,6 +216,8 @@ _mesa_shader_stage_to_subroutine(gl_shader_stage stage)
|
|||||||
return GL_TESS_CONTROL_SUBROUTINE;
|
return GL_TESS_CONTROL_SUBROUTINE;
|
||||||
case MESA_SHADER_TESS_EVAL:
|
case MESA_SHADER_TESS_EVAL:
|
||||||
return GL_TESS_EVALUATION_SUBROUTINE;
|
return GL_TESS_EVALUATION_SUBROUTINE;
|
||||||
|
case MESA_SHADER_NONE:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
unreachable("not reached");
|
unreachable("not reached");
|
||||||
}
|
}
|
||||||
@@ -236,6 +238,8 @@ _mesa_shader_stage_to_subroutine_uniform(gl_shader_stage stage)
|
|||||||
return GL_TESS_CONTROL_SUBROUTINE_UNIFORM;
|
return GL_TESS_CONTROL_SUBROUTINE_UNIFORM;
|
||||||
case MESA_SHADER_TESS_EVAL:
|
case MESA_SHADER_TESS_EVAL:
|
||||||
return GL_TESS_EVALUATION_SUBROUTINE_UNIFORM;
|
return GL_TESS_EVALUATION_SUBROUTINE_UNIFORM;
|
||||||
|
case MESA_SHADER_NONE:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
unreachable("not reached");
|
unreachable("not reached");
|
||||||
}
|
}
|
||||||
|
@@ -969,6 +969,8 @@ _mesa_write_shader_to_file(const struct gl_shader *shader)
|
|||||||
case MESA_SHADER_COMPUTE:
|
case MESA_SHADER_COMPUTE:
|
||||||
type = "comp";
|
type = "comp";
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
_mesa_snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type);
|
_mesa_snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type);
|
||||||
|
@@ -363,6 +363,8 @@ st_shader_stage_to_ptarget(gl_shader_stage stage)
|
|||||||
return PIPE_SHADER_TESS_EVAL;
|
return PIPE_SHADER_TESS_EVAL;
|
||||||
case MESA_SHADER_COMPUTE:
|
case MESA_SHADER_COMPUTE:
|
||||||
return PIPE_SHADER_COMPUTE;
|
return PIPE_SHADER_COMPUTE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(!"should not be reached");
|
assert(!"should not be reached");
|
||||||
|
Reference in New Issue
Block a user