[Chore] (multidraw: compute): naming things

This commit is contained in:
Swung0x48 2025-04-21 14:26:01 +08:00
parent ece1ac136e
commit de69f5ad4b
2 changed files with 21 additions and 5 deletions

View File

@ -265,16 +265,24 @@ layout(std430, binding = 3) writeonly buffer Output { uint out_indices[]; };
void main() { void main() {
uint outIdx = gl_GlobalInvocationID.x; uint outIdx = gl_GlobalInvocationID.x;
if (outIdx >= prefixSums[prefixSums.length() - 1]) if (outIdx >= prefixSums[prefixSums.length() - 1])
return; return;
// Find out draw call # // Find out draw call #
int low = 0; int low = 0;
int l = draws.length(); int high = draws.length();
for (low = 0; low < l; ++low) { for (low = 0; low < high; ++low) {
if (prefixSums[low] > outIdx) { if (prefixSums[low] > outIdx) {
break; break;
} }
} }
// while (low < high) {
// int mid = low + (high - low) / 2;
// if (prefixSums[mid] > outIdx) {
// high = mid;
// } else {
// low = mid + 1;
// }
// }
// figure out which index to take // figure out which index to take
DrawCommand cmd = draws[low]; DrawCommand cmd = draws[low];

View File

@ -22,12 +22,20 @@ void main() {
// Find out draw call # // Find out draw call #
int low = 0; int low = 0;
int l = draws.length(); int high = draws.length();
for (low = 0; low < l; ++low) { for (low = 0; low < high; ++low) {
if (prefixSums[low] > outIdx) { if (prefixSums[low] > outIdx) {
break; break;
} }
} }
// while (low < high) {
// int mid = low + (high - low) / 2;
// if (prefixSums[mid] > outIdx) {
// high = mid;
// } else {
// low = mid + 1;
// }
// }
// figure out which index to take // figure out which index to take
DrawCommand cmd = draws[low]; DrawCommand cmd = draws[low];