2323#include < cstdint>
2424#include < iostream>
2525#include < sstream>
26- #include " state_tracker/buffer_state.h"
2726#include " state_tracker/cmd_buffer_state.h"
2827
2928namespace gpudump {
3029
31- // return for warning if no buffer found
32- static bool ListBuffers (std::ostringstream& ss, const GpuDump& dev_data, VkDeviceAddress address, uint32_t indents) {
33- auto buffer_states = dev_data.GetBuffersByAddress (address);
34- for (uint32_t i = 0 ; i < indents; i++) {
35- ss << " " ;
36- }
37- for (auto & buffer_state : buffer_states) {
38- ss << " - " << buffer_state->Describe (dev_data) << " \n " ;
39- }
40- if (buffer_states.empty ()) {
41- ss << " - [WARNING] No VkBuffer found at 0x" << std::hex << address << " \n " ;
42- return true ;
43- }
44- return false ;
45- }
46-
4730bool CommandBufferSubState::DumpCopyMemoryIndirectCommon (std::ostringstream& ss, uint32_t copy_count,
4831 VkStridedDeviceAddressRangeKHR copy_address_range) const {
4932 ss << " copyCount = " << copy_count << " , starting address = 0x" << std::hex << copy_address_range.address
5033 << " , size = " << std::dec << copy_address_range.size << " , stride = " << copy_address_range.stride << " \n " ;
51- return ListBuffers (ss, dev_data , copy_address_range.address , 1 );
34+ return dev_data. ListBuffers (ss, copy_address_range.address , 1 );
5235}
5336
5437void CommandBufferSubState::DumpCopyMemoryIndirect (const VkCopyMemoryIndirectInfoKHR& info, const Location& loc) const {
@@ -70,9 +53,9 @@ void CommandBufferSubState::DumpCopyMemoryIndirect(const VkCopyMemoryIndirectInf
7053 auto command = *(VkCopyMemoryIndirectCommandKHR*)(indirect_data.data () + stride_i);
7154 ss << " - size: " << std::dec << command.size << ' \n ' ;
7255 ss << " - srcAddress: 0x" << std::hex << command.srcAddress << ' \n ' ;
73- found_warning |= ListBuffers (ss, dev_data , command.srcAddress , 2 );
56+ found_warning |= dev_data. ListBuffers (ss, command.srcAddress , 2 );
7457 ss << " - dstAddress: 0x" << std::hex << command.dstAddress << ' \n ' ;
75- found_warning |= ListBuffers (ss, dev_data , command.dstAddress , 2 );
58+ found_warning |= dev_data. ListBuffers (ss, command.dstAddress , 2 );
7659 }
7760 }
7861
@@ -106,7 +89,7 @@ void CommandBufferSubState::DumpCopyMemoryToImageIndirect(const VkCopyMemoryToIm
10689 if (know_data) {
10790 auto command = *(VkCopyMemoryToImageIndirectCommandKHR*)(indirect_data.data () + stride_i);
10891 ss << " - srcAddress: 0x" << std::hex << command.srcAddress << ' \n ' ;
109- found_warning |= ListBuffers (ss, dev_data , command.srcAddress , 2 );
92+ found_warning |= dev_data. ListBuffers (ss, command.srcAddress , 2 );
11093 ss << " - bufferRowLength: " << std::dec << command.bufferRowLength << ' \n ' ;
11194 ss << " - bufferImageHeight: " << command.bufferImageHeight << ' \n ' ;
11295 ss << " - imageSubresource: " << string_VkImageSubresourceLayers (command.imageSubresource ) << ' \n ' ;
0 commit comments