SetImageMemoryValid(dev_data, image_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
for (uint32_t i = 0; i < rangeCount; ++i) {
RecordClearImageLayout(dev_data, cb_node, image, pRanges[i], imageLayout);
}
AddCommandBufferBindingImage(device_data, cb_node, src_image_state);
AddCommandBufferBindingImage(device_data, cb_node, dst_image_state);
std::function<bool()> function = [=]() { return ValidateImageMemoryIsValid(device_data, src_image_state, "vkCmdCopyImage()"); };
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
function = [=]() {
SetImageMemoryValid(device_data, dst_image_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
// Returns true if sub_rect is entirely contained within rect
std::function<bool()> function = [=]() {
return ValidateImageMemoryIsValid(device_data, src_image_state, "vkCmdResolveImage()");
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
function = [=]() {
SetImageMemoryValid(device_data, dst_image_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
bool PreCallValidateCmdBlitImage(layer_data *device_data, GLOBAL_CB_NODE *cb_node, IMAGE_STATE *src_image_state,
AddCommandBufferBindingImage(device_data, cb_node, dst_image_state);
std::function<bool()> function = [=]() { return ValidateImageMemoryIsValid(device_data, src_image_state, "vkCmdBlitImage()"); };
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
function = [=]() {
SetImageMemoryValid(device_data, dst_image_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
// This validates that the initial layout specified in the command buffer for
std::function<bool()> function = [=]() {
return ValidateBufferMemoryIsValid(device_data, src_buffer_state, "vkCmdCopyBuffer()");
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
function = [=]() {
SetBufferMemoryValid(device_data, dst_buffer_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
static bool validateIdleBuffer(layer_data *device_data, VkBuffer buffer) {
SetBufferMemoryValid(device_data, buffer_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
// Update bindings between buffer and cmd buffer
AddCommandBufferBindingBuffer(device_data, cb_node, buffer_state);
}
std::function<bool()> function = [=]() {
return ValidateImageMemoryIsValid(device_data, src_image_state, "vkCmdCopyImageToBuffer()");
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
function = [=]() {
SetBufferMemoryValid(device_data, dst_buffer_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
bool PreCallValidateCmdCopyBufferToImage(layer_data *device_data, VkImageLayout dstImageLayout, GLOBAL_CB_NODE *cb_node,
SetImageMemoryValid(device_data, dst_image_state, true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
function = [=]() { return ValidateBufferMemoryIsValid(device_data, src_buffer_state, "vkCmdCopyBufferToImage()"); };
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
bool PreCallValidateGetImageSubresourceLayout(layer_data *device_data, VkImage image, const VkImageSubresource *pSubresource) {
pCB->updateImages.clear();
pCB->updateBuffers.clear();
clear_cmd_buf_and_mem_references(dev_data, pCB);
- pCB->validate_functions.clear();
+ pCB->queue_submit_functions.clear();
pCB->cmd_execute_commands_functions.clear();
pCB->eventUpdates.clear();
pCB->queryUpdates.clear();
}
// Call submit-time functions to validate/update state
- for (auto &function : cb_node->validate_functions) {
+ for (auto &function : cb_node->queue_submit_functions) {
skip |= function();
}
for (auto &function : cb_node->eventUpdates) {
std::function<bool()> function = [=]() {
return ValidateBufferMemoryIsValid(dev_data, buffer_state, "vkCmdBindIndexBuffer()");
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
VkDeviceSize offset_align = 0;
switch (indexType) {
case VK_INDEX_TYPE_UINT16:
std::function<bool()> function = [=]() {
return ValidateBufferMemoryIsValid(dev_data, buffer_state, "vkCmdBindVertexBuffers()");
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
if (pOffsets[i] >= buffer_state->createInfo.size) {
skip |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
HandleToUint64(buffer_state->buffer), __LINE__, VALIDATION_ERROR_182004e4, "DS",
SetImageMemoryValid(dev_data, image_state, true);
return false;
};
- pCB->validate_functions.push_back(function);
+ pCB->queue_submit_functions.push_back(function);
}
for (auto buffer : pCB->updateBuffers) {
auto buffer_state = GetBufferState(dev_data, buffer);
SetBufferMemoryValid(dev_data, buffer_state, true);
return false;
};
- pCB->validate_functions.push_back(function);
+ pCB->queue_submit_functions.push_back(function);
}
}
SetBufferMemoryValid(device_data, dst_buffer_state, true);
return false;
};
- cb_state->validate_functions.push_back(function);
+ cb_state->queue_submit_functions.push_back(function);
}
VKAPI_ATTR void VKAPI_CALL CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset,
lock.lock();
if (cb_node && dst_buff_state) {
AddCommandBufferBindingBuffer(dev_data, cb_node, dst_buff_state);
- cb_node->validate_functions.emplace_back([=]() {
+ cb_node->queue_submit_functions.emplace_back([=]() {
SetBufferMemoryValid(dev_data, dst_buff_state, true);
return false;
});
SetImageMemoryValid(dev_data, GetImageState(dev_data, fb_info.image), true);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
} else if (FormatSpecificLoadAndStoreOpSettings(pAttachment->format, pAttachment->loadOp,
pAttachment->stencilLoadOp, VK_ATTACHMENT_LOAD_OP_DONT_CARE)) {
std::function<bool()> function = [=]() {
SetImageMemoryValid(dev_data, GetImageState(dev_data, fb_info.image), false);
return false;
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
} else if (FormatSpecificLoadAndStoreOpSettings(pAttachment->format, pAttachment->loadOp,
pAttachment->stencilLoadOp, VK_ATTACHMENT_LOAD_OP_LOAD)) {
std::function<bool()> function = [=]() {
return ValidateImageMemoryIsValid(dev_data, GetImageState(dev_data, fb_info.image),
"vkCmdBeginRenderPass()");
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
if (render_pass_state->attachment_first_read[i]) {
std::function<bool()> function = [=]() {
return ValidateImageMemoryIsValid(dev_data, GetImageState(dev_data, fb_info.image),
"vkCmdBeginRenderPass()");
};
- cb_node->validate_functions.push_back(function);
+ cb_node->queue_submit_functions.push_back(function);
}
}
if (clear_op_size > pRenderPassBegin->clearValueCount) {
SetImageMemoryValid(dev_data, GetImageState(dev_data, fb_info.image), true);
return false;
};
- pCB->validate_functions.push_back(function);
+ pCB->queue_submit_functions.push_back(function);
} else if (FormatSpecificLoadAndStoreOpSettings(pAttachment->format, pAttachment->storeOp,
pAttachment->stencilStoreOp, VK_ATTACHMENT_STORE_OP_DONT_CARE)) {
std::function<bool()> function = [=]() {
SetImageMemoryValid(dev_data, GetImageState(dev_data, fb_info.image), false);
return false;
};
- pCB->validate_functions.push_back(function);
+ pCB->queue_submit_functions.push_back(function);
}
}
}