diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2022-11-24 21:48:41 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-24 21:48:41 -0500 |
| commit | 20b62dbd30e597c6d3700a22fbde5bd10169dfb2 (patch) | |
| tree | fa6c840b3ba16eb261a30ef50a34a5d0f07587c6 /src/video_core/engines/fermi_2d.h | |
| parent | 9d081a872903915a7a75b2634e310ea62d7b5dba (diff) | |
| parent | 826e0785bf6b852a4231f5f3d87655b2cf4e1856 (diff) | |
Merge pull request #9194 from FernandoS27/yfc-fermi2d
YFC - Fermi2D: Rework blit engine and add a software blitter.
Diffstat (limited to 'src/video_core/engines/fermi_2d.h')
| -rw-r--r-- | src/video_core/engines/fermi_2d.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/engines/fermi_2d.h b/src/video_core/engines/fermi_2d.h index 1229aa35b..24b518cb5 100644 --- a/src/video_core/engines/fermi_2d.h +++ b/src/video_core/engines/fermi_2d.h @@ -5,6 +5,7 @@ #include <array> #include <cstddef> +#include <memory> #include "common/bit_field.h" #include "common/common_funcs.h" #include "common/common_types.h" @@ -21,6 +22,10 @@ class RasterizerInterface; namespace Tegra::Engines { +namespace Blitter { +class SoftwareBlitEngine; +} + /** * This Engine is known as G80_2D. Documentation can be found in: * https://github.com/envytools/envytools/blob/master/rnndb/graph/g80_2d.xml @@ -32,7 +37,7 @@ namespace Tegra::Engines { class Fermi2D final : public EngineInterface { public: - explicit Fermi2D(); + explicit Fermi2D(MemoryManager& memory_manager_); ~Fermi2D() override; /// Binds a rasterizer to this engine. @@ -286,6 +291,7 @@ public: struct Config { Operation operation; Filter filter; + bool must_accelerate; s32 dst_x0; s32 dst_y0; s32 dst_x1; @@ -298,6 +304,7 @@ public: private: VideoCore::RasterizerInterface* rasterizer = nullptr; + std::unique_ptr<Blitter::SoftwareBlitEngine> sw_blitter; /// Performs the copy from the source surface to the destination surface as configured in the /// registers. |
