Batch prepare and allow limited buffering for vulkan initial states

* We add a capture option that defines a soft limit we aim to keep under for
  memory overhead during capture, excess initial states after that will be
  stored temporarily on disk.
This commit is contained in:
baldurk
2023-06-02 18:53:45 +01:00
parent 1ec0606ce8
commit 0f851df6c2
31 changed files with 586 additions and 188 deletions
@@ -928,6 +928,7 @@ void CaptureDialog::SetSettings(CaptureSettings settings)
ui->DelayForDebugger->setValue(settings.options.delayForDebugger);
ui->VerifyBufferAccess->setChecked(settings.options.verifyBufferAccess);
ui->AutoStart->setChecked(settings.autoStart);
ui->SoftMemoryLimit->setValue(settings.options.softMemoryLimit);
// force flush this state
on_CaptureCallstacks_toggled(ui->CaptureCallstacks->isChecked());
@@ -975,6 +976,7 @@ CaptureSettings CaptureDialog::Settings()
ret.options.captureAllCmdLists = ui->CaptureAllCmdLists->isChecked();
ret.options.delayForDebugger = (uint32_t)ui->DelayForDebugger->value();
ret.options.verifyBufferAccess = ui->VerifyBufferAccess->isChecked();
ret.options.softMemoryLimit = (uint32_t)ui->SoftMemoryLimit->value();
if(ui->queueFrameCap->isChecked())
{