[GPU] Add additional condition for VA surface buffers detection (#13691)
This commit is contained in:
parent
cd76557df5
commit
6c6b3666a4
@ -724,21 +724,26 @@ void network::execute_impl(const std::vector<event::ptr>& events) {
|
|||||||
GPU_DEBUG_COUT << "----------------------------------------------" << std::endl;
|
GPU_DEBUG_COUT << "----------------------------------------------" << std::endl;
|
||||||
|
|
||||||
std::vector<memory::ptr> in_out_mem;
|
std::vector<memory::ptr> 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(),
|
bool shared_mem_found = std::any_of(_in_out_shared_mem_types.begin(),
|
||||||
_in_out_shared_mem_types.end(),
|
_in_out_shared_mem_types.end(),
|
||||||
[](const shared_mem_type& shared_mem_type) {
|
is_surface_lock_check_needed);
|
||||||
return shared_mem_type == shared_mem_type::shared_mem_vasurface ||
|
|
||||||
shared_mem_type == shared_mem_type::shared_mem_dxbuffer;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (shared_mem_found) {
|
if (shared_mem_found) {
|
||||||
for (auto& inst : _inputs) {
|
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());
|
in_out_mem.push_back(inst->output_memory_ptr());
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto& inst : _outputs) {
|
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());
|
in_out_mem.push_back(inst->output_memory_ptr());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user