glsl: Drop bogus is_vertex_input from add_shader_variable().
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 16 Dec 2016 12:54:59 +0000 (04:54 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 19 Dec 2016 23:40:47 +0000 (15:40 -0800)
stage_mask is a bitmask of shader stages, so the proper comparison would
be (1 << MESA_SHADER_VERTEX), not MESA_SHADER_VERTEX itself.

But we only care for structure types, and VS inputs cannot be structs.
So we can just drop this entirely.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/compiler/glsl/linker.cpp

index 366025748d0b16872466bbbcc8df6284bf97990e..50660141c3e411ebfd9bb9b92ff755d5a23e87b5 100644 (file)
@@ -3735,10 +3735,6 @@ add_shader_variable(const struct gl_context *ctx,
                     bool use_implicit_location, int location,
                     const glsl_type *outermost_struct_type = NULL)
 {
-   const bool is_vertex_input =
-      programInterface == GL_PROGRAM_INPUT &&
-      stage_mask == MESA_SHADER_VERTEX;
-
    switch (type->base_type) {
    case GLSL_TYPE_STRUCT: {
       /* The ARB_program_interface_query spec says:
@@ -3764,8 +3760,7 @@ add_shader_variable(const struct gl_context *ctx,
                                   outermost_struct_type))
             return false;
 
-         field_location +=
-            field->type->count_attribute_slots(is_vertex_input);
+         field_location += field->type->count_attribute_slots(false);
       }
       return true;
    }