Implement CreateDefaultTextureView by CreateTextureView

This patch removes CreateDefaultTextureView in all the back-ends of
class Device and implements this function by CreateTextureView using
a TextureViewDescriptor created from the original texture.

Note that this patch only refactors the original implementation of
creating default texture. The support of creating texture views from
a texture view descriptor will be added in the next several patches.

BUG=dawn:16

Change-Id: Iadfc1e17e1cf23a4c1fa8ff44b1fb1a765d21e3f
Reviewed-on: https://dawn-review.googlesource.com/c/1840
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
This commit is contained in:
Jiawei Shao
2018-10-18 06:00:09 +00:00
committed by Commit Bot service account
parent 79aee9c56d
commit aef480bcfe
21 changed files with 49 additions and 45 deletions

View File

@@ -106,14 +106,10 @@ namespace dawn_native { namespace opengl {
ResultOrError<TextureBase*> Device::CreateTextureImpl(const TextureDescriptor* descriptor) {
return new Texture(this, descriptor);
}
TextureViewBase* Device::CreateDefaultTextureView(TextureBase* texture) {
return new TextureView(texture);
}
// TODO(jiawei.shao@intel.com): implement creating texture view with TextureViewDescriptor
ResultOrError<TextureViewBase*> Device::CreateTextureViewImpl(
TextureBase* texture,
const TextureViewDescriptor* descriptor) {
return DAWN_UNIMPLEMENTED_ERROR("Creating texture view with descriptor is unimplemented.");
return new TextureView(texture, descriptor);
}
void Device::TickImpl() {

View File

@@ -43,7 +43,6 @@ namespace dawn_native { namespace opengl {
RenderPassDescriptorBuilder* builder) override;
RenderPipelineBase* CreateRenderPipeline(RenderPipelineBuilder* builder) override;
SwapChainBase* CreateSwapChain(SwapChainBuilder* builder) override;
TextureViewBase* CreateDefaultTextureView(TextureBase* texture) override;
void TickImpl() override;

View File

@@ -129,7 +129,9 @@ namespace dawn_native { namespace opengl {
// TextureView
TextureView::TextureView(TextureBase* texture) : TextureViewBase(texture) {
// TODO(jiawei.shao@intel.com): create texture view by TextureViewDescriptor
TextureView::TextureView(TextureBase* texture, const TextureViewDescriptor* descriptor)
: TextureViewBase(texture, descriptor) {
}
}} // namespace dawn_native::opengl

View File

@@ -46,7 +46,7 @@ namespace dawn_native { namespace opengl {
class TextureView : public TextureViewBase {
public:
TextureView(TextureBase* texture);
TextureView(TextureBase* texture, const TextureViewDescriptor* descriptor);
};
}} // namespace dawn_native::opengl