From 137e9aa78ba176ae6b00812743b00feaef98fe56 Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Thu, 29 Sep 2022 16:13:51 +0200 Subject: vkd3d: Add breadcrumb for partial discard. Useful mostly for debug so we acknowledge there was a discard command (except we cannot transition). Signed-off-by: Hans-Kristian Arntzen --- libs/vkd3d/breadcrumbs.c | 2 ++ libs/vkd3d/command.c | 4 ++++ libs/vkd3d/vkd3d_private.h | 1 + 3 files changed, 7 insertions(+) diff --git a/libs/vkd3d/breadcrumbs.c b/libs/vkd3d/breadcrumbs.c index 2917b227..0bf38755 100644 --- a/libs/vkd3d/breadcrumbs.c +++ b/libs/vkd3d/breadcrumbs.c @@ -104,6 +104,8 @@ static const char *vkd3d_breadcrumb_command_type_to_str(enum vkd3d_breadcrumb_co return "clear_dsv"; case VKD3D_BREADCRUMB_COMMAND_DISCARD: return "discard"; + case VKD3D_BREADCRUMB_COMMAND_DISCARD_PARTIAL: + return "discard_partial"; default: return "?"; diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 50148387..9072a524 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -9579,7 +9579,11 @@ static void STDMETHODCALLTYPE d3d12_command_list_DiscardResource(d3d12_command_l } if (!full_discard) + { + VKD3D_BREADCRUMB_COOKIE(texture->res.cookie); + VKD3D_BREADCRUMB_COMMAND_STATE(DISCARD_PARTIAL); return; + } /* Resource tracking. If we do a full discard, there is no need to do initial layout transitions. * Partial discards on first resource use needs to be handles however, diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 77823f2d..28337fec 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -2768,6 +2768,7 @@ enum vkd3d_breadcrumb_command_type VKD3D_BREADCRUMB_COMMAND_CLEAR_RTV, VKD3D_BREADCRUMB_COMMAND_CLEAR_DSV, VKD3D_BREADCRUMB_COMMAND_DISCARD, + VKD3D_BREADCRUMB_COMMAND_DISCARD_PARTIAL, }; #ifdef VKD3D_ENABLE_BREADCRUMBS -- cgit v1.2.3