summaryrefslogtreecommitdiffstats
path: root/tools/gfx/d3d/d3d-util.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-01-19 10:15:30 -0800
committerGitHub <noreply@github.com>2022-01-19 10:15:30 -0800
commit3b41c818a46cb7761e5a5f2878ceb76d9aef1a20 (patch)
treee3b35bc62586c41f532232259981b249f0d4fa30 /tools/gfx/d3d/d3d-util.cpp
parent7dc5857173e3fb5884736e5de91f6b4b1cef3ef3 (diff)
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 <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/d3d/d3d-util.cpp')
-rw-r--r--tools/gfx/d3d/d3d-util.cpp32
1 files changed, 28 insertions, 4 deletions
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)