diff options
| author | Liam <byteslice@airmail.cc> | 2024-01-26 16:10:21 -0500 |
|---|---|---|
| committer | Liam <byteslice@airmail.cc> | 2024-02-09 09:20:53 -0500 |
| commit | 0cb413c3d31b93ce347e997b9674c304094dab09 (patch) | |
| tree | 959ef73963ea1e7975690d31eaf4ddc2f2ad6e19 /src/video_core/renderer_vulkan/renderer_vulkan.h | |
| parent | 962c82540c304f909957776908aabcd261f2a7ba (diff) | |
nvnflinger/gpu: implement applet capture
Diffstat (limited to 'src/video_core/renderer_vulkan/renderer_vulkan.h')
| -rw-r--r-- | src/video_core/renderer_vulkan/renderer_vulkan.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.h b/src/video_core/renderer_vulkan/renderer_vulkan.h index ed9c7af7f..fb9d83412 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.h +++ b/src/video_core/renderer_vulkan/renderer_vulkan.h @@ -48,6 +48,8 @@ public: void Composite(std::span<const Tegra::FramebufferConfig> framebuffers) override; + std::vector<u8> GetAppletCaptureBuffer() override; + VideoCore::RasterizerInterface* ReadRasterizer() override { return &rasterizer; } @@ -59,7 +61,11 @@ public: private: void Report() const; + vk::Buffer RenderToBuffer(std::span<const Tegra::FramebufferConfig> framebuffers, + const Layout::FramebufferLayout& layout, VkFormat format, + VkDeviceSize buffer_size); void RenderScreenshot(std::span<const Tegra::FramebufferConfig> framebuffers); + void RenderAppletCaptureLayer(std::span<const Tegra::FramebufferConfig> framebuffers); Core::TelemetrySession& telemetry_session; Tegra::MaxwellDeviceMemoryManager& device_memory; @@ -79,12 +85,12 @@ private: Swapchain swapchain; PresentManager present_manager; BlitScreen blit_swapchain; - BlitScreen blit_screenshot; - BlitScreen blit_application_layer; + BlitScreen blit_capture; + BlitScreen blit_applet; RasterizerVulkan rasterizer; std::optional<TurboMode> turbo_mode; - Frame application_frame; + Frame applet_frame; }; } // namespace Vulkan |
