venus: add VN_PERF_NO_CMD_BATCHING

Make it easier to debug object lifetime issues in Venus.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19830>
This commit is contained in:
Yiwei Zhang 2022-11-17 21:53:57 +00:00 committed by Marge Bot
parent 739b20beda
commit c2fdd6a2c2
3 changed files with 8 additions and 0 deletions

View file

@ -18,6 +18,9 @@
#include "vn_image.h"
#include "vn_render_pass.h"
static void
vn_cmd_submit(struct vn_command_buffer *cmd);
#define VN_CMD_ENQUEUE(cmd_name, commandBuffer, ...) \
do { \
struct vn_command_buffer *_cmd = \
@ -28,6 +31,9 @@
vn_encode_##cmd_name(&_cmd->cs, 0, commandBuffer, ##__VA_ARGS__); \
else \
_cmd->state = VN_COMMAND_BUFFER_STATE_INVALID; \
\
if (VN_PERF(NO_CMD_BATCHING)) \
vn_cmd_submit(_cmd); \
} while (0)
static bool

View file

@ -39,6 +39,7 @@ static const struct debug_control vn_perf_options[] = {
{ "no_event_feedback", VN_PERF_NO_EVENT_FEEDBACK },
{ "no_fence_feedback", VN_PERF_NO_FENCE_FEEDBACK },
{ "no_memory_suballoc", VN_PERF_NO_MEMORY_SUBALLOC },
{ "no_cmd_batching", VN_PERF_NO_CMD_BATCHING },
{ NULL, 0 },
/* clang-format on */
};

View file

@ -110,6 +110,7 @@ enum vn_perf {
VN_PERF_NO_EVENT_FEEDBACK = 1ull << 3,
VN_PERF_NO_FENCE_FEEDBACK = 1ull << 4,
VN_PERF_NO_MEMORY_SUBALLOC = 1ull << 5,
VN_PERF_NO_CMD_BATCHING = 1ull << 6,
};
typedef uint64_t vn_object_id;