Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HansKristian-Work/vkd3d-proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2022-09-29 17:13:51 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2022-09-29 17:13:51 +0300
commit137e9aa78ba176ae6b00812743b00feaef98fe56 (patch)
tree3b9b0542cb79e66972da4b2cdd673a6f1704ac0a
parent0d81c1e6535e0bc957aab043b02911dc01bca7e2 (diff)
vkd3d: Add breadcrumb for partial discard.placed-alias-debug
Useful mostly for debug so we acknowledge there was a discard command (except we cannot transition). Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
-rw-r--r--libs/vkd3d/breadcrumbs.c2
-rw-r--r--libs/vkd3d/command.c4
-rw-r--r--libs/vkd3d/vkd3d_private.h1
3 files changed, 7 insertions, 0 deletions
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