mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-26 16:36:31 +00:00
Skip pixel debugging comparison in Iter_Test when writes are masked out
This commit is contained in:
@@ -329,6 +329,20 @@ For some APIs that don't distinguish by entry point, this may be empty.
|
||||
)");
|
||||
rdcarray<BoundResource> GetOutputTargets() const;
|
||||
|
||||
DOCUMENT(R"(Retrieves the current color blending states, per target.
|
||||
|
||||
:return: The currently color blend states.
|
||||
:rtype: ``list`` of :class:`ColorBlend`.
|
||||
)");
|
||||
rdcarray<ColorBlend> GetColorBlends() const;
|
||||
|
||||
DOCUMENT(R"(Determines whether or not independent blending is enabled.
|
||||
|
||||
:return: A boolean indicating if independent blending is enabled.
|
||||
:rtype: ``bool``
|
||||
)");
|
||||
bool IsIndependentBlendingEnabled() const;
|
||||
|
||||
private:
|
||||
const D3D11Pipe::State *m_D3D11 = NULL;
|
||||
const D3D12Pipe::State *m_D3D12 = NULL;
|
||||
|
||||
@@ -1420,3 +1420,57 @@ rdcarray<BoundResource> PipeState::GetOutputTargets() const
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
rdcarray<ColorBlend> PipeState::GetColorBlends() const
|
||||
{
|
||||
if(IsCaptureLoaded())
|
||||
{
|
||||
if(IsCaptureD3D11())
|
||||
{
|
||||
return m_D3D11->outputMerger.blendState.blends;
|
||||
}
|
||||
else if(IsCaptureD3D12())
|
||||
{
|
||||
return m_D3D12->outputMerger.blendState.blends;
|
||||
}
|
||||
else if(IsCaptureGL())
|
||||
{
|
||||
return m_GL->framebuffer.blendState.blends;
|
||||
}
|
||||
else if(IsCaptureVK())
|
||||
{
|
||||
return m_Vulkan->colorBlend.blends;
|
||||
}
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
bool PipeState::IsIndependentBlendingEnabled() const
|
||||
{
|
||||
if(IsCaptureLoaded())
|
||||
{
|
||||
if(IsCaptureD3D11())
|
||||
{
|
||||
return m_D3D11->outputMerger.blendState.independentBlend;
|
||||
}
|
||||
else if(IsCaptureD3D12())
|
||||
{
|
||||
return m_D3D12->outputMerger.blendState.independentBlend;
|
||||
}
|
||||
else if(IsCaptureGL())
|
||||
{
|
||||
// GL is always implicitly independent blending, just that if you set it in a non-independent
|
||||
// way it sets all states at once
|
||||
return true;
|
||||
}
|
||||
else if(IsCaptureVK())
|
||||
{
|
||||
// similarly for vulkan, there's a physical device feature but it just requires that all
|
||||
// states must be identical
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user