diff options
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/video_core/engines/engine_interface.h | 5 | ||||
| -rw-r--r-- | src/video_core/engines/fermi_2d.h | 3 | ||||
| -rw-r--r-- | src/video_core/engines/kepler_compute.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/engines/kepler_compute.h | 3 | ||||
| -rw-r--r-- | src/video_core/engines/kepler_memory.h | 3 | ||||
| -rw-r--r-- | src/video_core/engines/maxwell_3d.h | 3 | ||||
| -rw-r--r-- | src/video_core/engines/maxwell_dma.h | 3 | ||||
| -rw-r--r-- | src/video_core/gpu.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/textures/decoders.h | 1 |
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 | ||
| 25 | KeplerCompute::~KeplerCompute() = default; | 25 | KeplerCompute::~KeplerCompute() = default; |
| 26 | 26 | ||
| 27 | void KeplerCompute::CallMethod(u32 method, u32 method_argument, bool is_last_call) { | 27 | void 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 | |||
| 59 | void SwizzleKepler(u32 width, u32 height, u32 dst_x, u32 dst_y, u32 block_height, | 59 | void 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' | ||
| 62 | u64 GetGOBOffset(u32 width, u32 height, u32 dst_x, u32 dst_y, u32 block_height, | 63 | u64 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 | ||