summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-09-04 12:16:06 -0400
committerGitHub <noreply@github.com>2018-09-04 12:16:06 -0400
commit9a07e9f8057323dbec477a8e90e626bf80fc1a61 (patch)
tree12fa8788cbe0e913bbcbee452ccbac65fdef742f /src/video_core
parented37b68fb5717f173b617f888980c012dc5c6a04 (diff)
parentdce624e3f12f1fb8bab66a3e974037501653b3ed (diff)
Merge pull request #1237 from degasus/optimizations
Optimizations
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/command_processor.cpp4
-rw-r--r--src/video_core/gpu.h4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/command_processor.cpp b/src/video_core/command_processor.cpp
index dc485e811..d5831e752 100644
--- a/src/video_core/command_processor.cpp
+++ b/src/video_core/command_processor.cpp
@@ -34,6 +34,8 @@ void GPU::WriteReg(u32 method, u32 subchannel, u32 value, u32 remaining_params)
"{:08X} remaining params {}",
method, subchannel, value, remaining_params);
+ ASSERT(subchannel < bound_engines.size());
+
if (method == static_cast<u32>(BufferMethods::BindObject)) {
// Bind the current subchannel to the desired engine id.
LOG_DEBUG(HW_GPU, "Binding subchannel {} to engine {}", subchannel, value);
@@ -47,8 +49,6 @@ void GPU::WriteReg(u32 method, u32 subchannel, u32 value, u32 remaining_params)
return;
}
- ASSERT(bound_engines.find(subchannel) != bound_engines.end());
-
const EngineID engine = bound_engines[subchannel];
switch (engine) {
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h
index 2c3dbd97b..d29f31f52 100644
--- a/src/video_core/gpu.h
+++ b/src/video_core/gpu.h
@@ -4,8 +4,8 @@
#pragma once
+#include <array>
#include <memory>
-#include <unordered_map>
#include "common/common_types.h"
#include "core/hle/service/nvflinger/buffer_queue.h"
#include "video_core/memory_manager.h"
@@ -136,7 +136,7 @@ private:
std::unique_ptr<Tegra::MemoryManager> memory_manager;
/// Mapping of command subchannels to their bound engine ids.
- std::unordered_map<u32, EngineID> bound_engines;
+ std::array<EngineID, 8> bound_engines = {};
/// 3D engine
std::unique_ptr<Engines::Maxwell3D> maxwell_3d;