summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/CMakeLists.txt1
-rw-r--r--src/video_core/engines/engine_interface.h5
-rw-r--r--src/video_core/engines/fermi_2d.h3
-rw-r--r--src/video_core/engines/kepler_compute.cpp2
-rw-r--r--src/video_core/engines/kepler_compute.h3
-rw-r--r--src/video_core/engines/kepler_memory.h3
-rw-r--r--src/video_core/engines/maxwell_3d.h3
-rw-r--r--src/video_core/engines/maxwell_dma.h3
-rw-r--r--src/video_core/gpu.cpp6
-rw-r--r--src/video_core/textures/decoders.h1
10 files changed, 20 insertions, 10 deletions
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index 8ede4ba9b..4e86bc4f7 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -8,6 +8,7 @@ add_library(video_core STATIC
8 dma_pusher.h 8 dma_pusher.h
9 engines/const_buffer_engine_interface.h 9 engines/const_buffer_engine_interface.h
10 engines/const_buffer_info.h 10 engines/const_buffer_info.h
11 engines/engine_interface.h
11 engines/engine_upload.cpp 12 engines/engine_upload.cpp
12 engines/engine_upload.h 13 engines/engine_upload.h
13 engines/fermi_2d.cpp 14 engines/fermi_2d.cpp
diff --git a/src/video_core/engines/engine_interface.h b/src/video_core/engines/engine_interface.h
index c8f20408d..18a9db7e6 100644
--- a/src/video_core/engines/engine_interface.h
+++ b/src/video_core/engines/engine_interface.h
@@ -15,7 +15,8 @@ public:
15 virtual void CallMethod(u32 method, u32 method_argument, bool is_last_call) = 0; 15 virtual void CallMethod(u32 method, u32 method_argument, bool is_last_call) = 0;
16 16
17 /// Write multiple values to the register identified by method. 17 /// Write multiple values to the register identified by method.
18 virtual void CallMultiMethod(u32 method, const u32* base_start, u32 amount, u32 methods_pending) = 0; 18 virtual void CallMultiMethod(u32 method, const u32* base_start, u32 amount,
19 u32 methods_pending) = 0;
19}; 20};
20 21
21} 22} // namespace Tegra::Engines
diff --git a/src/video_core/engines/fermi_2d.h b/src/video_core/engines/fermi_2d.h
index 77c2a0e39..8f37d053f 100644
--- a/src/video_core/engines/fermi_2d.h
+++ b/src/video_core/engines/fermi_2d.h
@@ -41,7 +41,8 @@ public:
41 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override; 41 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
42 42
43 /// Write multiple values to the register identified by method. 43 /// Write multiple values to the register identified by method.
44 void CallMultiMethod(u32 method, const u32* base_start, u32 amount, u32 methods_pending) override; 44 void CallMultiMethod(u32 method, const u32* base_start, u32 amount,
45 u32 methods_pending) override;
45 46
46 enum class Origin : u32 { 47 enum class Origin : u32 {
47 Center = 0, 48 Center = 0,
diff --git a/src/video_core/engines/kepler_compute.cpp b/src/video_core/engines/kepler_compute.cpp
index 88717b431..f6237fc6a 100644
--- a/src/video_core/engines/kepler_compute.cpp
+++ b/src/video_core/engines/kepler_compute.cpp
@@ -24,7 +24,7 @@ KeplerCompute::KeplerCompute(Core::System& system, VideoCore::RasterizerInterfac
24 24
25KeplerCompute::~KeplerCompute() = default; 25KeplerCompute::~KeplerCompute() = default;
26 26
27void KeplerCompute::CallMethod(u32 method, u32 method_argument, bool is_last_call) { 27void KeplerCompute::CallMethod(u32 method, u32 method_argument, bool is_last_call) {
28 ASSERT_MSG(method < Regs::NUM_REGS, 28 ASSERT_MSG(method < Regs::NUM_REGS,
29 "Invalid KeplerCompute register, increase the size of the Regs structure"); 29 "Invalid KeplerCompute register, increase the size of the Regs structure");
30 30
diff --git a/src/video_core/engines/kepler_compute.h b/src/video_core/engines/kepler_compute.h
index abeb41e84..18ceedfaf 100644
--- a/src/video_core/engines/kepler_compute.h
+++ b/src/video_core/engines/kepler_compute.h
@@ -204,7 +204,8 @@ public:
204 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override; 204 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
205 205
206 /// Write multiple values to the register identified by method. 206 /// Write multiple values to the register identified by method.
207 void CallMultiMethod(u32 method, const u32* base_start, u32 amount, u32 methods_pending) override; 207 void CallMultiMethod(u32 method, const u32* base_start, u32 amount,
208 u32 methods_pending) override;
208 209
209 Texture::FullTextureInfo GetTexture(std::size_t offset) const; 210 Texture::FullTextureInfo GetTexture(std::size_t offset) const;
210 211
diff --git a/src/video_core/engines/kepler_memory.h b/src/video_core/engines/kepler_memory.h
index 193caf206..5b7f71a00 100644
--- a/src/video_core/engines/kepler_memory.h
+++ b/src/video_core/engines/kepler_memory.h
@@ -42,7 +42,8 @@ public:
42 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override; 42 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
43 43
44 /// Write multiple values to the register identified by method. 44 /// Write multiple values to the register identified by method.
45 void CallMultiMethod(u32 method, const u32* base_start, u32 amount, u32 methods_pending) override; 45 void CallMultiMethod(u32 method, const u32* base_start, u32 amount,
46 u32 methods_pending) override;
46 47
47 struct Regs { 48 struct Regs {
48 static constexpr size_t NUM_REGS = 0x7F; 49 static constexpr size_t NUM_REGS = 0x7F;
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 3d1e49c7c..9d3f181ff 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -1361,7 +1361,8 @@ public:
1361 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override; 1361 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
1362 1362
1363 /// Write multiple values to the register identified by method. 1363 /// Write multiple values to the register identified by method.
1364 void CallMultiMethod(u32 method, const u32* base_start, u32 amount, u32 methods_pending) override; 1364 void CallMultiMethod(u32 method, const u32* base_start, u32 amount,
1365 u32 methods_pending) override;
1365 1366
1366 /// Write the value to the register identified by method. 1367 /// Write the value to the register identified by method.
1367 void CallMethodFromMME(u32 method, u32 method_argument); 1368 void CallMethodFromMME(u32 method, u32 method_argument);
diff --git a/src/video_core/engines/maxwell_dma.h b/src/video_core/engines/maxwell_dma.h
index 65739f2e3..502dd8509 100644
--- a/src/video_core/engines/maxwell_dma.h
+++ b/src/video_core/engines/maxwell_dma.h
@@ -37,7 +37,8 @@ public:
37 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override; 37 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
38 38
39 /// Write multiple values to the register identified by method. 39 /// Write multiple values to the register identified by method.
40 void CallMultiMethod(u32 method, const u32* base_start, u32 amount, u32 methods_pending) override; 40 void CallMultiMethod(u32 method, const u32* base_start, u32 amount,
41 u32 methods_pending) override;
41 42
42 struct Regs { 43 struct Regs {
43 static constexpr std::size_t NUM_REGS = 0x1D6; 44 static constexpr std::size_t NUM_REGS = 0x1D6;
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp
index f10d69fd5..c4f33838c 100644
--- a/src/video_core/gpu.cpp
+++ b/src/video_core/gpu.cpp
@@ -305,13 +305,15 @@ void GPU::CallEngineMethod(const MethodCall& method_call) {
305 maxwell_3d->CallMethod(method_call.method, method_call.argument, method_call.IsLastCall()); 305 maxwell_3d->CallMethod(method_call.method, method_call.argument, method_call.IsLastCall());
306 break; 306 break;
307 case EngineID::KEPLER_COMPUTE_B: 307 case EngineID::KEPLER_COMPUTE_B:
308 kepler_compute->CallMethod(method_call.method, method_call.argument, method_call.IsLastCall()); 308 kepler_compute->CallMethod(method_call.method, method_call.argument,
309 method_call.IsLastCall());
309 break; 310 break;
310 case EngineID::MAXWELL_DMA_COPY_A: 311 case EngineID::MAXWELL_DMA_COPY_A:
311 maxwell_dma->CallMethod(method_call.method, method_call.argument, method_call.IsLastCall()); 312 maxwell_dma->CallMethod(method_call.method, method_call.argument, method_call.IsLastCall());
312 break; 313 break;
313 case EngineID::KEPLER_INLINE_TO_MEMORY_B: 314 case EngineID::KEPLER_INLINE_TO_MEMORY_B:
314 kepler_memory->CallMethod(method_call.method, method_call.argument, method_call.IsLastCall()); 315 kepler_memory->CallMethod(method_call.method, method_call.argument,
316 method_call.IsLastCall());
315 break; 317 break;
316 default: 318 default:
317 UNIMPLEMENTED_MSG("Unimplemented engine"); 319 UNIMPLEMENTED_MSG("Unimplemented engine");
diff --git a/src/video_core/textures/decoders.h b/src/video_core/textures/decoders.h
index e0ff83754..06f3ebf87 100644
--- a/src/video_core/textures/decoders.h
+++ b/src/video_core/textures/decoders.h
@@ -59,6 +59,7 @@ void UnswizzleSubrect(u32 subrect_width, u32 subrect_height, u32 dest_pitch, u32
59void SwizzleKepler(u32 width, u32 height, u32 dst_x, u32 dst_y, u32 block_height, 59void SwizzleKepler(u32 width, u32 height, u32 dst_x, u32 dst_y, u32 block_height,
60 std::size_t copy_size, const u8* source_data, u8* swizzle_data); 60 std::size_t copy_size, const u8* source_data, u8* swizzle_data);
61 61
62/// Obtains the offset of the gob for positions 'dst_x' & 'dst_y'
62u64 GetGOBOffset(u32 width, u32 height, u32 dst_x, u32 dst_y, u32 block_height, 63u64 GetGOBOffset(u32 width, u32 height, u32 dst_x, u32 dst_y, u32 block_height,
63 u32 bytes_per_pixel); 64 u32 bytes_per_pixel);
64 65