Browse Source

Fix two GCC 11 warnings: Unneeded copies.

std::move created an unneeded copy.
iterating without reference also created copies.
nce_cpp
Markus Wick 5 years ago
parent
commit
9f92beed0a
  1. 2
      src/core/hle/kernel/kernel.cpp
  2. 4
      src/video_core/buffer_cache/buffer_cache.h

2
src/core/hle/kernel/kernel.cpp

@ -258,7 +258,7 @@ struct KernelCore::Impl {
KAutoObject::Create(thread.get());
ASSERT(KThread::InitializeDummyThread(thread.get()).IsSuccess());
thread->SetName(fmt::format("DummyThread:{}", GetHostThreadId()));
return std::move(thread);
return thread;
};
thread_local auto thread = make_thread();

4
src/video_core/buffer_cache/buffer_cache.h

@ -596,7 +596,7 @@ void BufferCache<P>::PopAsyncFlushes() {
runtime.CopyBuffer(download_staging.buffer, slot_buffers[buffer_id], copies);
}
runtime.Finish();
for (const auto [copy, buffer_id] : downloads) {
for (const auto& [copy, buffer_id] : downloads) {
const Buffer& buffer = slot_buffers[buffer_id];
const VAddr cpu_addr = buffer.CpuAddr() + copy.src_offset;
// Undo the modified offset
@ -606,7 +606,7 @@ void BufferCache<P>::PopAsyncFlushes() {
}
} else {
const std::span<u8> immediate_buffer = ImmediateBuffer(largest_copy);
for (const auto [copy, buffer_id] : downloads) {
for (const auto& [copy, buffer_id] : downloads) {
Buffer& buffer = slot_buffers[buffer_id];
buffer.ImmediateDownload(copy.src_offset, immediate_buffer.subspan(0, copy.size));
const VAddr cpu_addr = buffer.CpuAddr() + copy.src_offset;

Loading…
Cancel
Save