From 3b41c818a46cb7761e5a5f2878ceb76d9aef1a20 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 19 Jan 2022 10:15:30 -0800 Subject: Fixes to GFX. (#2083) * Fix binding null resource views in d3d12. * Fix array render target view creation. * Add support for more primitive topologies. Co-authored-by: Yong He --- tools/gfx/d3d/d3d-util.cpp | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'tools/gfx/d3d/d3d-util.cpp') diff --git a/tools/gfx/d3d/d3d-util.cpp b/tools/gfx/d3d/d3d-util.cpp index 860649be4..5d7aa4dd8 100644 --- a/tools/gfx/d3d/d3d-util.cpp +++ b/tools/gfx/d3d/d3d-util.cpp @@ -18,12 +18,36 @@ using namespace Slang; switch (topology) { case PrimitiveTopology::TriangleList: - { - return D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST; - } + return D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; + case PrimitiveTopology::TriangleStrip: + return D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP; + case PrimitiveTopology::LineList: + return D3D_PRIMITIVE_TOPOLOGY_LINELIST; + case PrimitiveTopology::LineStrip: + return D3D_PRIMITIVE_TOPOLOGY_LINESTRIP; + case PrimitiveTopology::PointList: + return D3D_PRIMITIVE_TOPOLOGY_POINTLIST; default: break; } - return D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED; + return D3D_PRIMITIVE_TOPOLOGY_UNDEFINED; +} + +D3D12_PRIMITIVE_TOPOLOGY_TYPE D3DUtil::getPrimitiveType(PrimitiveTopology topology) +{ + switch (topology) + { + case PrimitiveTopology::TriangleList: + case PrimitiveTopology::TriangleStrip: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; + case PrimitiveTopology::LineList: + case PrimitiveTopology::LineStrip: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE; + case PrimitiveTopology::PointList: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT; + default: + break; + } + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED; } D3D12_PRIMITIVE_TOPOLOGY_TYPE D3DUtil::getPrimitiveType(PrimitiveType type) -- cgit v1.2.3