On Wednesday, September 30, 2015 12:58:13 AM Kenneth Graunke wrote: [snip] > diff --git a/src/mesa/drivers/dri/i965/brw_nir.c > b/src/mesa/drivers/dri/i965/brw_nir.c > index 64763e0..56bd3d3 100644 > --- a/src/mesa/drivers/dri/i965/brw_nir.c > +++ b/src/mesa/drivers/dri/i965/brw_nir.c > @@ -33,15 +33,36 @@ brw_nir_lower_inputs(nir_shader *nir, > bool is_scalar) > { > switch (nir->stage) { > + case MESA_SHADER_VERTEX: > + /* For now, leave the vec4 backend doing the old method. */ > + if (!is_scalar) { > + nir_assign_var_locations(&nir->inputs, &nir->num_inputs, > + type_size_vec4); > + break; > + } > + > + /* Start with the location of the variable's base. */ > + foreach_list_typed(nir_variable, var, node, &nir->inputs) { > + var->data.driver_location = var->data.location; > + } > + > + /* Now use nir_lower_io to walk dereference chains. Attribute arrays > + * are loaded as one vec4 per element (or matrix column), so we use > + * type_size_vec4 here. > + */ > + nir_lower_io(nir, nir_var_shader_in, type_size_vec4); > + break; > case MESA_SHADER_GEOMETRY: > foreach_list_typed(nir_variable, var, node, &nir->inputs) { > var->data.driver_location = var->data.location; > } > break; > - default: > + case MESA_SHADER_FRAGMENT: > nir_assign_var_locations(&nir->inputs, &nir->num_inputs, > is_scalar ? type_size_scalar : > type_size_vec4); > break; > + default: > + unreachable("unsupported scalar shader stage"); > } > }
This function is used for vec4 shaders as well, so the message ought to be: "unsupported shader stage". Fixed locally.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev