From 6c6b3666a4fa07ec4ac1bb58cc2592080a61e9b9 Mon Sep 17 00:00:00 2001 From: Sergey Shlyapnikov Date: Fri, 28 Oct 2022 19:19:02 +0400 Subject: [PATCH] [GPU] Add additional condition for VA surface buffers detection (#13691) --- src/plugins/intel_gpu/src/graph/network.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/plugins/intel_gpu/src/graph/network.cpp b/src/plugins/intel_gpu/src/graph/network.cpp index 0a252bd367f..31503c6ff7c 100644 --- a/src/plugins/intel_gpu/src/graph/network.cpp +++ b/src/plugins/intel_gpu/src/graph/network.cpp @@ -724,21 +724,26 @@ void network::execute_impl(const std::vector& events) { GPU_DEBUG_COUT << "----------------------------------------------" << std::endl; std::vector in_out_mem; + auto is_surface_lock_check_needed = [&](const shared_mem_type& shared_mem_type) { + return shared_mem_type == shared_mem_type::shared_mem_vasurface || + shared_mem_type == shared_mem_type::shared_mem_dxbuffer || + shared_mem_type == shared_mem_type::shared_mem_image; + }; + bool shared_mem_found = std::any_of(_in_out_shared_mem_types.begin(), _in_out_shared_mem_types.end(), - [](const shared_mem_type& shared_mem_type) { - return shared_mem_type == shared_mem_type::shared_mem_vasurface || - shared_mem_type == shared_mem_type::shared_mem_dxbuffer; - }); + is_surface_lock_check_needed); if (shared_mem_found) { for (auto& inst : _inputs) { - if (inst->output_memory_ptr()) + if (inst->output_memory_ptr() && + is_surface_lock_check_needed(inst->output_memory_ptr()->get_internal_params().mem_type)) in_out_mem.push_back(inst->output_memory_ptr()); } for (auto& inst : _outputs) { - if (inst->output_memory_ptr()) + if (inst->output_memory_ptr() && + is_surface_lock_check_needed(inst->output_memory_ptr()->get_internal_params().mem_type)) in_out_mem.push_back(inst->output_memory_ptr()); } }