v3d: Only add output slot tracking for the current varying slot.

We always emit 4 slots per slot because things like color output and
position processing in the epilogue will potentially look up more values
than the variable declaration had.  However, when we get a .location_frac
!= 0, we don't want to overwrite components of the following
.driver_location.
This commit is contained in:
Eric Anholt
2018-09-28 12:40:32 -07:00
parent 17c8198952
commit c152c79d5e

View File

@@ -1396,7 +1396,7 @@ ntq_setup_outputs(struct v3d_compile *c)
assert(array_len == 1);
(void)array_len;
for (int i = 0; i < 4; i++) {
for (int i = 0; i < 4 - var->data.location_frac; i++) {
add_output(c, loc + var->data.location_frac + i,
var->data.location,
var->data.location_frac + i);