}
/* expects global_lock to be held by caller */
-static bool markStoreImagesAndBuffersAsWritten(layer_data *dev_data, GLOBAL_CB_NODE *pCB) {
- bool skip_call = false;
-
+static void MarkStoreImagesAndBuffersAsWritten(layer_data *dev_data, GLOBAL_CB_NODE *pCB) {
for (auto imageView : pCB->updateImages) {
auto view_state = getImageViewState(dev_data, imageView);
if (!view_state)
};
pCB->validate_functions.push_back(function);
}
- return skip_call;
}
VKAPI_ATTR void VKAPI_CALL CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount,
skip_call |= addCmd(dev_data, pCB, CMD_DRAW, "vkCmdDraw()");
pCB->drawCount[DRAW]++;
skip_call |= validate_and_update_draw_state(dev_data, pCB, false, VK_PIPELINE_BIND_POINT_GRAPHICS, "vkCmdDraw");
- skip_call |= markStoreImagesAndBuffersAsWritten(dev_data, pCB);
+ MarkStoreImagesAndBuffersAsWritten(dev_data, pCB);
// TODO : Need to pass commandBuffer as srcObj here
skip_call |=
log_msg(dev_data->report_data, VK_DEBUG_REPORT_INFORMATION_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, 0,
skip_call |= addCmd(dev_data, pCB, CMD_DRAWINDEXED, "vkCmdDrawIndexed()");
pCB->drawCount[DRAW_INDEXED]++;
skip_call |= validate_and_update_draw_state(dev_data, pCB, true, VK_PIPELINE_BIND_POINT_GRAPHICS, "vkCmdDrawIndexed");
- skip_call |= markStoreImagesAndBuffersAsWritten(dev_data, pCB);
+ MarkStoreImagesAndBuffersAsWritten(dev_data, pCB);
// TODO : Need to pass commandBuffer as srcObj here
skip_call |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, 0, __LINE__, DRAWSTATE_NONE, "DS",
skip_call |= addCmd(dev_data, cb_node, CMD_DRAWINDIRECT, "vkCmdDrawIndirect()");
cb_node->drawCount[DRAW_INDIRECT]++;
skip_call |= validate_and_update_draw_state(dev_data, cb_node, false, VK_PIPELINE_BIND_POINT_GRAPHICS, "vkCmdDrawIndirect");
- skip_call |= markStoreImagesAndBuffersAsWritten(dev_data, cb_node);
+ MarkStoreImagesAndBuffersAsWritten(dev_data, cb_node);
// TODO : Need to pass commandBuffer as srcObj here
skip_call |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, 0, __LINE__, DRAWSTATE_NONE, "DS",
cb_node->drawCount[DRAW_INDEXED_INDIRECT]++;
skip_call |=
validate_and_update_draw_state(dev_data, cb_node, true, VK_PIPELINE_BIND_POINT_GRAPHICS, "vkCmdDrawIndexedIndirect");
- skip_call |= markStoreImagesAndBuffersAsWritten(dev_data, cb_node);
+ MarkStoreImagesAndBuffersAsWritten(dev_data, cb_node);
// TODO : Need to pass commandBuffer as srcObj here
skip_call |=
log_msg(dev_data->report_data, VK_DEBUG_REPORT_INFORMATION_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, 0,
GLOBAL_CB_NODE *pCB = getCBNode(dev_data, commandBuffer);
if (pCB) {
skip_call |= validate_and_update_draw_state(dev_data, pCB, false, VK_PIPELINE_BIND_POINT_COMPUTE, "vkCmdDispatch");
- skip_call |= markStoreImagesAndBuffersAsWritten(dev_data, pCB);
+ MarkStoreImagesAndBuffersAsWritten(dev_data, pCB);
skip_call |= addCmd(dev_data, pCB, CMD_DISPATCH, "vkCmdDispatch()");
skip_call |= insideRenderPass(dev_data, pCB, "vkCmdDispatch()", VALIDATION_ERROR_01562);
}
AddCommandBufferBindingBuffer(dev_data, cb_node, buffer_state);
skip_call |=
validate_and_update_draw_state(dev_data, cb_node, false, VK_PIPELINE_BIND_POINT_COMPUTE, "vkCmdDispatchIndirect");
- skip_call |= markStoreImagesAndBuffersAsWritten(dev_data, cb_node);
+ MarkStoreImagesAndBuffersAsWritten(dev_data, cb_node);
skip_call |= addCmd(dev_data, cb_node, CMD_DISPATCHINDIRECT, "vkCmdDispatchIndirect()");
skip_call |= insideRenderPass(dev_data, cb_node, "vkCmdDispatchIndirect()", VALIDATION_ERROR_01569);
}