layers: Add support code to handle in_use for missing objects
authorTobin Ehlis <tobine@google.com>
Wed, 14 Sep 2016 17:21:55 +0000 (11:21 -0600)
committerTobin Ehlis <tobine@google.com>
Thu, 22 Sep 2016 13:21:24 +0000 (07:21 -0600)
commit7e5c0c26004626cf6826dfe2779a738a1f9f1fff
tree12898c166699fdfe293f72e0daefb7b7a4e977d8
parent39267c0c27b8f032f05a6747eb02d4508247fdc1
layers: Add support code to handle in_use for missing objects

Add case block to in-use Increment/Decrement functions to handle the missing
object types that may be bound to a command buffer. The actual bindings for
these missing types will be added in a future commit.
Here are the types that were added:
VkBufferView
VkImageView
VkDescriptorPool
VkCommandPool
VkFramebuffer
VkRenderPass
VkDeviceMemory

Also added new error enums for all of these type except RENDERPASS which already
had an appropriate error enum.

Unify object BASE_NODE look-up for removeCommandBufferBinding() and
DecrementBoundResources() to use common GetStateStructPtrFromObject() function.

Finally, had to update the state-wrapping class for DescriptorPool, DeviceMemory
and RenderPass to derive from BASE_NODE so that in_use can be tracked.
layers/core_validation.cpp
layers/core_validation.h
layers/core_validation_error_enums.h
layers/core_validation_types.h
layers/vk_validation_layer_details.md