summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2020-10-19 14:10:41 -0300
committerGitHub <noreply@github.com>2020-10-19 14:10:41 -0300
commit5f65eba5c45e97b670a5b02bede10ee8cf085d2c (patch)
treec2494e9df8a17e28c1bf52dc43e99e1ce1eb71be
parentf9918cbc0e73c1ef8823e4067d8d160d0566ce8f (diff)
parent98d677ef26def35a355df63e92befb4bf75e0243 (diff)
Merge pull request #40849 from jzulauf-lunarg/zulauf_buffer_update_err_msg
Cause buffer_update to emit error if called during compute/draw list
-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 a01f63caae..08aadb82af 100644
--- a/drivers/vulkan/rendering_device_vulkan.cpp
+++ b/drivers/vulkan/rendering_device_vulkan.cpp
@@ -1542,6 +1542,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;