- Do not check moreThanTwoThirdsChanged in IndirectInstancer#upload
This commit is contained in:
Jozufozu 2023-12-10 15:55:04 -08:00
parent 4e782b8dcd
commit 3618ba6ca3

View file

@ -38,10 +38,7 @@ public class IndirectInstancer<I extends Instance> extends AbstractInstancer<I>
} }
private boolean shouldUploadAll(long startPos) { private boolean shouldUploadAll(long startPos) {
// If enough of the buffer has changed, write the whole thing to avoid the overhead of a bunch of small writes. return startPos != lastStartPos;
// TODO: The overhead comes from the driver performing many buffer copies. Using a compute shader to scatter
// the data should work much better.
return startPos != lastStartPos || moreThanTwoThirdsChanged();
} }
private void uploadChanged(StagingBuffer stagingBuffer, long baseByte, int dstVbo) { private void uploadChanged(StagingBuffer stagingBuffer, long baseByte, int dstVbo) {