33 const vk::ImageLayout old_layout =
35 vk::ImageMemoryBarrier image_barrier;
36 image_barrier.srcAccessMask = barrier.
src_access;
37 image_barrier.dstAccessMask = barrier.
dst_access;
38 image_barrier.oldLayout = old_layout;
41 image_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
42 image_barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
44 image_barrier.subresourceRange.baseMipLevel = barrier.
base_mip_level;
45 image_barrier.subresourceRange.levelCount =
47 image_barrier.subresourceRange.baseArrayLayer = 0u;
TextureSourceVK(TextureDescriptor desc)
virtual std::shared_ptr< YUVConversionVK > GetYUVConversion() const
When sampling from textures whose formats are not known to Vulkan, a custom conversion is necessary t...
const TextureDescriptor & GetTextureDescriptor() const
Gets the texture descriptor for this image source.
const FramebufferAndRenderPass & GetCachedFrameData(SampleCount sample_count) const
virtual vk::Image GetImage() const =0
Get the image handle for this texture source.
void SetCachedFrameData(const FramebufferAndRenderPass &data, SampleCount sample_count)
virtual ~TextureSourceVK()
vk::ImageLayout GetLayout() const
Get the last layout assigned to the TextureSourceVK.
vk::ImageLayout SetLayoutWithoutEncoding(vk::ImageLayout layout) const
Store the layout of the image.
const TextureDescriptor desc_
fml::Status SetLayout(const BarrierVK &barrier) const
Encodes the layout transition barrier to barrier.cmd_buffer for the image.
std::optional< PipelineDescriptor > desc_
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...
std::shared_ptr< const fml::Mapping > data