GPU: Fix Element index range calculation

Fix T68880 2D line display is broken
This commit is contained in:
Clément Foucault 2019-08-21 14:47:41 +02:00
parent b19c437eff
commit 8a11e70252
Notes: blender-bot 2023-02-14 01:08:55 +01:00
Referenced by issue #68880, 2D line display is broken
1 changed files with 13 additions and 6 deletions

View File

@ -267,9 +267,9 @@ static uint index_range(const uint values[], uint value_len, uint *min_out, uint
*max_out = 0;
return 0;
}
uint min_value = values[0];
uint max_value = values[0];
for (uint i = 1; i < value_len; ++i) {
uint min_value = RESTART_INDEX;
uint max_value = 0;
for (uint i = 0; i < value_len; ++i) {
const uint value = values[i];
if (value == RESTART_INDEX) {
continue;
@ -281,9 +281,16 @@ static uint index_range(const uint values[], uint value_len, uint *min_out, uint
max_value = value;
}
}
*min_out = min_value;
*max_out = max_value;
return max_value - min_value;
if (min_value == RESTART_INDEX) {
*min_out = 0;
*max_out = 0;
return 0;
}
else {
*min_out = min_value;
*max_out = max_value;
return max_value - min_value;
}
}
static void squeeze_indices_short(GPUIndexBufBuilder *builder,