Descriptorize Texture
This patch introduces texture descriptor for texture creation instead
of texture builders.
This patch also adds "arrayLayer" to texture descriptor and removes
mDevice in TextureD3D12.
diff --git a/examples/CppHelloTriangle.cpp b/examples/CppHelloTriangle.cpp
index ea3578b..bf331df 100644
--- a/examples/CppHelloTriangle.cpp
+++ b/examples/CppHelloTriangle.cpp
@@ -48,13 +48,16 @@
}
void initTextures() {
- texture = device.CreateTextureBuilder()
- .SetDimension(dawn::TextureDimension::e2D)
- .SetExtent(1024, 1024, 1)
- .SetFormat(dawn::TextureFormat::R8G8B8A8Unorm)
- .SetMipLevels(1)
- .SetAllowedUsage(dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled)
- .GetResult();
+ dawn::TextureDescriptor descriptor;
+ descriptor.dimension = dawn::TextureDimension::e2D;
+ descriptor.width = 1024;
+ descriptor.height = 1024;
+ descriptor.depth = 1;
+ descriptor.arrayLayer = 1;
+ descriptor.format = dawn::TextureFormat::R8G8B8A8Unorm;
+ descriptor.mipLevel = 1;
+ descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
+ texture = device.CreateTexture(&descriptor);
dawn::SamplerDescriptor samplerDesc = utils::GetDefaultSamplerDescriptor();
sampler = device.CreateSampler(&samplerDesc);
diff --git a/examples/SampleUtils.cpp b/examples/SampleUtils.cpp
index 9055476..8d459db 100644
--- a/examples/SampleUtils.cpp
+++ b/examples/SampleUtils.cpp
@@ -136,13 +136,16 @@
}
dawn::TextureView CreateDefaultDepthStencilView(const dawn::Device& device) {
- auto depthStencilTexture = device.CreateTextureBuilder()
- .SetDimension(dawn::TextureDimension::e2D)
- .SetExtent(640, 480, 1)
- .SetFormat(dawn::TextureFormat::D32FloatS8Uint)
- .SetMipLevels(1)
- .SetAllowedUsage(dawn::TextureUsageBit::OutputAttachment)
- .GetResult();
+ dawn::TextureDescriptor descriptor;
+ descriptor.dimension = dawn::TextureDimension::e2D;
+ descriptor.width = 640;
+ descriptor.height = 480;
+ descriptor.depth = 1;
+ descriptor.arrayLayer = 1;
+ descriptor.format = dawn::TextureFormat::D32FloatS8Uint;
+ descriptor.mipLevel = 1;
+ descriptor.usage = dawn::TextureUsageBit::OutputAttachment;
+ auto depthStencilTexture = device.CreateTexture(&descriptor);
return depthStencilTexture.CreateTextureViewBuilder()
.GetResult();
}
diff --git a/examples/glTFViewer/glTFViewer.cpp b/examples/glTFViewer/glTFViewer.cpp
index 85b3c43..e80aab3 100644
--- a/examples/glTFViewer/glTFViewer.cpp
+++ b/examples/glTFViewer/glTFViewer.cpp
@@ -382,13 +382,16 @@
continue;
}
- auto oTexture = device.CreateTextureBuilder()
- .SetDimension(dawn::TextureDimension::e2D)
- .SetExtent(iImage.width, iImage.height, 1)
- .SetFormat(format)
- .SetMipLevels(1)
- .SetAllowedUsage(dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled)
- .GetResult();
+ dawn::TextureDescriptor descriptor;
+ descriptor.dimension = dawn::TextureDimension::e2D;
+ descriptor.width = iImage.width;
+ descriptor.height = iImage.height;
+ descriptor.depth = 1;
+ descriptor.arrayLayer = 1;
+ descriptor.format = format;
+ descriptor.mipLevel = 1;
+ descriptor.usage = dawn::TextureUsageBit::TransferDst | dawn::TextureUsageBit::Sampled;
+ auto oTexture = device.CreateTexture(&descriptor);
// TODO: release this texture
const uint8_t* origData = iImage.image.data();