mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-15 02:56:50 +00:00
Save the queued frame capture settings with settings files
This commit is contained in:
@@ -73,6 +73,8 @@ CaptureSettings::CaptureSettings()
|
||||
{
|
||||
inject = false;
|
||||
autoStart = false;
|
||||
queuedFrameCap = 0;
|
||||
numQueuedFrames = 0;
|
||||
RENDERDOC_GetDefaultCaptureOptions(&options);
|
||||
}
|
||||
|
||||
@@ -106,6 +108,9 @@ CaptureSettings::operator QVariant() const
|
||||
opts[lit("debugOutputMute")] = options.debugOutputMute;
|
||||
ret[lit("options")] = opts;
|
||||
|
||||
ret[lit("queuedFrameCap")] = queuedFrameCap;
|
||||
ret[lit("numQueuedFrames")] = numQueuedFrames;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -144,6 +149,15 @@ CaptureSettings::CaptureSettings(const QVariant &v)
|
||||
options.refAllResources = opts[lit("refAllResources")].toBool();
|
||||
options.captureAllCmdLists = opts[lit("captureAllCmdLists")].toBool();
|
||||
options.debugOutputMute = opts[lit("debugOutputMute")].toBool();
|
||||
|
||||
if(data.contains(lit("queuedFrameCap")))
|
||||
queuedFrameCap = data[lit("queuedFrameCap")].toUInt();
|
||||
else
|
||||
queuedFrameCap = 0;
|
||||
if(data.contains(lit("numQueuedFrames")))
|
||||
numQueuedFrames = data[lit("numQueuedFrames")].toUInt();
|
||||
else
|
||||
numQueuedFrames = 0;
|
||||
}
|
||||
|
||||
rdcstr configFilePath(const rdcstr &filename)
|
||||
|
||||
@@ -117,6 +117,10 @@ struct CaptureSettings
|
||||
"A ``list`` of :class:`~renderdoc.EnvironmentModification` with environment changes to "
|
||||
"apply.");
|
||||
rdcarray<EnvironmentModification> environment;
|
||||
DOCUMENT("The number of queued frames to capture, or 0 if no frames are queued to be captured.");
|
||||
uint32_t numQueuedFrames;
|
||||
DOCUMENT("The first queued frame to capture. Ignored if :data:`numQueuedFrames` is 0.");
|
||||
uint32_t queuedFrameCap;
|
||||
};
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(CaptureSettings);
|
||||
|
||||
@@ -38,6 +38,8 @@ CaptureSettings::CaptureSettings()
|
||||
{
|
||||
inject = false;
|
||||
autoStart = false;
|
||||
queuedFrameCap = 0;
|
||||
numQueuedFrames = 0;
|
||||
RENDERDOC_GetDefaultCaptureOptions(&options);
|
||||
}
|
||||
|
||||
|
||||
@@ -909,6 +909,19 @@ void CaptureDialog::SetSettings(CaptureSettings settings)
|
||||
// force flush this state
|
||||
on_CaptureCallstacks_toggled(ui->CaptureCallstacks->isChecked());
|
||||
|
||||
if(settings.numQueuedFrames > 0)
|
||||
{
|
||||
ui->queuedFrame->setValue(settings.queuedFrameCap);
|
||||
ui->numFrames->setValue(settings.numQueuedFrames);
|
||||
ui->queueFrameCap->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->queuedFrame->setValue(0);
|
||||
ui->numFrames->setValue(0);
|
||||
ui->queueFrameCap->setChecked(false);
|
||||
}
|
||||
|
||||
if(settings.autoStart)
|
||||
{
|
||||
TriggerCapture();
|
||||
@@ -940,6 +953,12 @@ CaptureSettings CaptureDialog::Settings()
|
||||
ret.options.delayForDebugger = (uint32_t)ui->DelayForDebugger->value();
|
||||
ret.options.verifyBufferAccess = ui->VerifyBufferAccess->isChecked();
|
||||
|
||||
if(ui->queueFrameCap->isChecked())
|
||||
{
|
||||
ret.queuedFrameCap = (uint32_t)ui->queuedFrame->value();
|
||||
ret.numQueuedFrames = (uint32_t)ui->numFrames->value();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user