summaryrefslogtreecommitdiff
path: root/tools/gfx/resource-desc-utils.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-04-24 00:17:43 -0700
committerGitHub <noreply@github.com>2021-04-24 00:17:43 -0700
commit9a5672d7b8a155117a2c3f8375e3b8a5b43d91b7 (patch)
tree9be3ea214ea735e41e8fdaef9824e84212a30cbb /tools/gfx/resource-desc-utils.cpp
parent697017e6fae8c252638abc298ec1556de2e41314 (diff)
Remove resource `Usage` from `gfx` interface. (#1813)
* Fix `model-viewer` crash when using Vulkan. Fixing an issue in shader object layout creation for to make sure a correct descriptor set layout is calculated for types that need an implicit constant buffer. * Fix formatting. * Fixes. * Fix memory leak in vulkan. * Remove resource `Usage` from `gfx` interface.
Diffstat (limited to 'tools/gfx/resource-desc-utils.cpp')
-rw-r--r--tools/gfx/resource-desc-utils.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/gfx/resource-desc-utils.cpp b/tools/gfx/resource-desc-utils.cpp
new file mode 100644
index 000000000..93609cd0e
--- /dev/null
+++ b/tools/gfx/resource-desc-utils.cpp
@@ -0,0 +1,20 @@
+#include "resource-desc-utils.h"
+
+namespace gfx
+{
+IBufferResource::Desc fixupBufferDesc(const IBufferResource::Desc& desc)
+{
+ IBufferResource::Desc result = desc;
+ result.allowedStates.add(result.defaultState);
+ return result;
+}
+
+ITextureResource::Desc fixupTextureDesc(const ITextureResource::Desc& desc)
+{
+ ITextureResource::Desc rs = desc;
+ if (desc.numMipLevels == 0)
+ rs.numMipLevels = calcNumMipLevels(desc.type, desc.size);
+ rs.allowedStates.add(rs.defaultState);
+ return rs;
+}
+}