From 969a494792aaaf70e5a532e41236f684101f9fcf Mon Sep 17 00:00:00 2001 From: JerryAMD Date: Mon, 20 Jan 2025 13:25:04 -0500 Subject: [PATCH 1/7] Enable AGS Markers to Replay --- framework/decode/CMakeLists.txt | 2 + .../decode/custom_ags_replay_consumer.cpp | 1 + .../decode/dx12_replay_consumer_base.cpp | 103 ++++++++++-- framework/decode/dx12_replay_consumer_base.h | 4 + framework/decode/dx_replay_options.h | 3 +- framework/decode/gpu_cmd_wrapper.cpp | 107 +++++++++++++ framework/decode/gpu_cmd_wrapper.h | 56 +++++++ framework/decode/handle_pointer_decoder.h | 9 ++ .../dx12_replay_consumer_body_generator.py | 9 ++ .../generated_dx12_replay_consumer.cpp | 151 ++++++++++++++++++ framework/graphics/CMakeLists.txt | 2 + .../graphics/dx12_ags_marker_injector.cpp | 117 ++++++++++++++ framework/graphics/dx12_ags_marker_injector.h | 53 ++++++ framework/graphics/dx12_util.h | 6 +- tools/replay/replay_settings.h | 10 +- tools/tool_settings.h | 8 +- 16 files changed, 621 insertions(+), 20 deletions(-) create mode 100644 framework/decode/gpu_cmd_wrapper.cpp create mode 100644 framework/decode/gpu_cmd_wrapper.h create mode 100644 framework/graphics/dx12_ags_marker_injector.cpp create mode 100644 framework/graphics/dx12_ags_marker_injector.h diff --git a/framework/decode/CMakeLists.txt b/framework/decode/CMakeLists.txt index b43e3f45cb..ecb4e514d1 100644 --- a/framework/decode/CMakeLists.txt +++ b/framework/decode/CMakeLists.txt @@ -143,6 +143,8 @@ target_sources(gfxrecon_decode $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_descriptor_map.cpp> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_tracking_consumer.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_tracking_consumer.cpp> + $<$:${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.h> + $<$:${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.cpp> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_tracked_object_info_table.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_browse_consumer.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_dump_resources.h> diff --git a/framework/decode/custom_ags_replay_consumer.cpp b/framework/decode/custom_ags_replay_consumer.cpp index 846523310a..b92bbb2a75 100644 --- a/framework/decode/custom_ags_replay_consumer.cpp +++ b/framework/decode/custom_ags_replay_consumer.cpp @@ -163,6 +163,7 @@ void AgsReplayConsumer::Process_agsInitialize(const ApiCallInfo& call_info, if (result == AGS_SUCCESS) { context_map_[context] = replay_context; + dx12_replay_consumer_->SetAgsMarkerInjector(replay_context); } CheckReplayResult("Process_agsInitialize", return_value, result); diff --git a/framework/decode/dx12_replay_consumer_base.cpp b/framework/decode/dx12_replay_consumer_base.cpp index 2dff5f13f6..c94d6889ec 100644 --- a/framework/decode/dx12_replay_consumer_base.cpp +++ b/framework/decode/dx12_replay_consumer_base.cpp @@ -1,6 +1,6 @@ /* ** Copyright (c) 2021-2023 LunarG, Inc. -** Copyright (c) 2021-2023 Advanced Micro Devices, Inc. All rights reserved. +** Copyright (c) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), @@ -75,11 +75,10 @@ void InitialResourceExtraInfo(HandlePointerDecoder* resource_decoder, Dx12ReplayConsumerBase::Dx12ReplayConsumerBase(std::shared_ptr application, const DxReplayOptions& options) : - application_(application), - options_(options), current_message_length_(0), info_queue_(nullptr), resource_data_util_(nullptr), - frame_buffer_renderer_(nullptr), debug_layer_enabled_(false), set_auto_breadcrumbs_enablement_(false), - set_breadcrumb_context_enablement_(false), set_page_fault_enablement_(false), loading_trim_state_(false), - fps_info_(nullptr), frame_end_marker_count_(0) + application_(application), options_(options), current_message_length_(0), info_queue_(nullptr), + resource_data_util_(nullptr), frame_buffer_renderer_(nullptr), debug_layer_enabled_(false), + set_auto_breadcrumbs_enablement_(false), set_breadcrumb_context_enablement_(false), + set_page_fault_enablement_(false), loading_trim_state_(false), fps_info_(nullptr), frame_end_marker_count_(0) { if (options_.enable_validation_layer) { @@ -118,6 +117,8 @@ Dx12ReplayConsumerBase::Dx12ReplayConsumerBase(std::shared_ptr(get_object_func, shader_id_map_, gpu_va_map_, descriptor_map_); } +void Dx12ReplayConsumerBase::SetAgsMarkerInjector(AGSContext* ags_context) +{ + if (options_.ags_inject_markers) + { + ags_marker_injector_ = graphics::Dx12AgsMarkerInjector::Create(); + + if (ags_marker_injector_ != nullptr) + { + AGSConfiguration ags_config = {}; + AGSGPUInfo ags_gpu_info = {}; + + if (ags_context == nullptr) + { + AGSReturnCode ags_return = + agsInitialize(AGS_MAKE_VERSION(AMD_AGS_VERSION_MAJOR, AMD_AGS_VERSION_MINOR, AMD_AGS_VERSION_PATCH), + &ags_config, + &ags_context, + &ags_gpu_info); + + if (ags_return != AGS_SUCCESS) + { + GFXRECON_LOG_WARNING("Failed to initialize AGS. Marker injection disabled."); + + options_.ags_inject_markers = false; + ags_marker_injector_ = nullptr; + } + } + if (ags_context != nullptr) + { + ags_marker_injector_->SetContext(ags_context); + } + } + } +} + void Dx12ReplayConsumerBase::EnableDebugLayer(ID3D12Debug* dx12_debug) { if (!debug_layer_enabled_) @@ -390,7 +426,7 @@ void Dx12ReplayConsumerBase::ApplyBatchedResourceInitInfo( // 2. One ExecuteCommandLists could work for only one swapchain buffer. // 3. The current back buffer index has to match the swapchain buffer. // 4. After ExecuteCommandLists, the current back buffer index has to back init. - // 5. It shouldn't change resource states until all Presnt are done since Present require + // 5. It shouldn't change resource states until all Presnt are done since Present require // D3D12_RESOURCE_STATE_PRESENT. The before_states supposes to be PRESENT. // Although it has only one swapchain mostly, it probably has a plural in some cases. @@ -404,7 +440,7 @@ void Dx12ReplayConsumerBase::ApplyBatchedResourceInitInfo( auto swapchain = reinterpret_cast(swapchain_info->object); swapchain_infos[swapchain] = swapchain_extra_info; - for (auto &state : resource_info.second->before_states) + for (auto& state : resource_info.second->before_states) { if (state.states != D3D12_RESOURCE_STATE_PRESENT) { @@ -1078,8 +1114,53 @@ HRESULT Dx12ReplayConsumerBase::OverrideD3D12CreateDevice(HRESULT IUnknown* adapter = GetCreateDeviceAdapter(adapter_info); - auto replay_result = - D3D12CreateDevice(adapter, minimum_feature_level, *riid.decoded_value, device->GetHandlePointer()); + auto replay_result = E_FAIL; + + if (options_.ags_inject_markers) + { + AGSDX12DeviceCreationParams creation_params = {}; + creation_params.pAdapter = GetAdapter(); + creation_params.iid = IID_ID3D12Device; + creation_params.FeatureLevel = minimum_feature_level; + + AGSDX12ExtensionParams extension_params = {}; + AGSDX12ReturnedParams returned_params = {}; + + // Create AGS device for marker injection + AGSReturnCode ags_return = agsDriverExtensionsDX12_CreateDevice( + ags_marker_injector_->Context(), &creation_params, &extension_params, &returned_params); + + if (ags_return == AGS_SUCCESS) + { + GFXRECON_LOG_DEBUG("Created AGS device."); + + device->SetHandlePointerData(returned_params.pDevice); + + replay_result = S_OK; + + if (returned_params.extensionsSupported.userMarkers == 0) + { + GFXRECON_LOG_WARNING("Device does not support the AGS marker extension. Marker injection disabled."); + + options_.ags_inject_markers = false; + } + } + else + { + GFXRECON_LOG_WARNING("Failed to create AGS device, so falling back to creation of regular ID3D12Device. " + "Marker injection disabled."); + + options_.ags_inject_markers = false; + + replay_result = + D3D12CreateDevice(adapter, minimum_feature_level, *riid.decoded_value, device->GetHandlePointer()); + } + } + else + { + replay_result = + D3D12CreateDevice(adapter, minimum_feature_level, *riid.decoded_value, device->GetHandlePointer()); + } if (SUCCEEDED(replay_result) && !device->IsNull()) { @@ -4633,7 +4714,7 @@ void Dx12ReplayConsumerBase::PostCall_ID3D12Device_CreateShaderResourceView( } else { - srv_info.desc = *(pDesc->GetMetaStructPointer()->decoded_value); + srv_info.desc = *(pDesc->GetMetaStructPointer()->decoded_value); srv_info.is_desc_null = false; if (options_.enable_dump_resources) diff --git a/framework/decode/dx12_replay_consumer_base.h b/framework/decode/dx12_replay_consumer_base.h index 51497798a9..ef9e9bc641 100644 --- a/framework/decode/dx12_replay_consumer_base.h +++ b/framework/decode/dx12_replay_consumer_base.h @@ -40,6 +40,7 @@ #include "decode/screenshot_handler_base.h" #include "graphics/fps_info.h" #include "graphics/dx12_util.h" +#include "graphics/dx12_ags_marker_injector.h" #include "application/application.h" #include @@ -64,6 +65,8 @@ class Dx12ReplayConsumerBase : public Dx12Consumer gfxrecon::util::filepath::CheckReplayerName(info_record.AppName); } + void SetAgsMarkerInjector(AGSContext* ags_context = nullptr); + void SetFatalErrorHandler(std::function handler) { fatal_error_handler_ = handler; } void SetFpsInfo(graphics::FpsInfo* fps_info) { fps_info_ = fps_info; } @@ -1170,6 +1173,7 @@ class Dx12ReplayConsumerBase : public Dx12Consumer std::unique_ptr screenshot_handler_; std::unordered_map resource_init_infos_; uint64_t frame_end_marker_count_; + graphics::Dx12AgsMarkerInjector* ags_marker_injector_{ nullptr }; }; GFXRECON_END_NAMESPACE(decode) diff --git a/framework/decode/dx_replay_options.h b/framework/decode/dx_replay_options.h index af40732ff6..8085d68389 100644 --- a/framework/decode/dx_replay_options.h +++ b/framework/decode/dx_replay_options.h @@ -1,7 +1,7 @@ /* ** Copyright (c) 2019-2020 Valve Corporation ** Copyright (c) 2019-2021 LunarG, Inc. -** Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +** Copyright (c) 2023-2025 Advanced Micro Devices, Inc. All rights reserved. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), @@ -54,6 +54,7 @@ struct DxReplayOptions : public ReplayOptions std::vector AllowedDebugMessages; std::vector DeniedDebugMessages; bool override_object_names{ false }; + bool ags_inject_markers{ false }; bool enable_dump_resources{ false }; DumpResourcesTarget dump_resources_target{}; int32_t memory_usage{ kDefaultBatchingMemoryUsage }; diff --git a/framework/decode/gpu_cmd_wrapper.cpp b/framework/decode/gpu_cmd_wrapper.cpp new file mode 100644 index 0000000000..87676c4d89 --- /dev/null +++ b/framework/decode/gpu_cmd_wrapper.cpp @@ -0,0 +1,107 @@ +/* +** Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and associated documentation files (the "Software"), +** to deal in the Software without restriction, including without limitation +** the rights to use, copy, modify, merge, publish, distribute, sublicense, +** and/or sell copies of the Software, and to permit persons to whom the +** Software is furnished to do so, subject to the following conditions: +** +** The above copyright notice and this permission notice shall be included in +** all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +** FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** DEALINGS IN THE SOFTWARE. +*/ + +#include "decode/gpu_cmd_wrapper.h" + +#include "generated/generated_dx12_call_id_to_string.h" +#include "graphics/dx12_ags_marker_injector.h" + +#include +#include + +GFXRECON_BEGIN_NAMESPACE(gfxrecon) +GFXRECON_BEGIN_NAMESPACE(decode) + +GpuCmdWrapper::GpuCmdWrapper(DxReplayOptions* options, + ID3D12GraphicsCommandList* command_list, + format::HandleId capture_id, + format::ApiCallId call_id, + uint64_t block_idx) +{ + if ((options != nullptr)) + { + current_options = options; + + if (current_options->ags_inject_markers) + { + if (command_list != nullptr) + { + current_command_list = command_list; + + if (call_id == format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginEvent || + call_id == format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndEvent || + call_id == format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetMarker) + { + bypass_marker_ = true; + } + + if (bypass_marker_ == false) + { + graphics::Dx12AgsMarkerInjector* injector = graphics::Dx12AgsMarkerInjector::Get(); + + if (injector != nullptr) + { + std::wstring api_id_w = gfxrecon::util::GetDx12CallIdString(call_id); + + std::wstring_convert, wchar_t> temp_convert; + std::string api_id = temp_convert.to_bytes(api_id_w); + + std::string marker_str = "gfxr_cmd_list_"; + marker_str.append(std::to_string(capture_id)); + marker_str.append(" - "); + marker_str.append(api_id); + marker_str.append(" - "); + marker_str.append("block_idx_"); + marker_str.append(std::to_string(block_idx)); + + injector->PushMarker(current_command_list, marker_str); + } + } + } + } + } +} + +GpuCmdWrapper::~GpuCmdWrapper() +{ + if (current_options != nullptr) + { + if (current_options->ags_inject_markers) + { + if (current_command_list != nullptr) + { + if (bypass_marker_ == false) + { + graphics::Dx12AgsMarkerInjector* injector = graphics::Dx12AgsMarkerInjector::Get(); + + if (injector != nullptr) + { + injector->PopMarker(current_command_list); + } + } + } + } + } +} + +GFXRECON_END_NAMESPACE(decode) +GFXRECON_END_NAMESPACE(gfxrecon) diff --git a/framework/decode/gpu_cmd_wrapper.h b/framework/decode/gpu_cmd_wrapper.h new file mode 100644 index 0000000000..a61fbd091a --- /dev/null +++ b/framework/decode/gpu_cmd_wrapper.h @@ -0,0 +1,56 @@ +/* +** Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and associated documentation files (the "Software"), +** to deal in the Software without restriction, including without limitation +** the rights to use, copy, modify, merge, publish, distribute, sublicense, +** and/or sell copies of the Software, and to permit persons to whom the +** Software is furnished to do so, subject to the following conditions: +** +** The above copyright notice and this permission notice shall be included in +** all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +** FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** DEALINGS IN THE SOFTWARE. +*/ + +#ifndef GFXRECON_GPU_CMD_WRAPPER_H +#define GFXRECON_GPU_CMD_WRAPPER_H + +#include "util/defines.h" +#include "format/format.h" + +#include "decode/dx_replay_options.h" + +#include + +GFXRECON_BEGIN_NAMESPACE(gfxrecon) +GFXRECON_BEGIN_NAMESPACE(decode) + +class GpuCmdWrapper +{ + public: + GpuCmdWrapper(DxReplayOptions* options, + ID3D12GraphicsCommandList* command_list, + format::HandleId capture_id, + format::ApiCallId call_id, + uint64_t block_idx); + + ~GpuCmdWrapper(); + + private: + DxReplayOptions* current_options{ nullptr }; + ID3D12GraphicsCommandList* current_command_list{ nullptr }; + bool bypass_marker_ = false; +}; + +GFXRECON_END_NAMESPACE(decode) +GFXRECON_END_NAMESPACE(gfxrecon) + +#endif // GFXRECON_DX12_GPU_CMD_WRAPPER_H diff --git a/framework/decode/handle_pointer_decoder.h b/framework/decode/handle_pointer_decoder.h index 76436e2c8c..2da043e867 100644 --- a/framework/decode/handle_pointer_decoder.h +++ b/framework/decode/handle_pointer_decoder.h @@ -1,6 +1,7 @@ /* ** Copyright (c) 2019-2020 Valve Corporation ** Copyright (c) 2019-2023 LunarG, Inc. +** Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), @@ -87,6 +88,14 @@ class HandlePointerDecoder T* GetHandlePointer() { return handle_data_; } + void SetHandlePointerData(T data) + { + if (handle_data_ != nullptr) + { + *handle_data_ = data; + } + } + const T* GetHandlePointer() const { return handle_data_; } size_t Decode(const uint8_t* buffer, size_t buffer_size) { return decoder_.DecodeHandleId(buffer, buffer_size); } diff --git a/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py b/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py index 3056b73ac4..85191fea38 100644 --- a/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py +++ b/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py @@ -114,6 +114,10 @@ def write_include(self): '#include "generated/generated_dx12_struct_object_mappers.h"', file=self.outFile ) + write( + '#include "decode/gpu_cmd_wrapper.h"', + file=self.outFile + ) self.newline() def genStruct(self, typeinfo, typename, alias): @@ -165,6 +169,11 @@ def generate_dx12_method_feature(self): " {\n" ) + if 'ID3D12GraphicsCommandList' in class_name: + cmddef += ( + " GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_{0}, GetCurrentBlockIndex());\n\n".format(method) + ) + body = self.make_consumer_func_body(return_type, method, values) code_list = body.split('\n') for code in code_list: diff --git a/framework/generated/generated_dx12_replay_consumer.cpp b/framework/generated/generated_dx12_replay_consumer.cpp index e3a5918d37..b7ad774f7e 100644 --- a/framework/generated/generated_dx12_replay_consumer.cpp +++ b/framework/generated/generated_dx12_replay_consumer.cpp @@ -30,6 +30,7 @@ #include "decode/custom_dx12_struct_object_mappers.h" #include "decode/custom_dx12_replay_commands.h" #include "generated/generated_dx12_struct_object_mappers.h" +#include "decode/gpu_cmd_wrapper.h" GFXRECON_BEGIN_NAMESPACE(gfxrecon) GFXRECON_BEGIN_NAMESPACE(decode) @@ -6057,6 +6058,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Close( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Close, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6091,6 +6094,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Reset( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Reset, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6123,6 +6128,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearState( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearState, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6158,6 +6165,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DrawInstanced( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawInstanced, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6205,6 +6214,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DrawIndexedInstanced( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawIndexedInstanced, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6254,6 +6265,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Dispatch( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Dispatch, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6297,6 +6310,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyBufferRegion( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyBufferRegion, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6339,6 +6354,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyTextureRegion( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTextureRegion, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6380,6 +6397,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyResource( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyResource, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6413,6 +6432,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyTiles( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTiles, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6470,6 +6491,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResolveSubresource( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveSubresource, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6519,6 +6542,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetPrimitiveTopolog auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetPrimitiveTopology, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6551,6 +6576,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_RSSetViewports( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetViewports, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6587,6 +6614,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_RSSetScissorRects( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetScissorRects, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6622,6 +6651,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetBlendFactor( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetBlendFactor, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6653,6 +6684,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetStencilRef( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetStencilRef, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6684,6 +6717,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetPipelineState( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPipelineState, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6717,6 +6752,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResourceBarrier( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResourceBarrier, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6753,6 +6790,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ExecuteBundle( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteBundle, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6778,6 +6817,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetDescriptorHeaps( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetDescriptorHeaps, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6814,6 +6855,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootSignatu auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootSignature, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6846,6 +6889,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootSignat auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootSignature, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6879,6 +6924,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootDescrip auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootDescriptorTable, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6916,6 +6963,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootDescri auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6954,6 +7003,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRoot32BitCo auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstant, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -6995,6 +7046,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRoot32BitC auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7037,6 +7090,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRoot32BitCo auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstants, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7083,6 +7138,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRoot32BitC auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7127,6 +7184,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootConstan auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootConstantBufferView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7164,6 +7223,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootConsta auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7201,6 +7262,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootShaderR auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootShaderResourceView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7238,6 +7301,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootShader auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7275,6 +7340,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootUnorder auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7312,6 +7379,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootUnorde auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7348,6 +7417,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetIndexBuffer( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetIndexBuffer, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7374,6 +7445,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetVertexBuffers( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetVertexBuffers, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7406,6 +7479,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SOSetTargets( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SOSetTargets, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7449,6 +7524,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetRenderTargets( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetRenderTargets, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7499,6 +7576,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearDepthStencilView auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearDepthStencilView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7554,6 +7633,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearRenderTargetView auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearRenderTargetView, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7603,6 +7684,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearUnorderedAccessV auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7662,6 +7745,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearUnorderedAccessV auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7717,6 +7802,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DiscardResource( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DiscardResource, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7755,6 +7842,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_BeginQuery( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginQuery, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7797,6 +7886,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_EndQuery( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndQuery, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7842,6 +7933,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResolveQueryData( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveQueryData, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7897,6 +7990,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetPredication( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPredication, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7939,6 +8034,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetMarker( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetMarker, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -7980,6 +8077,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_BeginEvent( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginEvent, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8018,6 +8117,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_EndEvent( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndEvent, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8052,6 +8153,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ExecuteIndirect( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteIndirect, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8099,6 +8202,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8165,6 +8270,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8226,6 +8333,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_OMSetDepthBounds( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_OMSetDepthBounds, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8265,6 +8374,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_SetSamplePositions( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetSamplePositions, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8314,6 +8425,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_ResolveSubresourceRe auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_ResolveSubresourceRegion, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8381,6 +8494,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_SetViewInstanceMask( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetViewInstanceMask, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -8416,6 +8531,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList2_WriteBufferImmediate auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList2_WriteBufferImmediate, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12597,6 +12714,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList3_SetProtectedResource auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList3_SetProtectedResourceSession, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12663,6 +12782,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_BeginRenderPass( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BeginRenderPass, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12696,6 +12817,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_EndRenderPass( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EndRenderPass, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12729,6 +12852,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_InitializeMetaComman auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_InitializeMetaCommand, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12773,6 +12898,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_ExecuteMetaCommand( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_ExecuteMetaCommand, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12817,6 +12944,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_BuildRaytracingAccel auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12850,6 +12979,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_EmitRaytracingAccele auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12898,6 +13029,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_CopyRaytracingAccele auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12941,6 +13074,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_SetPipelineState1( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_SetPipelineState1, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -12965,6 +13100,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_DispatchRays( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_DispatchRays, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -14099,6 +14236,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList5_RSSetShadingRate( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRate, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -14136,6 +14275,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList5_RSSetShadingRateImag auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRateImage, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -14172,6 +14313,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList6_DispatchMesh( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList6_DispatchMesh, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -14214,6 +14357,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList7_Barrier( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList7_Barrier, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -14253,6 +14398,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList8_OMSetFrontAndBackSte auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -14292,6 +14439,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList9_RSSetDepthBias( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_RSSetDepthBias, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, @@ -14333,6 +14482,8 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList9_IASetIndexBufferStri auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { + GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue, GetCurrentBlockIndex()); + CustomReplayPreCall::Dispatch( this, call_info, diff --git a/framework/graphics/CMakeLists.txt b/framework/graphics/CMakeLists.txt index f69ee7c3ca..a02af9c43b 100644 --- a/framework/graphics/CMakeLists.txt +++ b/framework/graphics/CMakeLists.txt @@ -39,6 +39,8 @@ target_sources(gfxrecon_graphics $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_shader_id_map.cpp> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_image_renderer.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_image_renderer.cpp> + $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_ags_marker_injector.h> + $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_ags_marker_injector.cpp> ${CMAKE_CURRENT_LIST_DIR}/fps_info.h ${CMAKE_CURRENT_LIST_DIR}/fps_info.cpp ${CMAKE_CURRENT_LIST_DIR}/vulkan_check_buffer_references.h diff --git a/framework/graphics/dx12_ags_marker_injector.cpp b/framework/graphics/dx12_ags_marker_injector.cpp new file mode 100644 index 0000000000..b04ea92293 --- /dev/null +++ b/framework/graphics/dx12_ags_marker_injector.cpp @@ -0,0 +1,117 @@ +/* +** Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and associated documentation files (the "Software"), +** to deal in the Software without restriction, including without limitation +** the rights to use, copy, modify, merge, publish, distribute, sublicense, +** and/or sell copies of the Software, and to permit persons to whom the +** Software is furnished to do so, subject to the following conditions: +** +** The above copyright notice and this permission notice shall be included in +** all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +** FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** DEALINGS IN THE SOFTWARE. +*/ + +#include "graphics/dx12_ags_marker_injector.h" + +#include "graphics/dx12_util.h" + +GFXRECON_BEGIN_NAMESPACE(gfxrecon) +GFXRECON_BEGIN_NAMESPACE(graphics) + +Dx12AgsMarkerInjector* instance_ = nullptr; + +Dx12AgsMarkerInjector* Dx12AgsMarkerInjector::Get() +{ + return instance_; +} + +Dx12AgsMarkerInjector* Dx12AgsMarkerInjector::Create() +{ + if (instance_ == nullptr) + { + instance_ = new Dx12AgsMarkerInjector(); + } + + return instance_; +} + +bool Dx12AgsMarkerInjector::PushMarker(ID3D12GraphicsCommandList* command_list, const std::string& marker) +{ + bool result = false; + + if ((ags_context_ != nullptr) && (command_list != nullptr)) + { + char marker_buf[graphics::dx12::kMaxMarkerStrLength] = {}; + strcpy(marker_buf, marker.c_str()); + + AGSReturnCode ags_return = agsDriverExtensionsDX12_PushMarker(ags_context_, command_list, marker_buf); + + if (ags_return == AGS_SUCCESS) + { + result = true; + } + else + { + GFXRECON_LOG_WARNING("AGS PushMarker() failed"); + } + } + + return result; +} + +bool Dx12AgsMarkerInjector::PopMarker(ID3D12GraphicsCommandList* command_list) +{ + bool result = false; + + if ((ags_context_ != nullptr) && (command_list != nullptr)) + { + AGSReturnCode ags_return = agsDriverExtensionsDX12_PopMarker(ags_context_, command_list); + + if (ags_return == AGS_SUCCESS) + { + result = true; + } + else + { + GFXRECON_LOG_WARNING("AGS PopMarker() failed"); + } + } + + return result; +} + +bool Dx12AgsMarkerInjector::SetMarker(ID3D12GraphicsCommandList* command_list, const std::string& marker) +{ + bool result = false; + + if ((ags_context_ != nullptr) && (command_list != nullptr)) + { + char marker_buf[graphics::dx12::kMaxMarkerStrLength] = {}; + strcpy(marker_buf, marker.c_str()); + + AGSReturnCode ags_return = agsDriverExtensionsDX12_SetMarker(ags_context_, command_list, marker_buf); + + if (ags_return == AGS_SUCCESS) + { + result = true; + } + else + { + GFXRECON_LOG_WARNING("AGS SetMarker() failed"); + } + } + + return result; +} + +GFXRECON_END_NAMESPACE(graphics) +GFXRECON_END_NAMESPACE(gfxrecon) diff --git a/framework/graphics/dx12_ags_marker_injector.h b/framework/graphics/dx12_ags_marker_injector.h new file mode 100644 index 0000000000..338671e572 --- /dev/null +++ b/framework/graphics/dx12_ags_marker_injector.h @@ -0,0 +1,53 @@ +/* +** Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and associated documentation files (the "Software"), +** to deal in the Software without restriction, including without limitation +** the rights to use, copy, modify, merge, publish, distribute, sublicense, +** and/or sell copies of the Software, and to permit persons to whom the +** Software is furnished to do so, subject to the following conditions: +** +** The above copyright notice and this permission notice shall be included in +** all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +** FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +** DEALINGS IN THE SOFTWARE. +*/ + +#ifndef GFXRECON_DX12_AGS_MARKER_INJECTOR_H +#define GFXRECON_DX12_AGS_MARKER_INJECTOR_H + +#include "util/defines.h" + +#include +#include +#include + +GFXRECON_BEGIN_NAMESPACE(gfxrecon) +GFXRECON_BEGIN_NAMESPACE(graphics) + +class Dx12AgsMarkerInjector +{ + public: + static Dx12AgsMarkerInjector* Get(); + static Dx12AgsMarkerInjector* Create(); + bool PushMarker(ID3D12GraphicsCommandList* command_list, const std::string& marker); + bool PopMarker(ID3D12GraphicsCommandList* command_list); + bool SetMarker(ID3D12GraphicsCommandList* command_list, const std::string& marker); + void SetContext(AGSContext* context) { ags_context_ = context; } + AGSContext* Context() { return ags_context_; } + + private: + AGSContext* ags_context_{ nullptr }; +}; + +GFXRECON_END_NAMESPACE(graphics) +GFXRECON_END_NAMESPACE(gfxrecon) + +#endif // GFXRECON_DX12_AGS_MARKER_INJECTOR_H diff --git a/framework/graphics/dx12_util.h b/framework/graphics/dx12_util.h index 91f89bdc9a..4d28bbaefd 100644 --- a/framework/graphics/dx12_util.h +++ b/framework/graphics/dx12_util.h @@ -1,6 +1,6 @@ /* ** Copyright (c) 2021 LunarG, Inc. -** Copyright (c) 2021-2023 Advanced Micro Devices, Inc. All rights reserved. +** Copyright (c) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. ** Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. ** ** Permission is hereby granted, free of charge, to any person obtaining a @@ -92,7 +92,7 @@ typedef _com_ptr_t< typedef _com_ptr_t<_com_IIID> ID3D12ObjectComPtr; #if defined(GFXRECON_DXC_SUPPORT) -typedef _com_ptr_t<_com_IIID> IDxcUtilsComPtr; +typedef _com_ptr_t<_com_IIID> IDxcUtilsComPtr; typedef _com_ptr_t<_com_IIID> IDxcContainerReflectionComPtr; typedef _com_ptr_t<_com_IIID> IDxcBlobEncodingComPtr; @@ -135,6 +135,8 @@ static const uint32_t kAdapterTypeShift = 0; static const uint32_t kAdapterIdMask = 0xFFFFFFFc; static const uint32_t kAdapterIdShift = 2; +static const uint32_t kMaxMarkerStrLength = 1024; + struct AdapterSubmissionMapping { std::unordered_map queue_to_device_map; diff --git a/tools/replay/replay_settings.h b/tools/replay/replay_settings.h index 64f1632a54..6a6cabf2b7 100644 --- a/tools/replay/replay_settings.h +++ b/tools/replay/replay_settings.h @@ -1,6 +1,6 @@ /* ** Copyright (c) 2019-2023 LunarG, Inc. -** Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +** Copyright (c) 2023-2025 Advanced Micro Devices, Inc. All rights reserved. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), @@ -32,10 +32,10 @@ const char kOptions[] = "screenshot-all,--onhb|--omit-null-hardware-buffers,--qamr|--quit-after-measurement-range,--fmr|--flush-" "measurement-range,--flush-inside-measurement-range,--vssb|--virtual-swapchain-skip-blit,--use-captured-swapchain-" "indices,--dcp,--discard-cached-psos,--use-colorspace-fallback,--use-cached-psos,--dx12-override-object-names,--" - "offscreen-swapchain-frame-boundary,--wait-before-present,--dump-resources-before-draw," - "--dump-resources-dump-depth-attachment,--dump-" - "resources-dump-vertex-index-buffers,--dump-resources-json-output-per-command,--dump-resources-dump-immutable-" - "resources,--dump-resources-dump-all-image-subresources,--dump-resources-dump-raw-images,--dump-resources-dump-" + "dx12-ags-inject-markers,--offscreen-swapchain-frame-boundary,--wait-before-present,--dump-resources-before-draw," + "--dump-resources-dump-depth-attachment,--dump-resources-dump-vertex-index-buffers," + "--dump-resources-json-output-per-command,--dump-resources-dump-immutable-resources," + "--dump-resources-dump-all-image-subresources,--dump-resources-dump-raw-images,--dump-resources-dump-" "separate-alpha,--pbi-all,--preload-measurement-range, --add-new-pipeline-caches"; const char kArguments[] = "--log-level,--log-file,--gpu,--gpu-group,--pause-frame,--wsi,--surface-index,-m|--memory-translation," diff --git a/tools/tool_settings.h b/tools/tool_settings.h index 49e5d040a6..99da82fe05 100644 --- a/tools/tool_settings.h +++ b/tools/tool_settings.h @@ -1,6 +1,6 @@ /* ** Copyright (c) 2019-2023 LunarG, Inc. -** Copyright (c) 2021-2023 Advanced Micro Devices, Inc. All rights reserved. +** Copyright (c) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), @@ -131,6 +131,7 @@ const char kCreateNewPipelineCacheOption[] = "--add-new-pipeline-caches"; #if defined(WIN32) const char kDxTwoPassReplay[] = "--dx12-two-pass-replay"; const char kDxOverrideObjectNames[] = "--dx12-override-object-names"; +const char kDxAgsMarkRenderPasses[] = "--dx12-ags-inject-markers"; const char kBatchingMemoryUsageArgument[] = "--batching-memory-usage"; #endif @@ -1175,6 +1176,11 @@ static gfxrecon::decode::DxReplayOptions GetDxReplayOptions(const gfxrecon::util replay_options.override_object_names = true; } + if (arg_parser.IsOptionSet(kDxAgsMarkRenderPasses)) + { + replay_options.ags_inject_markers = true; + } + const std::string& dump_resources = arg_parser.GetArgumentValue(kDumpResourcesArgument); if (!dump_resources.empty() && dump_resources.find_first_not_of("0123456789,") == std::string::npos) { From a720fbf115c901d4ce127b190474e3709d0768be Mon Sep 17 00:00:00 2001 From: JerryAMD Date: Tue, 21 Jan 2025 13:40:26 -0500 Subject: [PATCH 2/7] Added help to --dx12-ags-inject-markers options --- tools/replay/replay_settings.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/replay/replay_settings.h b/tools/replay/replay_settings.h index 6a6cabf2b7..9c53aa3d48 100644 --- a/tools/replay/replay_settings.h +++ b/tools/replay/replay_settings.h @@ -363,6 +363,9 @@ static void PrintUsage(const char* exe_name) GFXRECON_WRITE_CONSOLE(" \t\tGenerate unique names for all ID3D12Objects and"); GFXRECON_WRITE_CONSOLE(" \t\tassign each object the generated name."); GFXRECON_WRITE_CONSOLE(" \t\tThis is intended to assist in replay debugging."); + GFXRECON_WRITE_CONSOLE(" --dx12-ags-inject-markers"); + GFXRECON_WRITE_CONSOLE(" \t\tLabel each API calls as block index of the trace"); + GFXRECON_WRITE_CONSOLE(" \t\tRadeon™ GPU Detective could dump the label for debugging."); GFXRECON_WRITE_CONSOLE(" --batching-memory-usage "); GFXRECON_WRITE_CONSOLE(" \t\tMax amount of memory consumption while loading a trimmed capture file."); GFXRECON_WRITE_CONSOLE(" \t\tAcceptable values range from 0 to 100 (default: 80)"); From f947d9522d7e3eb42869e5817b5498400c0d563d Mon Sep 17 00:00:00 2001 From: JerryAMD Date: Wed, 22 Jan 2025 11:47:52 -0500 Subject: [PATCH 3/7] Remove non-utf-8 character --- tools/replay/replay_settings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/replay/replay_settings.h b/tools/replay/replay_settings.h index 9c53aa3d48..ad0b5c71c9 100644 --- a/tools/replay/replay_settings.h +++ b/tools/replay/replay_settings.h @@ -365,7 +365,7 @@ static void PrintUsage(const char* exe_name) GFXRECON_WRITE_CONSOLE(" \t\tThis is intended to assist in replay debugging."); GFXRECON_WRITE_CONSOLE(" --dx12-ags-inject-markers"); GFXRECON_WRITE_CONSOLE(" \t\tLabel each API calls as block index of the trace"); - GFXRECON_WRITE_CONSOLE(" \t\tRadeon™ GPU Detective could dump the label for debugging."); + GFXRECON_WRITE_CONSOLE(" \t\tRadeon GPU Detective could dump the label for debugging."); GFXRECON_WRITE_CONSOLE(" --batching-memory-usage "); GFXRECON_WRITE_CONSOLE(" \t\tMax amount of memory consumption while loading a trimmed capture file."); GFXRECON_WRITE_CONSOLE(" \t\tAcceptable values range from 0 to 100 (default: 80)"); From 8da752d1aa656427d8bdeb5b87c3d8a9e47f24d7 Mon Sep 17 00:00:00 2001 From: JerryAMD Date: Thu, 23 Jan 2025 10:41:58 -0500 Subject: [PATCH 4/7] Fix 32bit build issue --- framework/decode/CMakeLists.txt | 6 +- .../decode/dx12_replay_consumer_base.cpp | 7 +- framework/decode/dx12_replay_consumer_base.h | 12 +- .../dx12_replay_consumer_body_generator.py | 15 +- .../generated_dx12_replay_consumer.cpp | 153 ++++++++++++++++++ framework/graphics/CMakeLists.txt | 11 +- 6 files changed, 195 insertions(+), 9 deletions(-) diff --git a/framework/decode/CMakeLists.txt b/framework/decode/CMakeLists.txt index ecb4e514d1..7da63362e4 100644 --- a/framework/decode/CMakeLists.txt +++ b/framework/decode/CMakeLists.txt @@ -1,6 +1,6 @@ ############################################################################### # Copyright (c) 2018-2023 LunarG, Inc. -# Copyright (c) 2019-2023 Advanced Micro Devices, Inc. +# Copyright (c) 2019-2025 Advanced Micro Devices, Inc. # All rights reserved # # Permission is hereby granted, free of charge, to any person obtaining a copy @@ -143,8 +143,6 @@ target_sources(gfxrecon_decode $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_descriptor_map.cpp> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_tracking_consumer.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_tracking_consumer.cpp> - $<$:${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.h> - $<$:${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.cpp> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_tracked_object_info_table.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_browse_consumer.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_dump_resources.h> @@ -273,6 +271,8 @@ target_sources(gfxrecon_decode ${CMAKE_CURRENT_LIST_DIR}/custom_ags_replay_consumer.h ${CMAKE_CURRENT_LIST_DIR}/custom_ags_replay_consumer.cpp ${CMAKE_CURRENT_LIST_DIR}/ags_detection_consumer.h + ${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.h + ${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.cpp ) endif() diff --git a/framework/decode/dx12_replay_consumer_base.cpp b/framework/decode/dx12_replay_consumer_base.cpp index c94d6889ec..ac07d62f62 100644 --- a/framework/decode/dx12_replay_consumer_base.cpp +++ b/framework/decode/dx12_replay_consumer_base.cpp @@ -117,7 +117,9 @@ Dx12ReplayConsumerBase::Dx12ReplayConsumerBase(std::shared_ptr(get_object_func, shader_id_map_, gpu_va_map_, descriptor_map_); } +#ifdef GFXRECON_AGS_SUPPORT void Dx12ReplayConsumerBase::SetAgsMarkerInjector(AGSContext* ags_context) { if (options_.ags_inject_markers) @@ -160,6 +163,7 @@ void Dx12ReplayConsumerBase::SetAgsMarkerInjector(AGSContext* ags_context) } } } +#endif void Dx12ReplayConsumerBase::EnableDebugLayer(ID3D12Debug* dx12_debug) { @@ -1115,7 +1119,7 @@ HRESULT Dx12ReplayConsumerBase::OverrideD3D12CreateDevice(HRESULT IUnknown* adapter = GetCreateDeviceAdapter(adapter_info); auto replay_result = E_FAIL; - +#ifdef GFXRECON_AGS_SUPPORT if (options_.ags_inject_markers) { AGSDX12DeviceCreationParams creation_params = {}; @@ -1157,6 +1161,7 @@ HRESULT Dx12ReplayConsumerBase::OverrideD3D12CreateDevice(HRESULT } } else +#endif { replay_result = D3D12CreateDevice(adapter, minimum_feature_level, *riid.decoded_value, device->GetHandlePointer()); diff --git a/framework/decode/dx12_replay_consumer_base.h b/framework/decode/dx12_replay_consumer_base.h index ef9e9bc641..7eff4085e3 100644 --- a/framework/decode/dx12_replay_consumer_base.h +++ b/framework/decode/dx12_replay_consumer_base.h @@ -40,9 +40,12 @@ #include "decode/screenshot_handler_base.h" #include "graphics/fps_info.h" #include "graphics/dx12_util.h" -#include "graphics/dx12_ags_marker_injector.h" #include "application/application.h" +#ifdef GFXRECON_AGS_SUPPORT +#include "graphics/dx12_ags_marker_injector.h" +#endif + #include #include #include @@ -65,7 +68,9 @@ class Dx12ReplayConsumerBase : public Dx12Consumer gfxrecon::util::filepath::CheckReplayerName(info_record.AppName); } +#ifdef GFXRECON_AGS_SUPPORT void SetAgsMarkerInjector(AGSContext* ags_context = nullptr); +#endif void SetFatalErrorHandler(std::function handler) { fatal_error_handler_ = handler; } @@ -1173,7 +1178,10 @@ class Dx12ReplayConsumerBase : public Dx12Consumer std::unique_ptr screenshot_handler_; std::unordered_map resource_init_infos_; uint64_t frame_end_marker_count_; - graphics::Dx12AgsMarkerInjector* ags_marker_injector_{ nullptr }; + +#ifdef GFXRECON_AGS_SUPPORT + graphics::Dx12AgsMarkerInjector* ags_marker_injector_{ nullptr }; +#endif }; GFXRECON_END_NAMESPACE(decode) diff --git a/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py b/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py index 85191fea38..40c332d9b3 100644 --- a/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py +++ b/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py @@ -114,10 +114,19 @@ def write_include(self): '#include "generated/generated_dx12_struct_object_mappers.h"', file=self.outFile ) + self.newline() + write( + '#ifdef GFXRECON_AGS_SUPPORT', + file=self.outFile + ) write( '#include "decode/gpu_cmd_wrapper.h"', file=self.outFile ) + write( + '#endif', + file=self.outFile + ) self.newline() def genStruct(self, typeinfo, typename, alias): @@ -170,8 +179,12 @@ def generate_dx12_method_feature(self): ) if 'ID3D12GraphicsCommandList' in class_name: + cmddef += ("#ifdef GFXRECON_AGS_SUPPORT\n".format(method) + ) cmddef += ( - " GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_{0}, GetCurrentBlockIndex());\n\n".format(method) + " GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_{0}, GetCurrentBlockIndex());\n".format(method) + ) + cmddef += ("#endif\n\n".format(method) ) body = self.make_consumer_func_body(return_type, method, values) diff --git a/framework/generated/generated_dx12_replay_consumer.cpp b/framework/generated/generated_dx12_replay_consumer.cpp index b7ad774f7e..bd0b8a180d 100644 --- a/framework/generated/generated_dx12_replay_consumer.cpp +++ b/framework/generated/generated_dx12_replay_consumer.cpp @@ -30,7 +30,10 @@ #include "decode/custom_dx12_struct_object_mappers.h" #include "decode/custom_dx12_replay_commands.h" #include "generated/generated_dx12_struct_object_mappers.h" + +#ifdef GFXRECON_AGS_SUPPORT #include "decode/gpu_cmd_wrapper.h" +#endif GFXRECON_BEGIN_NAMESPACE(gfxrecon) GFXRECON_BEGIN_NAMESPACE(decode) @@ -6058,7 +6061,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Close( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Close, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6094,7 +6099,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Reset( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Reset, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6128,7 +6135,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearState( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearState, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6165,7 +6174,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DrawInstanced( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawInstanced, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6214,7 +6225,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DrawIndexedInstanced( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawIndexedInstanced, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6265,7 +6278,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Dispatch( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Dispatch, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6310,7 +6325,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyBufferRegion( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyBufferRegion, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6354,7 +6371,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyTextureRegion( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTextureRegion, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6397,7 +6416,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyResource( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyResource, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6432,7 +6453,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyTiles( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTiles, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6491,7 +6514,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResolveSubresource( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveSubresource, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6542,7 +6567,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetPrimitiveTopolog auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetPrimitiveTopology, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6576,7 +6603,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_RSSetViewports( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetViewports, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6614,7 +6643,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_RSSetScissorRects( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetScissorRects, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6651,7 +6682,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetBlendFactor( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetBlendFactor, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6684,7 +6717,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetStencilRef( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetStencilRef, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6717,7 +6752,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetPipelineState( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPipelineState, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6752,7 +6789,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResourceBarrier( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResourceBarrier, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6790,7 +6829,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ExecuteBundle( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteBundle, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6817,7 +6858,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetDescriptorHeaps( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetDescriptorHeaps, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6855,7 +6898,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootSignatu auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootSignature, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6889,7 +6934,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootSignat auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootSignature, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6924,7 +6971,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootDescrip auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootDescriptorTable, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -6963,7 +7012,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootDescri auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7003,7 +7054,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRoot32BitCo auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstant, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7046,7 +7099,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRoot32BitC auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7090,7 +7145,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRoot32BitCo auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstants, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7138,7 +7195,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRoot32BitC auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7184,7 +7243,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootConstan auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootConstantBufferView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7223,7 +7284,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootConsta auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7262,7 +7325,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootShaderR auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootShaderResourceView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7301,7 +7366,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootShader auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7340,7 +7407,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootUnorder auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7379,7 +7448,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootUnorde auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7417,7 +7488,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetIndexBuffer( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetIndexBuffer, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7445,7 +7518,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetVertexBuffers( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetVertexBuffers, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7479,7 +7554,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SOSetTargets( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SOSetTargets, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7524,7 +7601,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetRenderTargets( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetRenderTargets, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7576,7 +7655,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearDepthStencilView auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearDepthStencilView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7633,7 +7714,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearRenderTargetView auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearRenderTargetView, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7684,7 +7767,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearUnorderedAccessV auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7745,7 +7830,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearUnorderedAccessV auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7802,7 +7889,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DiscardResource( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DiscardResource, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7842,7 +7931,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_BeginQuery( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginQuery, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7886,7 +7977,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_EndQuery( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndQuery, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7933,7 +8026,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResolveQueryData( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveQueryData, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -7990,7 +8085,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetPredication( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPredication, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8034,7 +8131,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetMarker( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetMarker, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8077,7 +8176,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_BeginEvent( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginEvent, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8117,7 +8218,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_EndEvent( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndEvent, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8153,7 +8256,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ExecuteIndirect( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteIndirect, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8202,7 +8307,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8270,7 +8377,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8333,7 +8442,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_OMSetDepthBounds( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_OMSetDepthBounds, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8374,7 +8485,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_SetSamplePositions( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetSamplePositions, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8425,7 +8538,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_ResolveSubresourceRe auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_ResolveSubresourceRegion, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8494,7 +8609,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_SetViewInstanceMask( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetViewInstanceMask, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -8531,7 +8648,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList2_WriteBufferImmediate auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList2_WriteBufferImmediate, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -12714,7 +12833,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList3_SetProtectedResource auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList3_SetProtectedResourceSession, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -12782,7 +12903,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_BeginRenderPass( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BeginRenderPass, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -12817,7 +12940,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_EndRenderPass( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EndRenderPass, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -12852,7 +12977,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_InitializeMetaComman auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_InitializeMetaCommand, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -12898,7 +13025,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_ExecuteMetaCommand( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_ExecuteMetaCommand, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -12944,7 +13073,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_BuildRaytracingAccel auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -12979,7 +13110,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_EmitRaytracingAccele auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -13029,7 +13162,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_CopyRaytracingAccele auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -13074,7 +13209,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_SetPipelineState1( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_SetPipelineState1, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -13100,7 +13237,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_DispatchRays( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_DispatchRays, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -14236,7 +14375,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList5_RSSetShadingRate( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRate, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -14275,7 +14416,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList5_RSSetShadingRateImag auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRateImage, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -14313,7 +14456,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList6_DispatchMesh( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList6_DispatchMesh, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -14357,7 +14502,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList7_Barrier( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList7_Barrier, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -14398,7 +14545,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList8_OMSetFrontAndBackSte auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -14439,7 +14588,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList9_RSSetDepthBias( auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_RSSetDepthBias, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, @@ -14482,7 +14633,9 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList9_IASetIndexBufferStri auto replay_object = GetObjectInfo(object_id); if ((replay_object != nullptr) && (replay_object->object != nullptr)) { +#ifdef GFXRECON_AGS_SUPPORT GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue, GetCurrentBlockIndex()); +#endif CustomReplayPreCall::Dispatch( this, diff --git a/framework/graphics/CMakeLists.txt b/framework/graphics/CMakeLists.txt index a02af9c43b..794deb7c2a 100644 --- a/framework/graphics/CMakeLists.txt +++ b/framework/graphics/CMakeLists.txt @@ -1,5 +1,6 @@ ############################################################################### # Copyright (c) 2021 LunarG, Inc. +# Copyright (c) 2025 Advanced Micro Devices, Inc. # All rights reserved # # Permission is hereby granted, free of charge, to any person obtaining a copy @@ -39,8 +40,6 @@ target_sources(gfxrecon_graphics $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_shader_id_map.cpp> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_image_renderer.h> $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_image_renderer.cpp> - $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_ags_marker_injector.h> - $<$:${CMAKE_CURRENT_LIST_DIR}/dx12_ags_marker_injector.cpp> ${CMAKE_CURRENT_LIST_DIR}/fps_info.h ${CMAKE_CURRENT_LIST_DIR}/fps_info.cpp ${CMAKE_CURRENT_LIST_DIR}/vulkan_check_buffer_references.h @@ -59,6 +58,14 @@ target_sources(gfxrecon_graphics ${CMAKE_CURRENT_LIST_DIR}/vulkan_struct_extract_handles.cpp ) +if (${GFXRECON_AGS_SUPPORT_FINAL}) +target_sources(gfxrecon_graphics + PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/dx12_ags_marker_injector.h + ${CMAKE_CURRENT_LIST_DIR}/dx12_ags_marker_injector.cpp + ) +endif() + target_include_directories(gfxrecon_graphics PUBLIC ${CMAKE_SOURCE_DIR}/build From a2792af79b0799599ebd75a37c9ca95ae5b69f34 Mon Sep 17 00:00:00 2001 From: JerryAMD Date: Wed, 5 Feb 2025 18:24:51 -0500 Subject: [PATCH 5/7] Follow up review --- USAGE_desktop_D3D12.md | 3 + framework/decode/CMakeLists.txt | 4 +- ...md_wrapper.cpp => ags_gpu_cmd_wrapper.cpp} | 14 +- ...pu_cmd_wrapper.h => ags_gpu_cmd_wrapper.h} | 20 +-- .../decode/dx12_replay_consumer_base.cpp | 5 +- framework/decode/handle_pointer_decoder.h | 8 - .../dx12_replay_consumer_body_generator.py | 4 +- .../generated_dx12_replay_consumer.cpp | 152 +++++++++--------- tools/tool_settings.h | 5 + 9 files changed, 109 insertions(+), 106 deletions(-) rename framework/decode/{gpu_cmd_wrapper.cpp => ags_gpu_cmd_wrapper.cpp} (89%) rename framework/decode/{gpu_cmd_wrapper.h => ags_gpu_cmd_wrapper.h} (77%) diff --git a/USAGE_desktop_D3D12.md b/USAGE_desktop_D3D12.md index a321642302..69e8d67d97 100644 --- a/USAGE_desktop_D3D12.md +++ b/USAGE_desktop_D3D12.md @@ -290,6 +290,9 @@ Optional arguments: --dx12-override-object-names Generates unique names for all ID3D12Objects and assigns each object the generated name. This is intended to assist replay debugging. + --dx12-ags-inject-markers + Label each API calls as block index of the trace + Radeon GPU Detective could dump the label for debugging. --batching-memory-usage Limits the max amount of additional memory that can be used to batch resource data uploads during trim state load. Batching resource data uploads may reduce the number diff --git a/framework/decode/CMakeLists.txt b/framework/decode/CMakeLists.txt index 98f359c3da..8488602ce3 100644 --- a/framework/decode/CMakeLists.txt +++ b/framework/decode/CMakeLists.txt @@ -271,8 +271,8 @@ target_sources(gfxrecon_decode ${CMAKE_CURRENT_LIST_DIR}/custom_ags_replay_consumer.h ${CMAKE_CURRENT_LIST_DIR}/custom_ags_replay_consumer.cpp ${CMAKE_CURRENT_LIST_DIR}/ags_detection_consumer.h - ${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.h - ${CMAKE_CURRENT_LIST_DIR}/gpu_cmd_wrapper.cpp + ${CMAKE_CURRENT_LIST_DIR}/ags_gpu_cmd_wrapper.h + ${CMAKE_CURRENT_LIST_DIR}/ags_gpu_cmd_wrapper.cpp ) endif() diff --git a/framework/decode/gpu_cmd_wrapper.cpp b/framework/decode/ags_gpu_cmd_wrapper.cpp similarity index 89% rename from framework/decode/gpu_cmd_wrapper.cpp rename to framework/decode/ags_gpu_cmd_wrapper.cpp index 87676c4d89..e022891f23 100644 --- a/framework/decode/gpu_cmd_wrapper.cpp +++ b/framework/decode/ags_gpu_cmd_wrapper.cpp @@ -20,7 +20,7 @@ ** DEALINGS IN THE SOFTWARE. */ -#include "decode/gpu_cmd_wrapper.h" +#include "decode/ags_gpu_cmd_wrapper.h" #include "generated/generated_dx12_call_id_to_string.h" #include "graphics/dx12_ags_marker_injector.h" @@ -31,11 +31,11 @@ GFXRECON_BEGIN_NAMESPACE(gfxrecon) GFXRECON_BEGIN_NAMESPACE(decode) -GpuCmdWrapper::GpuCmdWrapper(DxReplayOptions* options, - ID3D12GraphicsCommandList* command_list, - format::HandleId capture_id, - format::ApiCallId call_id, - uint64_t block_idx) +AgsGpuCmdWrapper::AgsGpuCmdWrapper(DxReplayOptions* options, + ID3D12GraphicsCommandList* command_list, + format::HandleId capture_id, + format::ApiCallId call_id, + uint64_t block_idx) { if ((options != nullptr)) { @@ -81,7 +81,7 @@ GpuCmdWrapper::GpuCmdWrapper(DxReplayOptions* options, } } -GpuCmdWrapper::~GpuCmdWrapper() +AgsGpuCmdWrapper::~AgsGpuCmdWrapper() { if (current_options != nullptr) { diff --git a/framework/decode/gpu_cmd_wrapper.h b/framework/decode/ags_gpu_cmd_wrapper.h similarity index 77% rename from framework/decode/gpu_cmd_wrapper.h rename to framework/decode/ags_gpu_cmd_wrapper.h index a61fbd091a..8180ca9524 100644 --- a/framework/decode/gpu_cmd_wrapper.h +++ b/framework/decode/ags_gpu_cmd_wrapper.h @@ -20,8 +20,8 @@ ** DEALINGS IN THE SOFTWARE. */ -#ifndef GFXRECON_GPU_CMD_WRAPPER_H -#define GFXRECON_GPU_CMD_WRAPPER_H +#ifndef GFXRECON_AGS_GPU_CMD_WRAPPER_H +#define GFXRECON_AGS_GPU_CMD_WRAPPER_H #include "util/defines.h" #include "format/format.h" @@ -33,16 +33,16 @@ GFXRECON_BEGIN_NAMESPACE(gfxrecon) GFXRECON_BEGIN_NAMESPACE(decode) -class GpuCmdWrapper +class AgsGpuCmdWrapper { public: - GpuCmdWrapper(DxReplayOptions* options, - ID3D12GraphicsCommandList* command_list, - format::HandleId capture_id, - format::ApiCallId call_id, - uint64_t block_idx); + AgsGpuCmdWrapper(DxReplayOptions* options, + ID3D12GraphicsCommandList* command_list, + format::HandleId capture_id, + format::ApiCallId call_id, + uint64_t block_idx); - ~GpuCmdWrapper(); + ~AgsGpuCmdWrapper(); private: DxReplayOptions* current_options{ nullptr }; @@ -53,4 +53,4 @@ class GpuCmdWrapper GFXRECON_END_NAMESPACE(decode) GFXRECON_END_NAMESPACE(gfxrecon) -#endif // GFXRECON_DX12_GPU_CMD_WRAPPER_H +#endif // GFXRECON_AGS_GPU_CMD_WRAPPER_H diff --git a/framework/decode/dx12_replay_consumer_base.cpp b/framework/decode/dx12_replay_consumer_base.cpp index ac07d62f62..b3f57c2316 100644 --- a/framework/decode/dx12_replay_consumer_base.cpp +++ b/framework/decode/dx12_replay_consumer_base.cpp @@ -1138,7 +1138,10 @@ HRESULT Dx12ReplayConsumerBase::OverrideD3D12CreateDevice(HRESULT { GFXRECON_LOG_DEBUG("Created AGS device."); - device->SetHandlePointerData(returned_params.pDevice); + if (device->GetHandlePointer() != nullptr) + { + *device->GetHandlePointer() = returned_params.pDevice; + } replay_result = S_OK; diff --git a/framework/decode/handle_pointer_decoder.h b/framework/decode/handle_pointer_decoder.h index 2da043e867..f3aff293b9 100644 --- a/framework/decode/handle_pointer_decoder.h +++ b/framework/decode/handle_pointer_decoder.h @@ -88,14 +88,6 @@ class HandlePointerDecoder T* GetHandlePointer() { return handle_data_; } - void SetHandlePointerData(T data) - { - if (handle_data_ != nullptr) - { - *handle_data_ = data; - } - } - const T* GetHandlePointer() const { return handle_data_; } size_t Decode(const uint8_t* buffer, size_t buffer_size) { return decoder_.DecodeHandleId(buffer, buffer_size); } diff --git a/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py b/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py index 40c332d9b3..ced932f586 100644 --- a/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py +++ b/framework/generated/dx12_generators/dx12_replay_consumer_body_generator.py @@ -120,7 +120,7 @@ def write_include(self): file=self.outFile ) write( - '#include "decode/gpu_cmd_wrapper.h"', + '#include "decode/ags_gpu_cmd_wrapper.h"', file=self.outFile ) write( @@ -182,7 +182,7 @@ def generate_dx12_method_feature(self): cmddef += ("#ifdef GFXRECON_AGS_SUPPORT\n".format(method) ) cmddef += ( - " GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_{0}, GetCurrentBlockIndex());\n".format(method) + " AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_{0}, GetCurrentBlockIndex());\n".format(method) ) cmddef += ("#endif\n\n".format(method) ) diff --git a/framework/generated/generated_dx12_replay_consumer.cpp b/framework/generated/generated_dx12_replay_consumer.cpp index bd0b8a180d..3d0cf015a3 100644 --- a/framework/generated/generated_dx12_replay_consumer.cpp +++ b/framework/generated/generated_dx12_replay_consumer.cpp @@ -32,7 +32,7 @@ #include "generated/generated_dx12_struct_object_mappers.h" #ifdef GFXRECON_AGS_SUPPORT -#include "decode/gpu_cmd_wrapper.h" +#include "decode/ags_gpu_cmd_wrapper.h" #endif GFXRECON_BEGIN_NAMESPACE(gfxrecon) @@ -6062,7 +6062,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Close( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Close, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Close, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6100,7 +6100,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Reset( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Reset, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Reset, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6136,7 +6136,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearState( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearState, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearState, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6175,7 +6175,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DrawInstanced( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawInstanced, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawInstanced, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6226,7 +6226,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DrawIndexedInstanced( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawIndexedInstanced, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DrawIndexedInstanced, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6279,7 +6279,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_Dispatch( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Dispatch, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_Dispatch, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6326,7 +6326,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyBufferRegion( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyBufferRegion, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyBufferRegion, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6372,7 +6372,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyTextureRegion( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTextureRegion, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTextureRegion, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6417,7 +6417,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyResource( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyResource, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyResource, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6454,7 +6454,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_CopyTiles( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTiles, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_CopyTiles, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6515,7 +6515,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResolveSubresource( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveSubresource, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveSubresource, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6568,7 +6568,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetPrimitiveTopolog if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetPrimitiveTopology, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetPrimitiveTopology, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6604,7 +6604,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_RSSetViewports( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetViewports, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetViewports, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6644,7 +6644,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_RSSetScissorRects( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetScissorRects, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_RSSetScissorRects, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6683,7 +6683,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetBlendFactor( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetBlendFactor, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetBlendFactor, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6718,7 +6718,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetStencilRef( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetStencilRef, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetStencilRef, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6753,7 +6753,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetPipelineState( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPipelineState, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPipelineState, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6790,7 +6790,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResourceBarrier( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResourceBarrier, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResourceBarrier, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6830,7 +6830,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ExecuteBundle( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteBundle, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteBundle, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6859,7 +6859,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetDescriptorHeaps( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetDescriptorHeaps, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetDescriptorHeaps, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6899,7 +6899,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootSignatu if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootSignature, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootSignature, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6935,7 +6935,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootSignat if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootSignature, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootSignature, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -6972,7 +6972,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootDescrip if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootDescriptorTable, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootDescriptorTable, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7013,7 +7013,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootDescri if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7055,7 +7055,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRoot32BitCo if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstant, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstant, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7100,7 +7100,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRoot32BitC if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7146,7 +7146,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRoot32BitCo if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstants, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRoot32BitConstants, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7196,7 +7196,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRoot32BitC if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7244,7 +7244,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootConstan if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootConstantBufferView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootConstantBufferView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7285,7 +7285,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootConsta if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7326,7 +7326,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootShaderR if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootShaderResourceView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootShaderResourceView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7367,7 +7367,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootShader if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7408,7 +7408,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetComputeRootUnorder if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7449,7 +7449,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetGraphicsRootUnorde if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7489,7 +7489,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetIndexBuffer( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetIndexBuffer, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetIndexBuffer, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7519,7 +7519,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_IASetVertexBuffers( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetVertexBuffers, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_IASetVertexBuffers, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7555,7 +7555,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SOSetTargets( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SOSetTargets, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SOSetTargets, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7602,7 +7602,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_OMSetRenderTargets( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetRenderTargets, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_OMSetRenderTargets, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7656,7 +7656,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearDepthStencilView if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearDepthStencilView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearDepthStencilView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7715,7 +7715,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearRenderTargetView if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearRenderTargetView, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearRenderTargetView, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7768,7 +7768,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearUnorderedAccessV if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7831,7 +7831,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ClearUnorderedAccessV if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7890,7 +7890,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_DiscardResource( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DiscardResource, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_DiscardResource, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7932,7 +7932,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_BeginQuery( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginQuery, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginQuery, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -7978,7 +7978,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_EndQuery( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndQuery, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndQuery, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8027,7 +8027,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ResolveQueryData( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveQueryData, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ResolveQueryData, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8086,7 +8086,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetPredication( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPredication, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetPredication, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8132,7 +8132,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_SetMarker( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetMarker, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_SetMarker, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8177,7 +8177,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_BeginEvent( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginEvent, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_BeginEvent, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8219,7 +8219,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_EndEvent( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndEvent, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_EndEvent, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8257,7 +8257,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList_ExecuteIndirect( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteIndirect, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList_ExecuteIndirect, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8308,7 +8308,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8378,7 +8378,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8443,7 +8443,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_OMSetDepthBounds( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_OMSetDepthBounds, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_OMSetDepthBounds, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8486,7 +8486,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_SetSamplePositions( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetSamplePositions, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetSamplePositions, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8539,7 +8539,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_ResolveSubresourceRe if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_ResolveSubresourceRegion, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_ResolveSubresourceRegion, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8610,7 +8610,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList1_SetViewInstanceMask( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetViewInstanceMask, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList1_SetViewInstanceMask, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -8649,7 +8649,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList2_WriteBufferImmediate if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList2_WriteBufferImmediate, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList2_WriteBufferImmediate, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -12834,7 +12834,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList3_SetProtectedResource if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList3_SetProtectedResourceSession, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList3_SetProtectedResourceSession, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -12904,7 +12904,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_BeginRenderPass( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BeginRenderPass, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BeginRenderPass, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -12941,7 +12941,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_EndRenderPass( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EndRenderPass, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EndRenderPass, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -12978,7 +12978,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_InitializeMetaComman if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_InitializeMetaCommand, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_InitializeMetaCommand, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -13026,7 +13026,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_ExecuteMetaCommand( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_ExecuteMetaCommand, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_ExecuteMetaCommand, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -13074,7 +13074,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_BuildRaytracingAccel if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -13111,7 +13111,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_EmitRaytracingAccele if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -13163,7 +13163,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_CopyRaytracingAccele if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -13210,7 +13210,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_SetPipelineState1( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_SetPipelineState1, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_SetPipelineState1, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -13238,7 +13238,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList4_DispatchRays( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_DispatchRays, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList4_DispatchRays, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -14376,7 +14376,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList5_RSSetShadingRate( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRate, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRate, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -14417,7 +14417,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList5_RSSetShadingRateImag if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRateImage, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList5_RSSetShadingRateImage, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -14457,7 +14457,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList6_DispatchMesh( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList6_DispatchMesh, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList6_DispatchMesh, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -14503,7 +14503,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList7_Barrier( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList7_Barrier, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList7_Barrier, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -14546,7 +14546,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList8_OMSetFrontAndBackSte if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -14589,7 +14589,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList9_RSSetDepthBias( if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_RSSetDepthBias, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_RSSetDepthBias, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( @@ -14634,7 +14634,7 @@ void Dx12ReplayConsumer::Process_ID3D12GraphicsCommandList9_IASetIndexBufferStri if ((replay_object != nullptr) && (replay_object->object != nullptr)) { #ifdef GFXRECON_AGS_SUPPORT - GpuCmdWrapper gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue, GetCurrentBlockIndex()); + AgsGpuCmdWrapper ags_gpu_cmd_wrapper(&options_, static_cast(replay_object->object), object_id, format::ApiCallId::ApiCall_ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue, GetCurrentBlockIndex()); #endif CustomReplayPreCall::Dispatch( diff --git a/tools/tool_settings.h b/tools/tool_settings.h index 659a745077..3434ced33d 100644 --- a/tools/tool_settings.h +++ b/tools/tool_settings.h @@ -1178,7 +1178,12 @@ static gfxrecon::decode::DxReplayOptions GetDxReplayOptions(const gfxrecon::util if (arg_parser.IsOptionSet(kDxAgsMarkRenderPasses)) { +#ifdef GFXRECON_AGS_SUPPORT replay_options.ags_inject_markers = true; +#else + GFXRECON_LOG_ERROR( + "Unsupported option --dx12-ags-inject-markers") +#endif } const std::string& dump_resources = arg_parser.GetArgumentValue(kDumpResourcesArgument); From f0433b58e121c0cbc2a1f816e5644bd10e77574b Mon Sep 17 00:00:00 2001 From: JerryAMD Date: Wed, 5 Feb 2025 19:06:19 -0500 Subject: [PATCH 6/7] 32bit Build Error Fix --- tools/tool_settings.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/tool_settings.h b/tools/tool_settings.h index 3434ced33d..3685e25853 100644 --- a/tools/tool_settings.h +++ b/tools/tool_settings.h @@ -1181,8 +1181,7 @@ static gfxrecon::decode::DxReplayOptions GetDxReplayOptions(const gfxrecon::util #ifdef GFXRECON_AGS_SUPPORT replay_options.ags_inject_markers = true; #else - GFXRECON_LOG_ERROR( - "Unsupported option --dx12-ags-inject-markers") + GFXRECON_LOG_ERROR("Unsupported option --dx12-ags-inject-markers"); #endif } From c33213171ee4c837154ba859b2672792f3a8cb1f Mon Sep 17 00:00:00 2001 From: JerryAMD Date: Wed, 19 Feb 2025 17:43:29 -0500 Subject: [PATCH 7/7] Revert unchanged file --- framework/decode/handle_pointer_decoder.h | 1 - 1 file changed, 1 deletion(-) diff --git a/framework/decode/handle_pointer_decoder.h b/framework/decode/handle_pointer_decoder.h index f3aff293b9..76436e2c8c 100644 --- a/framework/decode/handle_pointer_decoder.h +++ b/framework/decode/handle_pointer_decoder.h @@ -1,7 +1,6 @@ /* ** Copyright (c) 2019-2020 Valve Corporation ** Copyright (c) 2019-2023 LunarG, Inc. -** Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"),