summaryrefslogtreecommitdiff
path: root/src/video_core/guest_driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/guest_driver.h')
-rw-r--r--src/video_core/guest_driver.h46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/video_core/guest_driver.h b/src/video_core/guest_driver.h
deleted file mode 100644
index 21e569ba1..000000000
--- a/src/video_core/guest_driver.h
+++ /dev/null
@@ -1,46 +0,0 @@
1// Copyright 2020 yuzu Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include <optional>
8#include <vector>
9
10#include "common/common_types.h"
11
12namespace VideoCore {
13
14/**
15 * The GuestDriverProfile class is used to learn about the GPU drivers behavior and collect
16 * information necessary for impossible to avoid HLE methods like shader tracks as they are
17 * Entscheidungsproblems.
18 */
19class GuestDriverProfile {
20public:
21 explicit GuestDriverProfile() = default;
22 explicit GuestDriverProfile(std::optional<u32> texture_handler_size_)
23 : texture_handler_size{texture_handler_size_} {}
24
25 void DeduceTextureHandlerSize(std::vector<u32> bound_offsets);
26
27 u32 GetTextureHandlerSize() const {
28 return texture_handler_size.value_or(default_texture_handler_size);
29 }
30
31 bool IsTextureHandlerSizeKnown() const {
32 return texture_handler_size.has_value();
33 }
34
35private:
36 // Minimum size of texture handler any driver can use.
37 static constexpr u32 min_texture_handler_size = 4;
38
39 // This goes with Vulkan and OpenGL standards but Nvidia GPUs can easily use 4 bytes instead.
40 // Thus, certain drivers may squish the size.
41 static constexpr u32 default_texture_handler_size = 8;
42
43 std::optional<u32> texture_handler_size = default_texture_handler_size;
44};
45
46} // namespace VideoCore