|
Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
|
Tracks ImageLayouts over the course of a frame rendering process. More...
#include <foray_imagelayoutcache.hpp>
Classes | |
| struct | Barrier |
| See VkImageMemoryBarrier. More... | |
| struct | Barrier2 |
| See VkImageMemoryBarrier2. More... | |
Public Member Functions | |
| VkImageLayout | Get (VkImage image) const |
| Get the currently cached layout of image identified by imageName. | |
| VkImageLayout | Get (const ManagedImage &image) const |
| Get the currently cached layout of image. | |
| VkImageLayout | Get (const ManagedImage *image) const |
| Get the currently cached layout of image. | |
| void | Set (VkImage image, VkImageLayout layout) |
| Set the cached layout of image. | |
| void | Set (const ManagedImage &image, VkImageLayout layout) |
| Set the cached layout of image. | |
| void | Set (const ManagedImage *image, VkImageLayout layout) |
| Set the cached layout of image. | |
| VkImageMemoryBarrier | MakeBarrier (VkImage image, const Barrier &barrier) |
| Constructs a VkImageMemoryBarrier struct and updates the stored layout. | |
| VkImageMemoryBarrier | MakeBarrier (const ManagedImage *image, const Barrier &barrier) |
| Constructs a VkImageMemoryBarrier struct and updates the stored layout. | |
| VkImageMemoryBarrier | MakeBarrier (const ManagedImage &image, const Barrier &barrier) |
| Constructs a VkImageMemoryBarrier struct and updates the stored layout. | |
| VkImageMemoryBarrier2 | MakeBarrier (VkImage image, const Barrier2 &barrier) |
| Constructs a VkImageMemoryBarrier2 struct and updates the stored layout. | |
| VkImageMemoryBarrier2 | MakeBarrier (const ManagedImage *image, const Barrier2 &barrier) |
| Constructs a VkImageMemoryBarrier2 struct and updates the stored layout. | |
| VkImageMemoryBarrier2 | MakeBarrier (const ManagedImage &image, const Barrier2 &barrier) |
| Constructs a VkImageMemoryBarrier2 struct and updates the stored layout. | |
| void | CmdBarrier (VkCommandBuffer cmdBuffer, VkImage image, const Barrier &barrier, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags depFlags=0) |
| Writes a dedicated vkCmdPipelineBarrier command. | |
| void | CmdBarrier (VkCommandBuffer cmdBuffer, const ManagedImage *image, const Barrier &barrier, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags depFlags=0) |
| Writes a dedicated vkCmdPipelineBarrier command. | |
| void | CmdBarrier (VkCommandBuffer cmdBuffer, const ManagedImage &image, const Barrier &barrier, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags depFlags=0) |
| Writes a dedicated vkCmdPipelineBarrier command. | |
| void | CmdBarrier (VkCommandBuffer cmdBuffer, VkImage image, const Barrier2 &barrier, VkDependencyFlags depFlags=0) |
| Writes a dedicated vkCmdPipelineBarrier2 command. | |
| void | CmdBarrier (VkCommandBuffer cmdBuffer, const ManagedImage *image, const Barrier2 &barrier, VkDependencyFlags depFlags=0) |
| Writes a dedicated vkCmdPipelineBarrier2 command. | |
| void | CmdBarrier (VkCommandBuffer cmdBuffer, const ManagedImage &image, const Barrier2 &barrier, VkDependencyFlags depFlags=0) |
| Writes a dedicated vkCmdPipelineBarrier2 command. | |
Protected Attributes | |
| std::unordered_map< VkImage, VkImageLayout > | mLayoutCache |
Tracks ImageLayouts over the course of a frame rendering process.
| void foray::core::ImageLayoutCache::CmdBarrier | ( | VkCommandBuffer | cmdBuffer, |
| const ManagedImage & | image, | ||
| const Barrier & | barrier, | ||
| VkPipelineStageFlags | srcStageMask, | ||
| VkPipelineStageFlags | dstStageMask, | ||
| VkDependencyFlags | depFlags = 0 |
||
| ) |
Writes a dedicated vkCmdPipelineBarrier command.
| cmdBuffer | Command Buffer |
| image | Image |
| barrier | Layout Transition Barrier information |
| srcStageMask | Source Stage Mask |
| dstStageMask | Dest Stage Mask |
| depFlags | DependencyFlags |
| void foray::core::ImageLayoutCache::CmdBarrier | ( | VkCommandBuffer | cmdBuffer, |
| const ManagedImage & | image, | ||
| const Barrier2 & | barrier, | ||
| VkDependencyFlags | depFlags = 0 |
||
| ) |
Writes a dedicated vkCmdPipelineBarrier2 command.
| cmdBuffer | Command Buffer |
| image | Image |
| barrier | Layout Transition Barrier2 information |
| depFlags | DependencyFlags |
| void foray::core::ImageLayoutCache::CmdBarrier | ( | VkCommandBuffer | cmdBuffer, |
| const ManagedImage * | image, | ||
| const Barrier & | barrier, | ||
| VkPipelineStageFlags | srcStageMask, | ||
| VkPipelineStageFlags | dstStageMask, | ||
| VkDependencyFlags | depFlags = 0 |
||
| ) |
Writes a dedicated vkCmdPipelineBarrier command.
| cmdBuffer | Command Buffer |
| image | Image |
| barrier | Layout Transition Barrier information |
| srcStageMask | Source Stage Mask |
| dstStageMask | Dest Stage Mask |
| depFlags | DependencyFlags |
| void foray::core::ImageLayoutCache::CmdBarrier | ( | VkCommandBuffer | cmdBuffer, |
| const ManagedImage * | image, | ||
| const Barrier2 & | barrier, | ||
| VkDependencyFlags | depFlags = 0 |
||
| ) |
Writes a dedicated vkCmdPipelineBarrier2 command.
| cmdBuffer | Command Buffer |
| image | Image |
| barrier | Layout Transition Barrier2 information |
| depFlags | DependencyFlags |
| void foray::core::ImageLayoutCache::CmdBarrier | ( | VkCommandBuffer | cmdBuffer, |
| VkImage | image, | ||
| const Barrier & | barrier, | ||
| VkPipelineStageFlags | srcStageMask, | ||
| VkPipelineStageFlags | dstStageMask, | ||
| VkDependencyFlags | depFlags = 0 |
||
| ) |
Writes a dedicated vkCmdPipelineBarrier command.
| cmdBuffer | Command Buffer |
| name | Name of the image |
| image | Image |
| barrier | Layout Transition Barrier information |
| srcStageMask | Source Stage Mask |
| dstStageMask | Dest Stage Mask |
| depFlags | DependencyFlags |
| void foray::core::ImageLayoutCache::CmdBarrier | ( | VkCommandBuffer | cmdBuffer, |
| VkImage | image, | ||
| const Barrier2 & | barrier, | ||
| VkDependencyFlags | depFlags = 0 |
||
| ) |
Writes a dedicated vkCmdPipelineBarrier2 command.
| cmdBuffer | Command Buffer |
| name | Name of the image |
| image | Image |
| barrier | Layout Transition Barrier2 information |
| depFlags | DependencyFlags |
| VkImageLayout foray::core::ImageLayoutCache::Get | ( | const ManagedImage & | image | ) | const |
Get the currently cached layout of image.
| VkImageLayout foray::core::ImageLayoutCache::Get | ( | const ManagedImage * | image | ) | const |
Get the currently cached layout of image.
| VkImageLayout foray::core::ImageLayoutCache::Get | ( | VkImage | image | ) | const |
Get the currently cached layout of image identified by imageName.
| VkImageMemoryBarrier foray::core::ImageLayoutCache::MakeBarrier | ( | const ManagedImage & | image, |
| const Barrier & | barrier | ||
| ) |
Constructs a VkImageMemoryBarrier struct and updates the stored layout.
| image | Image |
| barrier | Layout Transition Barrier information |
| VkImageMemoryBarrier2 foray::core::ImageLayoutCache::MakeBarrier | ( | const ManagedImage & | image, |
| const Barrier2 & | barrier | ||
| ) |
Constructs a VkImageMemoryBarrier2 struct and updates the stored layout.
| image | Image |
| barrier | Layout Transition Barrier2 information |
| VkImageMemoryBarrier foray::core::ImageLayoutCache::MakeBarrier | ( | const ManagedImage * | image, |
| const Barrier & | barrier | ||
| ) |
Constructs a VkImageMemoryBarrier struct and updates the stored layout.
| image | Image |
| barrier | Layout Transition Barrier information |
| VkImageMemoryBarrier2 foray::core::ImageLayoutCache::MakeBarrier | ( | const ManagedImage * | image, |
| const Barrier2 & | barrier | ||
| ) |
Constructs a VkImageMemoryBarrier2 struct and updates the stored layout.
| image | Image |
| barrier | Layout Transition Barrier2 information |
| VkImageMemoryBarrier foray::core::ImageLayoutCache::MakeBarrier | ( | VkImage | image, |
| const Barrier & | barrier | ||
| ) |
Constructs a VkImageMemoryBarrier struct and updates the stored layout.
| name | Name of the image |
| image | Image |
| barrier | Layout Transition Barrier information |
| VkImageMemoryBarrier2 foray::core::ImageLayoutCache::MakeBarrier | ( | VkImage | image, |
| const Barrier2 & | barrier | ||
| ) |
Constructs a VkImageMemoryBarrier2 struct and updates the stored layout.
| name | Name of the image |
| image | Image |
| barrier | Layout Transition Barrier2 information |
| void foray::core::ImageLayoutCache::Set | ( | const ManagedImage & | image, |
| VkImageLayout | layout | ||
| ) |
Set the cached layout of image.
| void foray::core::ImageLayoutCache::Set | ( | const ManagedImage * | image, |
| VkImageLayout | layout | ||
| ) |
Set the cached layout of image.
| void foray::core::ImageLayoutCache::Set | ( | VkImage | image, |
| VkImageLayout | layout | ||
| ) |
Set the cached layout of image.
|
protected |