Преглед изворни кода

async_shaders: Simplify implementation of GetCompletedWork()

This is equivalent to moving all the contents and then clearing the
vector. This avoids a redundant allocation.
Lioncash пре 5 година
родитељ
комит
ba3916fc67
1 измењених фајлова са 1 додато и 2 уклоњено
  1. 1 2
      src/video_core/shader/async_shaders.cpp

+ 1 - 2
src/video_core/shader/async_shaders.cpp

@@ -106,8 +106,7 @@ std::vector<AsyncShaders::Result> AsyncShaders::GetCompletedWork() {
     std::vector<Result> results;
     std::vector<Result> results;
     {
     {
         std::unique_lock lock{completed_mutex};
         std::unique_lock lock{completed_mutex};
-        results.assign(std::make_move_iterator(finished_work.begin()),
-                       std::make_move_iterator(finished_work.end()));
+        results = std::move(finished_work);
         finished_work.clear();
         finished_work.clear();
     }
     }
     return results;
     return results;