layers: Record 3D image slice layouts
authorDave Houlton <daveh@lunarg.com>
Thu, 22 Feb 2018 23:25:16 +0000 (16:25 -0700)
committerDave Houlton <daveh@lunarg.com>
Mon, 26 Feb 2018 18:34:00 +0000 (11:34 -0700)
commit6203b40107017fb3f46aad3d136381810715e898
tree2052508e8ffebd6a002017259eba7fb8f15e1496
parenteca86ad03c2f1cb5d3154ed4d227a9731a0503f9
layers: Record 3D image slice layouts

Fixes a bug in image layout state handling that appeared with
khr_maintenance1. When a 3D image which was created with the
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR flag is transitioned
between layouts, we now also record a transition for each depth
slice, treating it as an array layer subresource.

The actual fix is just two lines within TransitionImageLayouts().
Also included are some debug-enabling refactoring to distinguish
layout state updates vs additions, and support for new aspect
mask bits.

Change-Id: Ibb5131a6dba8fcdeafe5e6d94af2decf751842ec
layers/buffer_validation.cpp
layers/buffer_validation.h
layers/core_validation.cpp