diff options
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h deleted file mode 100644 index 4b099bc55..000000000 --- a/src/video_core/rasterizer_interface.h +++ /dev/null | |||
| @@ -1,67 +0,0 @@ | |||
| 1 | // Copyright 2015 Citra 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 "common/common_types.h" | ||
| 8 | #include "core/hw/gpu.h" | ||
| 9 | |||
| 10 | struct ScreenInfo; | ||
| 11 | |||
| 12 | namespace Pica { | ||
| 13 | namespace Shader { | ||
| 14 | struct OutputVertex; | ||
| 15 | } | ||
| 16 | } | ||
| 17 | |||
| 18 | namespace VideoCore { | ||
| 19 | |||
| 20 | class RasterizerInterface { | ||
| 21 | public: | ||
| 22 | virtual ~RasterizerInterface() {} | ||
| 23 | |||
| 24 | /// Queues the primitive formed by the given vertices for rendering | ||
| 25 | virtual void AddTriangle(const Pica::Shader::OutputVertex& v0, | ||
| 26 | const Pica::Shader::OutputVertex& v1, | ||
| 27 | const Pica::Shader::OutputVertex& v2) = 0; | ||
| 28 | |||
| 29 | /// Draw the current batch of triangles | ||
| 30 | virtual void DrawTriangles() = 0; | ||
| 31 | |||
| 32 | /// Notify rasterizer that the specified PICA register has been changed | ||
| 33 | virtual void NotifyPicaRegisterChanged(u32 id) = 0; | ||
| 34 | |||
| 35 | /// Notify rasterizer that all caches should be flushed to 3DS memory | ||
| 36 | virtual void FlushAll() = 0; | ||
| 37 | |||
| 38 | /// Notify rasterizer that any caches of the specified region should be flushed to 3DS memory | ||
| 39 | virtual void FlushRegion(PAddr addr, u64 size) = 0; | ||
| 40 | |||
| 41 | /// Notify rasterizer that any caches of the specified region should be flushed to 3DS memory | ||
| 42 | /// and invalidated | ||
| 43 | virtual void FlushAndInvalidateRegion(PAddr addr, u64 size) = 0; | ||
| 44 | |||
| 45 | /// Attempt to use a faster method to perform a display transfer with is_texture_copy = 0 | ||
| 46 | virtual bool AccelerateDisplayTransfer(const GPU::Regs::DisplayTransferConfig& config) { | ||
| 47 | return false; | ||
| 48 | } | ||
| 49 | |||
| 50 | /// Attempt to use a faster method to perform a display transfer with is_texture_copy = 1 | ||
| 51 | virtual bool AccelerateTextureCopy(const GPU::Regs::DisplayTransferConfig& config) { | ||
| 52 | return false; | ||
| 53 | } | ||
| 54 | |||
| 55 | /// Attempt to use a faster method to fill a region | ||
| 56 | virtual bool AccelerateFill(const GPU::Regs::MemoryFillConfig& config) { | ||
| 57 | return false; | ||
| 58 | } | ||
| 59 | |||
| 60 | /// Attempt to use a faster method to display the framebuffer to screen | ||
| 61 | virtual bool AccelerateDisplay(const GPU::Regs::FramebufferConfig& config, | ||
| 62 | PAddr framebuffer_addr, u32 pixel_stride, | ||
| 63 | ScreenInfo& screen_info) { | ||
| 64 | return false; | ||
| 65 | } | ||
| 66 | }; | ||
| 67 | } | ||