summaryrefslogtreecommitdiffstats
path: root/tools/gfx/resource-desc-utils.cpp
diff options
context:
space:
mode:
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;
+}
+}