aboutsummaryrefslogtreecommitdiff
path: root/layers/buffer_validation.h
diff options
context:
space:
mode:
authorMike Weiblen <mikew@lunarg.com>2017-03-07 22:18:27 -0700
committerMike Weiblen <mikew@lunarg.com>2017-03-14 16:34:52 -0600
commit2e1c0e79925199ef0683c1e2064ffc794f853a16 (patch)
tree78d3797db0bb0f1c3df9f9b560fbc2c1378128ce /layers/buffer_validation.h
parentaa1fb597a3c90c2a9c67f5b5333e4d19f1f0e755 (diff)
downloadusermoji-2e1c0e79925199ef0683c1e2064ffc794f853a16.tar.xz
layers: Implement VU 00303-00308
Implement Valid Usages 00303-00308 with new function ValidateBarrierLayoutToImageUsage() which verifies an ImageMemoryBarrier's old/new ImageLayouts are compatible with its Image's ImageUsageFlags. Rename ValidateImageLayouts() to ValidateBarriersToImages(). Rename some variables: - internal vars to use Google style. - vars passed verbatim from Vulkan to use Vulkan names. Fix issues revealed in layer tests due to these new checks: - 2 new Unexpected messages in VkLayerTest. - 1 failing VkPositiveTest. Update VU database for check_implemented = Y. Change-Id: I8723f99d515fbea707299b4d1fcf33a4da6b7b0b
Diffstat (limited to 'layers/buffer_validation.h')
-rw-r--r--layers/buffer_validation.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/layers/buffer_validation.h b/layers/buffer_validation.h
index e83ee9b8..c318fb21 100644
--- a/layers/buffer_validation.h
+++ b/layers/buffer_validation.h
@@ -111,8 +111,11 @@ bool ValidateImageAspectLayout(layer_data *device_data, GLOBAL_CB_NODE *pCB, con
void TransitionImageAspectLayout(layer_data *dev_data, GLOBAL_CB_NODE *pCB, const VkImageMemoryBarrier *mem_barrier, uint32_t level,
uint32_t layer, VkImageAspectFlags aspect);
-bool ValidateImageLayouts(layer_data *device_data, VkCommandBuffer cmdBuffer, uint32_t memBarrierCount,
- const VkImageMemoryBarrier *pImgMemBarriers);
+bool ValidateBarrierLayoutToImageUsage(layer_data *device_data, const VkImageMemoryBarrier *img_barrier, bool new_not_old,
+ VkImageUsageFlags usage, const char *func_name);
+
+bool ValidateBarriersToImages(layer_data *device_data, VkCommandBuffer cmdBuffer, uint32_t imageMemoryBarrierCount,
+ const VkImageMemoryBarrier *pImageMemoryBarriers, const char *func_name);
void TransitionImageLayouts(layer_data *device_data, VkCommandBuffer cmdBuffer, uint32_t memBarrierCount,
const VkImageMemoryBarrier *pImgMemBarriers);