summaryrefslogtreecommitdiffstats
path: root/tools/gfx/d3d/d3d-util.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-11-18 11:14:29 -0800
committerGitHub <noreply@github.com>2021-11-18 11:14:29 -0800
commitb482844b689eb109ee1d70c527e098400ac6d409 (patch)
treef40e332e366b2dd2193d817c0c7d0bdc95455c90 /tools/gfx/d3d/d3d-util.cpp
parentefebfada38cd5252da62f7618c7f95e3ab180fbd (diff)
gfx: add coverage for more resource commands. (#2020)
* gfx: specify SubresourceRange for resource view creation. * Add gfx method for `resolveResource`. * Fix compile error. * `copyTextureToBuffer` and `textureSubresourceBarrier`. * Fix vulkan bug. * Fix test cras;h. 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.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/gfx/d3d/d3d-util.cpp b/tools/gfx/d3d/d3d-util.cpp
index e2083d39e..afd4d068b 100644
--- a/tools/gfx/d3d/d3d-util.cpp
+++ b/tools/gfx/d3d/d3d-util.cpp
@@ -635,6 +635,36 @@ int D3DUtil::getShaderModelFromProfileName(const char* name)
return 0;
}
+uint32_t D3DUtil::getPlaneSlice(DXGI_FORMAT format, TextureAspect aspect)
+{
+ switch (aspect)
+ {
+ case TextureAspect::Default:
+ case TextureAspect::Color:
+ return 0;
+ case TextureAspect::Depth:
+ return 0;
+ case TextureAspect::Stencil:
+ switch (format)
+ {
+ case DXGI_FORMAT_D24_UNORM_S8_UINT:
+ case DXGI_FORMAT_D32_FLOAT_S8X24_UINT:
+ return 1;
+ default:
+ return 0;
+ }
+ case TextureAspect::Plane0:
+ return 0;
+ case TextureAspect::Plane1:
+ return 1;
+ case TextureAspect::Plane2:
+ return 2;
+ default:
+ SLANG_ASSERT_FAILURE("Unknown texture aspect.");
+ return 0;
+ }
+}
+
/* static */SlangResult D3DUtil::findAdapters(DeviceCheckFlags flags, const UnownedStringSlice& adapterName, IDXGIFactory* dxgiFactory, List<ComPtr<IDXGIAdapter>>& outDxgiAdapters)
{
Slang::String lowerAdapterName = Slang::String(adapterName).toLower();