mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 13:48:06 +02:00
st/nir: Fix num_inputs for VS inputs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
a4e6e59db8
commit
3eb4aeed60
1 changed files with 2 additions and 3 deletions
|
|
@ -83,19 +83,18 @@ st_nir_fixup_varying_slots(struct st_context *st, struct exec_list *var_list)
|
|||
static void
|
||||
st_nir_assign_vs_in_locations(nir_shader *nir)
|
||||
{
|
||||
nir->num_inputs = 0;
|
||||
nir->num_inputs = util_bitcount64(nir->info.inputs_read);
|
||||
nir_foreach_variable_safe(var, &nir->inputs) {
|
||||
/* NIR already assigns dual-slot inputs to two locations so all we have
|
||||
* to do is compact everything down.
|
||||
*/
|
||||
if (var->data.location == VERT_ATTRIB_EDGEFLAG) {
|
||||
/* bit of a hack, mirroring st_translate_vertex_program */
|
||||
var->data.driver_location = util_bitcount64(nir->info.inputs_read);
|
||||
var->data.driver_location = nir->num_inputs++;
|
||||
} else if (nir->info.inputs_read & BITFIELD64_BIT(var->data.location)) {
|
||||
var->data.driver_location =
|
||||
util_bitcount64(nir->info.inputs_read &
|
||||
BITFIELD64_MASK(var->data.location));
|
||||
nir->num_inputs++;
|
||||
} else {
|
||||
/* Move unused input variables to the globals list (with no
|
||||
* initialization), to avoid confusing drivers looking through the
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue