diff options
| author | Tobin Ehlis <tobine@google.com> | 2016-11-16 08:57:22 -0700 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2016-11-17 15:34:38 -0700 |
| commit | 9812cc645dabc5e71b5fa5bffed61851e46973dd (patch) | |
| tree | b27e8de716b9ac5648454920336ef9f4caf8b648 /layers/core_validation.cpp | |
| parent | ea5769bf2204f1486243bb33402c592c71111691 (diff) | |
| download | usermoji-9812cc645dabc5e71b5fa5bffed61851e46973dd.tar.xz | |
layers:Save memory requirements
Add memory requirements member to the BINDABLE class and save memory
requirements for images and buffers in their respective
Get*MemoryRequirements() functions.
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index ea608367..ff340334 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -5957,18 +5957,22 @@ BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory mem, VkDeviceS VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements) { - layer_data *my_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); - // TODO : What to track here? - // Could potentially save returned mem requirements and validate values passed into BindBufferMemory - my_data->dispatch_table.GetBufferMemoryRequirements(device, buffer, pMemoryRequirements); + layer_data *dev_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); + dev_data->dispatch_table.GetBufferMemoryRequirements(device, buffer, pMemoryRequirements); + auto buffer_state = getBufferNode(dev_data, buffer); + if (buffer_state) { + buffer_state->requirements = *pMemoryRequirements; + } } VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements) { - layer_data *my_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); - // TODO : What to track here? - // Could potentially save returned mem requirements and validate values passed into BindImageMemory - my_data->dispatch_table.GetImageMemoryRequirements(device, image, pMemoryRequirements); + layer_data *dev_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); + dev_data->dispatch_table.GetImageMemoryRequirements(device, image, pMemoryRequirements); + auto image_state = getImageState(dev_data, image); + if (image_state) { + image_state->requirements = *pMemoryRequirements; + } } static bool PreCallValidateDestroyImageView(layer_data *dev_data, VkImageView image_view, IMAGE_VIEW_STATE **image_view_state, |
