diff options
| -rw-r--r-- | src/core/core.cpp | 4 | ||||
| -rw-r--r-- | src/core/core.h | 2 | ||||
| -rw-r--r-- | src/video_core/command_processor.cpp | 4 | ||||
| -rw-r--r-- | src/video_core/gpu.h | 4 | 
4 files changed, 7 insertions, 7 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 29983b9b4..cbab80881 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -441,8 +441,8 @@ void System::SetGPUDebugContext(std::shared_ptr<Tegra::DebugContext> context) {      impl->debug_context = std::move(context);  } -std::shared_ptr<Tegra::DebugContext> System::GetGPUDebugContext() const { -    return impl->debug_context; +Tegra::DebugContext* System::GetGPUDebugContext() const { +    return impl->debug_context.get();  }  void System::SetFilesystem(std::shared_ptr<FileSys::VfsFilesystem> vfs) { diff --git a/src/core/core.h b/src/core/core.h index eee1fecc1..5c3c0e2a1 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -209,7 +209,7 @@ public:      void SetGPUDebugContext(std::shared_ptr<Tegra::DebugContext> context); -    std::shared_ptr<Tegra::DebugContext> GetGPUDebugContext() const; +    Tegra::DebugContext* GetGPUDebugContext() const;      void SetFilesystem(std::shared_ptr<FileSys::VfsFilesystem> vfs); 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;  | 
