mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-09 16:21:03 +00:00
Comment capture options, deprecate CacheStateObjects. Closes #61
This commit is contained in:
@@ -132,16 +132,6 @@
|
||||
debug device without RenderDoc involved.</para></entry>
|
||||
<entry><para>Disabled</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para>Cache State Objects</para></entry>
|
||||
<entry><para>In D3D11 creating a state object with the same descriptor as one that already exists
|
||||
will simply return a pointer to the existing state object, with a reference count added. Given that
|
||||
creation and destruction in RenderDoc has a certain overhead, when this option is enabled RenderDoc will
|
||||
hold onto a reference to freed state objects in case they are likely to be re-allocated soon after.</para>
|
||||
<para>This will reduce churn and overhead with minimal impact to the application, and it's recommended to
|
||||
leave this enabled unless you have specific problems or want to remove this optimisation.</para></entry>
|
||||
<entry><para>Enabled</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><para>Hook into Children</para></entry>
|
||||
<entry><para>This option causes RenderDoc to hook into CreateProcess and intercept any calls to it from
|
||||
|
||||
@@ -67,23 +67,67 @@ struct CaptureOptions
|
||||
CaptureCallstacks(false),
|
||||
CaptureCallstacksOnlyDraws(false),
|
||||
DelayForDebugger(0),
|
||||
CacheStateObjects(true),
|
||||
CacheStateObjects(false),
|
||||
HookIntoChildren(false),
|
||||
RefAllResources(false),
|
||||
SaveAllInitials(false),
|
||||
CaptureAllCmdLists(false)
|
||||
{}
|
||||
|
||||
// Whether or not to allow the application to enable vsync
|
||||
//
|
||||
// Enabled - allows the application to enable or disable vsync at will
|
||||
// Disabled - vsync is force disabled
|
||||
bool32 AllowVSync;
|
||||
|
||||
// Whether or not to allow the application to enable fullscreen
|
||||
//
|
||||
// Enabled - allows the application to enable or disable fullscreen at will
|
||||
// Disabled - fullscreen is force disabled
|
||||
bool32 AllowFullscreen;
|
||||
|
||||
// Enables in-built API debugging features and records the results into the
|
||||
// capture logfile, which is matched up with events on replay
|
||||
bool32 DebugDeviceMode;
|
||||
|
||||
// Captures callstacks for every API event during capture
|
||||
bool32 CaptureCallstacks;
|
||||
|
||||
// Only captures callstacks for drawcall type API events.
|
||||
// Ignored if CaptureCallstacks is disabled
|
||||
bool32 CaptureCallstacksOnlyDraws;
|
||||
|
||||
// Specify a delay in seconds to wait for a debugger to attach after
|
||||
// creating or injecting into a process, before continuing to allow it to run.
|
||||
uint32_t DelayForDebugger;
|
||||
|
||||
// Deprecated, ignored.
|
||||
bool32 CacheStateObjects;
|
||||
|
||||
// Hooks any system API events that create child processes, and injects
|
||||
// renderdoc into them recursively with the same options.
|
||||
bool32 HookIntoChildren;
|
||||
|
||||
// By default renderdoc only includes resources in the final logfile necessary
|
||||
// for that frame, this allows you to override that behaviour
|
||||
//
|
||||
// Enabled - all live resources at the time of capture are included in the log
|
||||
// and available for inspection
|
||||
// Disabled - only the resources referenced by the captured frame are included
|
||||
bool32 RefAllResources;
|
||||
|
||||
// By default renderdoc skips saving initial states for
|
||||
bool32 SaveAllInitials;
|
||||
|
||||
// In APIs that allow for the recording of command lists to be replayed later,
|
||||
// renderdoc may choose to not capture command lists before a frame capture is
|
||||
// triggered, to reduce overheads. This means any command lists recorded once
|
||||
// and replayed many times will not be available and may cause a failure to
|
||||
// capture.
|
||||
//
|
||||
// Enabled - All command lists are captured from the start of the application
|
||||
// Disabled - Command lists are only captured if their recording begins during
|
||||
// the period when a frame capture is in progress.
|
||||
bool32 CaptureAllCmdLists;
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -97,7 +141,6 @@ struct CaptureOptions
|
||||
>> CaptureCallstacks
|
||||
>> CaptureCallstacksOnlyDraws
|
||||
>> DelayForDebugger
|
||||
>> CacheStateObjects
|
||||
>> HookIntoChildren
|
||||
>> RefAllResources
|
||||
>> SaveAllInitials
|
||||
@@ -114,7 +157,6 @@ struct CaptureOptions
|
||||
<< CaptureCallstacks << " "
|
||||
<< CaptureCallstacksOnlyDraws << " "
|
||||
<< DelayForDebugger << " "
|
||||
<< CacheStateObjects << " "
|
||||
<< HookIntoChildren << " "
|
||||
<< RefAllResources << " "
|
||||
<< SaveAllInitials << " "
|
||||
|
||||
@@ -113,7 +113,6 @@ HRESULT WrappedID3D11Device::CreateBlendState1(const D3D11_BLEND_DESC1 *pBlendSt
|
||||
|
||||
ID3D11BlendState1 *wrapped = new WrappedID3D11BlendState1(real, this);
|
||||
|
||||
if(RenderDoc::Inst().GetCaptureOptions().CacheStateObjects)
|
||||
{
|
||||
RDCASSERT(m_CachedStateObjects.find(wrapped) == m_CachedStateObjects.end());
|
||||
wrapped->AddRef();
|
||||
@@ -188,7 +187,6 @@ HRESULT WrappedID3D11Device::CreateRasterizerState1(const D3D11_RASTERIZER_DESC1
|
||||
|
||||
ID3D11RasterizerState1 *wrapped = new WrappedID3D11RasterizerState1(real, this);
|
||||
|
||||
if(RenderDoc::Inst().GetCaptureOptions().CacheStateObjects)
|
||||
{
|
||||
RDCASSERT(m_CachedStateObjects.find(wrapped) == m_CachedStateObjects.end());
|
||||
wrapped->AddRef();
|
||||
|
||||
@@ -2113,7 +2113,6 @@ HRESULT WrappedID3D11Device::CreateBlendState(
|
||||
|
||||
ID3D11BlendState *wrapped = new WrappedID3D11BlendState(real, this);
|
||||
|
||||
if(RenderDoc::Inst().GetCaptureOptions().CacheStateObjects)
|
||||
{
|
||||
RDCASSERT(m_CachedStateObjects.find(wrapped) == m_CachedStateObjects.end());
|
||||
wrapped->AddRef();
|
||||
@@ -2191,7 +2190,6 @@ HRESULT WrappedID3D11Device::CreateDepthStencilState(
|
||||
|
||||
ID3D11DepthStencilState *wrapped = new WrappedID3D11DepthStencilState(real, this);
|
||||
|
||||
if(RenderDoc::Inst().GetCaptureOptions().CacheStateObjects)
|
||||
{
|
||||
RDCASSERT(m_CachedStateObjects.find(wrapped) == m_CachedStateObjects.end());
|
||||
wrapped->AddRef();
|
||||
@@ -2269,7 +2267,6 @@ HRESULT WrappedID3D11Device::CreateRasterizerState(
|
||||
|
||||
ID3D11RasterizerState *wrapped = new WrappedID3D11RasterizerState(real, this);
|
||||
|
||||
if(RenderDoc::Inst().GetCaptureOptions().CacheStateObjects)
|
||||
{
|
||||
RDCASSERT(m_CachedStateObjects.find(wrapped) == m_CachedStateObjects.end());
|
||||
wrapped->AddRef();
|
||||
@@ -2347,7 +2344,6 @@ HRESULT WrappedID3D11Device::CreateSamplerState(
|
||||
|
||||
ID3D11SamplerState *wrapped = new WrappedID3D11SamplerState(real, this);
|
||||
|
||||
if(RenderDoc::Inst().GetCaptureOptions().CacheStateObjects)
|
||||
{
|
||||
RDCASSERT(m_CachedStateObjects.find(wrapped) == m_CachedStateObjects.end());
|
||||
wrapped->AddRef();
|
||||
|
||||
@@ -90,7 +90,7 @@ namespace renderdoc
|
||||
defs.CaptureCallstacks = false;
|
||||
defs.CaptureCallstacksOnlyDraws = false;
|
||||
defs.DelayForDebugger = 0;
|
||||
defs.CacheStateObjects = true;
|
||||
defs.CacheStateObjects = false;
|
||||
defs.HookIntoChildren = false;
|
||||
defs.RefAllResources = false;
|
||||
defs.SaveAllInitials = false;
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
this.CaptureCallstacks = new System.Windows.Forms.CheckBox();
|
||||
this.CaptureCallstacksOnlyDraws = new System.Windows.Forms.CheckBox();
|
||||
this.DebugDeviceMode = new System.Windows.Forms.CheckBox();
|
||||
this.CacheStateObjects = new System.Windows.Forms.CheckBox();
|
||||
this.HookIntoChildren = new System.Windows.Forms.CheckBox();
|
||||
this.SaveAllInitials = new System.Windows.Forms.CheckBox();
|
||||
this.RefAllResources = new System.Windows.Forms.CheckBox();
|
||||
@@ -215,7 +214,6 @@
|
||||
this.capOptsFlow.Controls.Add(this.CaptureCallstacks);
|
||||
this.capOptsFlow.Controls.Add(this.CaptureCallstacksOnlyDraws);
|
||||
this.capOptsFlow.Controls.Add(this.DebugDeviceMode);
|
||||
this.capOptsFlow.Controls.Add(this.CacheStateObjects);
|
||||
this.capOptsFlow.Controls.Add(this.HookIntoChildren);
|
||||
this.capOptsFlow.Controls.Add(this.SaveAllInitials);
|
||||
this.capOptsFlow.Controls.Add(this.RefAllResources);
|
||||
@@ -312,17 +310,6 @@
|
||||
"nings");
|
||||
this.DebugDeviceMode.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CacheStateObjects
|
||||
//
|
||||
this.CacheStateObjects.Location = new System.Drawing.Point(275, 29);
|
||||
this.CacheStateObjects.Name = "CacheStateObjects";
|
||||
this.CacheStateObjects.Size = new System.Drawing.Size(130, 20);
|
||||
this.CacheStateObjects.TabIndex = 13;
|
||||
this.CacheStateObjects.Text = "Cache State Objects";
|
||||
this.toolTip.SetToolTip(this.CacheStateObjects, "D3D11: Caches state objects so that rapid creation & destruction\r\ndoesn\'t inflate" +
|
||||
" memory used and log file size");
|
||||
this.CacheStateObjects.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// HookIntoChildren
|
||||
//
|
||||
this.HookIntoChildren.Location = new System.Drawing.Point(411, 29);
|
||||
@@ -656,7 +643,6 @@
|
||||
|
||||
private System.Windows.Forms.Button capture;
|
||||
private System.Windows.Forms.Button close;
|
||||
private System.Windows.Forms.CheckBox CacheStateObjects;
|
||||
private System.Windows.Forms.CheckBox AllowVSync;
|
||||
private System.Windows.Forms.CheckBox DebugDeviceMode;
|
||||
private System.Windows.Forms.CheckBox AllowFullscreen;
|
||||
|
||||
@@ -68,7 +68,6 @@ namespace renderdocui.Windows.Dialogs
|
||||
|
||||
AllowFullscreen.Checked = settings.Options.AllowFullscreen;
|
||||
AllowVSync.Checked = settings.Options.AllowVSync;
|
||||
CacheStateObjects.Checked = settings.Options.CacheStateObjects;
|
||||
HookIntoChildren.Checked = settings.Options.HookIntoChildren;
|
||||
CaptureCallstacks.Checked = settings.Options.CaptureCallstacks;
|
||||
CaptureCallstacksOnlyDraws.Checked = settings.Options.CaptureCallstacksOnlyDraws;
|
||||
@@ -107,7 +106,6 @@ namespace renderdocui.Windows.Dialogs
|
||||
ret.Options.AllowFullscreen = AllowFullscreen.Checked;
|
||||
ret.Options.AllowVSync = AllowVSync.Checked;
|
||||
ret.Options.HookIntoChildren = HookIntoChildren.Checked;
|
||||
ret.Options.CacheStateObjects = CacheStateObjects.Checked;
|
||||
ret.Options.CaptureCallstacks = CaptureCallstacks.Checked;
|
||||
ret.Options.CaptureCallstacksOnlyDraws = CaptureCallstacksOnlyDraws.Checked;
|
||||
ret.Options.DebugDeviceMode = DebugDeviceMode.Checked;
|
||||
|
||||
Reference in New Issue
Block a user