blob: 0ccdd31f17269595d10a4a1515204265bdf67010 [file] [log] [blame]
// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/ui/lib/escher/vk/image.h"
#include "src/ui/lib/escher/util/image_utils.h"
namespace escher {
const ResourceTypeInfo Image::kTypeInfo("Image", ResourceType::kResource, ResourceType::kImage);
ImagePtr Image::WrapVkImage(ResourceManager* image_owner, ImageInfo info, vk::Image vk_image,
vk::ImageLayout initial_layout) {
return fxl::AdoptRef(new Image(image_owner, info, vk_image, 0, nullptr, initial_layout));
}
Image::Image(ResourceManager* image_owner, ImageInfo info, vk::Image image, vk::DeviceSize size,
uint8_t* host_ptr, vk::ImageLayout initial_layout)
: Resource(image_owner),
info_(info),
image_(image),
has_depth_(image_utils::IsDepthFormat(info.format)),
has_stencil_(image_utils::IsStencilFormat(info.format)),
size_(size),
host_ptr_(host_ptr),
layout_(initial_layout) {}
} // namespace escher