summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Zulauf <jzulauf@lunarg.com>2020-07-29 13:38:04 -0600
committerJohn Zulauf <jzulauf@lunarg.com>2020-07-29 14:13:37 -0600
commit98d677ef26def35a355df63e92befb4bf75e0243 (patch)
tree34ebb67a4aeb5663f123b0c05e90a0422eca287b
parent00e1175b7dcd01be9b13c8fe852af68a916f45e6 (diff)
Cause buffer_update to emit error if called during compute/draw list
Add error message to buffer update if a compute or draw list is active.
-rw-r--r--drivers/vulkan/rendering_device_vulkan.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp
index fb890491a4..4c2341a5a0 100644
--- a/drivers/vulkan/rendering_device_vulkan.cpp
+++ b/drivers/vulkan/rendering_device_vulkan.cpp
@@ -1491,6 +1491,10 @@ Error RenderingDeviceVulkan::_staging_buffer_allocate(uint32_t p_amount, uint32_
}
Error RenderingDeviceVulkan::_buffer_update(Buffer *p_buffer, size_t p_offset, const uint8_t *p_data, size_t p_data_size, bool p_use_draw_command_buffer, uint32_t p_required_align) {
+ // Buffer update not valid during draw or compute lists
+ ERR_FAIL_COND_V_MSG(draw_list != nullptr, ERR_BUG, "Buffer update not valid when draw list is active.");
+ ERR_FAIL_COND_V_MSG(compute_list != nullptr, ERR_BUG, "Buffer update not valid when compute list is active.");
+
//submitting may get chunked for various reasons, so convert this to a task
size_t to_submit = p_data_size;
size_t submit_from = 0;