aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/host1x/gpu_device_memory_manager.h
blob: 1b4f57fe247fbed1db87d70cefc80c2a58de0bf6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "core/device_memory_manager.h"

namespace VideoCore {
class RasterizerInterface;
}

namespace Tegra {

struct MaxwellDeviceMethods;

struct MaxwellDeviceTraits {
    // 64 GiB: Switch 2 titles map most of their memory twice plus GPU-only regions (title 1
    // ran out of 16 GiB).
    static constexpr size_t device_virtual_bits = 36;
    using DeviceInterface = typename VideoCore::RasterizerInterface;
    using DeviceMethods = MaxwellDeviceMethods;
};

using MaxwellDeviceMemoryManager = Core::DeviceMemoryManager<MaxwellDeviceTraits>;

} // namespace Tegra