diff options
| author | Karl Schultz <karl@lunarg.com> | 2016-12-09 16:34:16 -0700 |
|---|---|---|
| committer | Karl Schultz <karl@lunarg.com> | 2016-12-12 09:29:43 -0700 |
| commit | dba95552978423417af16ecf6e473d9773c7d76a (patch) | |
| tree | dbc4d1dabf9548e92b1284dd85e8c1b164fa029e /layers/core_validation.cpp | |
| parent | 12b2d4e319532977607a2c3e294095375c13cf87 (diff) | |
| download | usermoji-dba95552978423417af16ecf6e473d9773c7d76a.tar.xz | |
layers: Use resolved range to avoid long loops
Fixes #1251.
Use the resolvedRange instead of the raw range, which
could include VK_REMAINING_MIP_LEVELS and/or
VK_REMAINING_ARRAY_LAYERS, which are really big numbers.
This fixes a near-infinite loop issue when running the
input_attachment sample with validation.
Change-Id: I250118db74a6faaecd2b3cd4cb43f44c07ae436d
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 647e2090..4ebdf12c 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -8272,11 +8272,11 @@ static bool VerifyClearImageLayout(layer_data *dev_data, GLOBAL_CB_NODE *cb_node } } - for (uint32_t levelIdx = 0; levelIdx < range.levelCount; ++levelIdx) { - uint32_t level = levelIdx + range.baseMipLevel; - for (uint32_t layerIdx = 0; layerIdx < range.layerCount; ++layerIdx) { - uint32_t layer = layerIdx + range.baseArrayLayer; - VkImageSubresource sub = {range.aspectMask, level, layer}; + for (uint32_t levelIdx = 0; levelIdx < resolvedRange.levelCount; ++levelIdx) { + uint32_t level = levelIdx + resolvedRange.baseMipLevel; + for (uint32_t layerIdx = 0; layerIdx < resolvedRange.layerCount; ++layerIdx) { + uint32_t layer = layerIdx + resolvedRange.baseArrayLayer; + VkImageSubresource sub = {resolvedRange.aspectMask, level, layer}; IMAGE_CMD_BUF_LAYOUT_NODE node; if (!FindLayout(cb_node, image, sub, node)) { SetLayout(cb_node, image, sub, IMAGE_CMD_BUF_LAYOUT_NODE(dest_image_layout, dest_image_layout)); |
