summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/core/container.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/nvdrv/core/container.h')
-rw-r--r--src/core/hle/service/nvdrv/core/container.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/hle/service/nvdrv/core/container.h b/src/core/hle/service/nvdrv/core/container.h
index b4b63ac90..a1fd20199 100644
--- a/src/core/hle/service/nvdrv/core/container.h
+++ b/src/core/hle/service/nvdrv/core/container.h
@@ -10,6 +10,10 @@
#include "core/hle/service/nvdrv/nvdata.h"
+namespace Kernel {
+class KProcess;
+}
+
namespace Tegra::Host1x {
class Host1x;
} // namespace Tegra::Host1x
@@ -21,11 +25,22 @@ class SyncpointManager;
struct ContainerImpl;
+struct Session {
+ size_t id;
+ Kernel::KProcess* process;
+ size_t smmu_id;
+};
+
class Container {
public:
explicit Container(Tegra::Host1x::Host1x& host1x);
~Container();
+ size_t OpenSession(Kernel::KProcess* process);
+ void CloseSession(size_t id);
+
+ Session* GetSession(size_t id);
+
NvMap& GetNvMapFile();
const NvMap& GetNvMapFile() const;