anv/pipeline: Only consider double elements which actually exist
The brw_vs_prog_data::double_inputs_read field comes directly from shader_info::double_inputs which may contain inputs which are not actually read. Instead of using it directly, AND it with inputs_read which is only things which are read. Otherwise, we may end up subtracting too many elements when computing elem_count. Cc: mesa-stable@lists.freedesktop.org Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103241 Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
parent
44ec31cd75
commit
7b26741806
|
@ -91,7 +91,8 @@ emit_vertex_input(struct anv_pipeline *pipeline,
|
|||
|
||||
/* Pull inputs_read out of the VS prog data */
|
||||
const uint64_t inputs_read = vs_prog_data->inputs_read;
|
||||
const uint64_t double_inputs_read = vs_prog_data->double_inputs_read;
|
||||
const uint64_t double_inputs_read =
|
||||
vs_prog_data->double_inputs_read & inputs_read;
|
||||
assert((inputs_read & ((1 << VERT_ATTRIB_GENERIC0) - 1)) == 0);
|
||||
const uint32_t elements = inputs_read >> VERT_ATTRIB_GENERIC0;
|
||||
const uint32_t elements_double = double_inputs_read >> VERT_ATTRIB_GENERIC0;
|
||||
|
|
Loading…
Reference in New Issue