diff options
| author | Tony Barbour <tony@LunarG.com> | 2017-01-25 12:53:48 -0700 |
|---|---|---|
| committer | Tony Barbour <tony@LunarG.com> | 2017-02-13 11:57:29 -0700 |
| commit | e1942830e399aaaf2b75a0a0d30bcdbc1945171a (patch) | |
| tree | b00dbae1b557fffb9949fb312ad70d54d899b048 /layers/buffer_validation.h | |
| parent | 99a86825c8b22db7d9727678befffe8ab94a251c (diff) | |
| download | usermoji-e1942830e399aaaf2b75a0a0d30bcdbc1945171a.tar.xz | |
layers: Separate validation from state in QueueSubmit
Change-Id: I95878805bfc025afd60ba2167aeb78dba064b56e
layers: Rework semaphore signal tracking in QueueSubmit
Change-Id: I6ee12fd44ebd42c1a4e14bb7fd0eae300489d413
layers: Better submit count tracking in QueueSubmit
Change-Id: I90065fc4546354cb2be14be9143356132ac2f3df
layers: Improve image layout tracking in QueueSubmit
Change-Id: I6e10c8a6d18730939dfa0a5d5e452a23c540f94e
layers: Move cmd collection from validate to record
Change-Id: I89df7358f1916ea4688d4b8cfe2cb870f946b3d9
layers: Fix command buffer submit count in QueueSubmit
Use vector and count instead of unordered_map
Change-Id: I227951085af7df0c288cb3563d17a04d7f2f41e1
Diffstat (limited to 'layers/buffer_validation.h')
| -rw-r--r-- | layers/buffer_validation.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/layers/buffer_validation.h b/layers/buffer_validation.h index 59617b39..ad5d9597 100644 --- a/layers/buffer_validation.h +++ b/layers/buffer_validation.h @@ -76,13 +76,21 @@ bool FindGlobalLayout(layer_data *device_data, ImageSubresourcePair imgpair, VkI bool FindLayouts(layer_data *device_data, VkImage image, std::vector<VkImageLayout> &layouts); +bool FindLayout(const std::unordered_map<ImageSubresourcePair, IMAGE_LAYOUT_NODE> &imageLayoutMap, ImageSubresourcePair imgpair, VkImageLayout &layout, + const VkImageAspectFlags aspectMask); + +bool FindLayout(const std::unordered_map<ImageSubresourcePair, IMAGE_LAYOUT_NODE> &imageLayoutMap, ImageSubresourcePair imgpair, VkImageLayout &layout); + void SetGlobalLayout(layer_data *device_data, ImageSubresourcePair imgpair, const VkImageLayout &layout); void SetLayout(layer_data *device_data, GLOBAL_CB_NODE *pCB, ImageSubresourcePair imgpair, const IMAGE_CMD_BUF_LAYOUT_NODE &node); void SetLayout(layer_data *device_data, GLOBAL_CB_NODE *pCB, ImageSubresourcePair imgpair, const VkImageLayout &layout); -void SetImageViewLayout(layer_data *device_data, GLOBAL_CB_NODE *pCB, VkImageView imageView, const VkImageLayout &layout); +void SetLayout(std::unordered_map<ImageSubresourcePair, IMAGE_LAYOUT_NODE> &imageLayoutMap, ImageSubresourcePair imgpair, VkImageLayout layout); + +void SetImageViewLayout(layer_data *device_data, GLOBAL_CB_NODE *pCB, VkImageView imageView, + const VkImageLayout &layout); bool VerifyFramebufferAndRenderPassLayouts(layer_data *dev_data, GLOBAL_CB_NODE *pCB, const VkRenderPassBeginInfo *pRenderPassBegin, const FRAMEBUFFER_STATE *framebuffer_state); @@ -127,7 +135,9 @@ bool PreCallValidateCmdBlitImage(layer_data *device_data, GLOBAL_CB_NODE *cb_nod void PreCallRecordCmdBlitImage(layer_data *device_data, GLOBAL_CB_NODE *cb_node, IMAGE_STATE *src_image_state, IMAGE_STATE *dst_image_state); -bool ValidateCmdBufImageLayouts(core_validation::layer_data *dev_data, GLOBAL_CB_NODE *pCB); +bool ValidateCmdBufImageLayouts(layer_data *device_data, GLOBAL_CB_NODE *pCB, std::unordered_map<ImageSubresourcePair, IMAGE_LAYOUT_NODE> &imageLayoutMap); + +void UpdateCmdBufImageLayouts(layer_data *device_data, GLOBAL_CB_NODE *pCB); bool ValidateMaskBitsFromLayouts(core_validation::layer_data *device_data, VkCommandBuffer cmdBuffer, const VkAccessFlags &accessMask, const VkImageLayout &layout, const char *type); |
