diff --git a/src/virtio/vulkan/vn_command_buffer.c b/src/virtio/vulkan/vn_command_buffer.c index ad3aa627b87..ec537105ccf 100644 --- a/src/virtio/vulkan/vn_command_buffer.c +++ b/src/virtio/vulkan/vn_command_buffer.c @@ -682,7 +682,6 @@ vn_cmd_reset(struct vn_command_buffer *cmd) vn_cs_encoder_reset(&cmd->cs); cmd->state = VN_COMMAND_BUFFER_STATE_INITIAL; - cmd->draw_cmd_batched = 0; /* reset cmd builder */ vk_free(&cmd->pool->allocator, cmd->builder.present_src_images); @@ -1046,14 +1045,6 @@ vn_cmd_submit(struct vn_command_buffer *cmd) } vn_cs_encoder_reset(&cmd->cs); - cmd->draw_cmd_batched = 0; -} - -static inline void -vn_cmd_count_draw_and_submit_on_batch_limit(struct vn_command_buffer *cmd) -{ - if (++cmd->draw_cmd_batched >= vn_env.draw_cmd_batch_limit) - vn_cmd_submit(cmd); } VkResult @@ -1218,9 +1209,6 @@ vn_CmdDraw(VkCommandBuffer commandBuffer, { VN_CMD_ENQUEUE(vkCmdDraw, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -1251,9 +1239,6 @@ vn_CmdDrawIndexed(VkCommandBuffer commandBuffer, { VN_CMD_ENQUEUE(vkCmdDrawIndexed, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -1265,9 +1250,6 @@ vn_CmdDrawIndirect(VkCommandBuffer commandBuffer, { VN_CMD_ENQUEUE(vkCmdDrawIndirect, commandBuffer, buffer, offset, drawCount, stride); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -1279,9 +1261,6 @@ vn_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, { VN_CMD_ENQUEUE(vkCmdDrawIndexedIndirect, commandBuffer, buffer, offset, drawCount, stride); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -1295,9 +1274,6 @@ vn_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, { VN_CMD_ENQUEUE(vkCmdDrawIndirectCount, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -1312,9 +1288,6 @@ vn_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VN_CMD_ENQUEUE(vkCmdDrawIndexedIndirectCount, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -2030,9 +2003,6 @@ vn_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, VN_CMD_ENQUEUE(vkCmdDrawIndirectByteCountEXT, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -2206,9 +2176,6 @@ vn_CmdDrawMultiEXT(VkCommandBuffer commandBuffer, { VN_CMD_ENQUEUE(vkCmdDrawMultiEXT, commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void @@ -2223,9 +2190,6 @@ vn_CmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer, VN_CMD_ENQUEUE(vkCmdDrawMultiIndexedEXT, commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset); - - vn_cmd_count_draw_and_submit_on_batch_limit( - vn_command_buffer_from_handle(commandBuffer)); } void diff --git a/src/virtio/vulkan/vn_command_buffer.h b/src/virtio/vulkan/vn_command_buffer.h index 4e91623ce41..72be264a369 100644 --- a/src/virtio/vulkan/vn_command_buffer.h +++ b/src/virtio/vulkan/vn_command_buffer.h @@ -88,8 +88,6 @@ struct vn_command_buffer { enum vn_command_buffer_state state; struct vn_cs_encoder cs; - uint32_t draw_cmd_batched; - struct vn_command_buffer_builder builder; struct vn_query_feedback_cmd *linked_qfb_cmd; diff --git a/src/virtio/vulkan/vn_common.c b/src/virtio/vulkan/vn_common.c index ade3ae5c429..c791333f73f 100644 --- a/src/virtio/vulkan/vn_common.c +++ b/src/virtio/vulkan/vn_common.c @@ -21,8 +21,6 @@ #include "vn_instance.h" #include "vn_ring.h" -#define VN_RELAX_MIN_BASE_SLEEP_US (160) - static const struct debug_control vn_debug_options[] = { /* clang-format off */ { "init", VN_DEBUG_INIT }, @@ -68,12 +66,6 @@ vn_env_init_once(void) parse_debug_string(os_get_option("VN_DEBUG"), vn_debug_options); vn_env.perf = parse_debug_string(os_get_option("VN_PERF"), vn_perf_options); - vn_env.draw_cmd_batch_limit = - debug_get_num_option("VN_DRAW_CMD_BATCH_LIMIT", UINT32_MAX); - if (!vn_env.draw_cmd_batch_limit) - vn_env.draw_cmd_batch_limit = UINT32_MAX; - vn_env.relax_base_sleep_us = debug_get_num_option( - "VN_RELAX_BASE_SLEEP_US", VN_RELAX_MIN_BASE_SLEEP_US); } void @@ -87,11 +79,8 @@ vn_env_init(void) vn_log(NULL, "vn_env is as below:" "\n\tdebug = 0x%" PRIx64 "" - "\n\tperf = 0x%" PRIx64 "" - "\n\tdraw_cmd_batch_limit = %u" - "\n\trelax_base_sleep_us = %u", - vn_env.debug, vn_env.perf, vn_env.draw_cmd_batch_limit, - vn_env.relax_base_sleep_us); + "\n\tperf = 0x%" PRIx64 "", + vn_env.debug, vn_env.perf); } } @@ -218,7 +207,7 @@ vn_relax(struct vn_relax_state *state) * Must also update pre-calculated "first_warn_time" in vn_relax_init(). */ const uint32_t busy_wait_order = 8; - const uint32_t base_sleep_us = vn_env.relax_base_sleep_us; + const uint32_t base_sleep_us = 160; const uint32_t warn_order = 12; const uint32_t abort_order = 16; diff --git a/src/virtio/vulkan/vn_common.h b/src/virtio/vulkan/vn_common.h index e6cf6781448..a0267b87c73 100644 --- a/src/virtio/vulkan/vn_common.h +++ b/src/virtio/vulkan/vn_common.h @@ -182,9 +182,6 @@ struct vn_refcount { struct vn_env { uint64_t debug; uint64_t perf; - /* zero will be overridden to UINT32_MAX as no limit */ - uint32_t draw_cmd_batch_limit; - uint32_t relax_base_sleep_us; }; extern struct vn_env vn_env;