Don't try to render triangle size for line or point draws

This commit is contained in:
baldurk
2020-02-05 15:17:46 +00:00
parent 08c0b13aaa
commit 530d7fbc12
3 changed files with 11 additions and 2 deletions
+3 -2
View File
@@ -909,14 +909,15 @@ ResourceId D3D12Replay::RenderOverlay(ResourceId texid, CompType typeCast, Float
{
D3D_PRIMITIVE_TOPOLOGY topo = MakeD3DPrimitiveTopology(fmt.topology);
// can't show triangle size for points or lines
if(topo == D3D_PRIMITIVE_TOPOLOGY_POINTLIST ||
topo >= D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST)
pipeDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT;
continue;
else if(topo == D3D_PRIMITIVE_TOPOLOGY_LINESTRIP ||
topo == D3D_PRIMITIVE_TOPOLOGY_LINELIST ||
topo == D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ ||
topo == D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ)
pipeDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE;
continue;
else
pipeDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
+6
View File
@@ -937,6 +937,12 @@ D3D12PSOCreator &D3D12PSOCreator::InputLayout()
return InputLayout(m_Test->DefaultInputLayout());
}
D3D12PSOCreator &D3D12PSOCreator::Topology(D3D12_PRIMITIVE_TOPOLOGY_TYPE topo)
{
GraphicsDesc.PrimitiveTopologyType = topo;
return *this;
}
D3D12PSOCreator &D3D12PSOCreator::RootSig(ID3D12RootSignaturePtr rootSig)
{
GraphicsDesc.pRootSignature = rootSig;
+2
View File
@@ -83,6 +83,8 @@ public:
D3D12PSOCreator &InputLayout(const std::vector<D3D12_INPUT_ELEMENT_DESC> &elements);
D3D12PSOCreator &InputLayout();
D3D12PSOCreator &Topology(D3D12_PRIMITIVE_TOPOLOGY_TYPE topo);
D3D12PSOCreator &RootSig(ID3D12RootSignaturePtr rootSig);
D3D12PSOCreator &RTVs(const std::vector<DXGI_FORMAT> &fmts);