class ImageView

Defined at line 16 of file ../../src/ui/lib/escher/vk/image_view.h

Public Members

static const ResourceTypeInfo kTypeInfo

Public Methods

const ResourceTypeInfo & type_info ()

Defined at line 19 of file ../../src/ui/lib/escher/vk/image_view.h

void ImageView (ResourceRecycler * resource_recycler, ImagePtr image, vk::ImageAspectFlags aspect_mask, SamplerPtr sampler)

Construct an ImageView, which encapsulates a newly-created VkImageView.

`aspect_mask` is used to create the VkImageView, and `resource_recycler`

guarantees that the underlying Vulkan resources are not destroyed while

still referenced by a pending command buffer. If `sampler` has extension

data (e.g., VkSamplerYcbcrConversionInfo), it is passed via pNext during

VkImageView creation and `sampler` is retained so the conversion outlives

the VkImageView.

Defined at line 20 of file ../../src/ui/lib/escher/vk/image_view.cc

const ImagePtr & image ()

Defined at line 42 of file ../../src/ui/lib/escher/vk/image_view.h

const SamplerPtr & sampler ()

Defined at line 43 of file ../../src/ui/lib/escher/vk/image_view.h

vk::ImageView vk ()

Defined at line 44 of file ../../src/ui/lib/escher/vk/image_view.h

vk::ImageView vk_float_view ()

TODO(https://fxbug.dev/42151125): for a depth-stencil texture, we may want to sample the

depth as floating point and the stencil as integer. In such cases, we

could return a separate view for each, e.g.

return float_image_view_ ? float_image_view_ : image_view_.

Defined at line 50 of file ../../src/ui/lib/escher/vk/image_view.h

vk::ImageView vk_integer_view ()

Defined at line 51 of file ../../src/ui/lib/escher/vk/image_view.h

uint32_t width ()

Defined at line 53 of file ../../src/ui/lib/escher/vk/image_view.h

uint32_t height ()

Defined at line 54 of file ../../src/ui/lib/escher/vk/image_view.h

void ~ImageView ()

Defined at line 55 of file ../../src/ui/lib/escher/vk/image_view.cc

ImageViewPtr New (ImagePtr image, vk::ImageAspectFlags aspect_mask, SamplerPtr sampler)

Defined at line 57 of file ../../src/ui/lib/escher/vk/image_view.cc

ImageViewPtr New (ResourceRecycler * resource_recycler, ImagePtr image, vk::ImageAspectFlags aspect_mask, SamplerPtr sampler)

TODO(https://fxbug.dev/42151125): unfortunately we can't just get the recycler from

image->escher(), because that is null for Vulkan swapchain images.

Defined at line 64 of file ../../src/ui/lib/escher/vk/image_view.cc