Browse Source

radeonsi/nir: fix num_inputs for doubles in vs

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
tags/18.1-branchpoint
Timothy Arceri 7 years ago
parent
commit
96cfd4bd7e
1 changed files with 8 additions and 5 deletions
  1. 8
    5
      src/gallium/drivers/radeonsi/si_shader_nir.c

+ 8
- 5
src/gallium/drivers/radeonsi/si_shader_nir.c View File

@@ -209,8 +209,13 @@ void si_nir_scan_shader(const struct nir_shader *nir,
* tracker has already mapped them to attributes via
* variable->data.driver_location.
*/
if (nir->info.stage == MESA_SHADER_VERTEX)
if (nir->info.stage == MESA_SHADER_VERTEX) {
if (glsl_type_is_dual_slot(variable->type))
num_inputs += 2;
else
num_inputs++;
continue;
}

assert(nir->info.stage != MESA_SHADER_FRAGMENT ||
(attrib_count == 1 && "not implemented"));
@@ -303,10 +308,8 @@ void si_nir_scan_shader(const struct nir_shader *nir,
info->colors_read |= 0xf0;
}

if (nir->info.stage != MESA_SHADER_VERTEX)
info->num_inputs = num_inputs;
else
info->num_inputs = nir->num_inputs;
info->num_inputs = num_inputs;


i = 0;
uint64_t processed_outputs = 0;

Loading…
Cancel
Save