diff --git a/framework/encode/vulkan_state_tracker.h b/framework/encode/vulkan_state_tracker.h index 00d690e8b..32541d0b7 100644 --- a/framework/encode/vulkan_state_tracker.h +++ b/framework/encode/vulkan_state_tracker.h @@ -201,6 +201,35 @@ class VulkanStateTracker } } + void AddStructGroupEntry( + VkDevice parent_handle, + uint32_t count, + VkPipelineBinaryHandlesInfoKHR* handle_structs, + std::function unwrap_struct_handle, + format::ApiCallId create_call_id, + const util::MemoryOutputStream* create_parameter_buffer) + { + assert(handle_structs != nullptr); + assert(create_parameter_buffer != nullptr); + + GFXRECON_UNREFERENCED_PARAMETER(unwrap_struct_handle); + + if (handle_structs->pPipelineBinaries != nullptr) + { + vulkan_state_info::CreateParameters create_parameters = std::make_shared( + create_parameter_buffer->GetData(), create_parameter_buffer->GetDataSize()); + + AddGroupHandles( + parent_handle, + nullptr, + handle_structs->pipelineBinaryCount, + handle_structs->pPipelineBinaries, + nullptr, + create_call_id, + create_parameters); + } + } + template void RemoveEntry(typename Wrapper::HandleType handle) {