diff options
| author | cirakg <cirakg@cirakg.xyz> | 2026-11-03 21:58:24 +0100 |
|---|---|---|
| committer | cirakg <cirakg@cirakg.xyz> | 2026-11-03 21:58:24 +0100 |
| commit | cdfb1ae93444c0aa02dfe592af36d70ab36549fd (patch) | |
| tree | 2fa8d7062d907d5ab8d85d64c66be87ea4cdf0d1 /src/video_core/renderer_vulkan/vk_texture_cache.h | |
| parent | 51341ec09b25de1d9b01d0c00ee828dd5b861d5c (diff) | |
| parent | 4383b9787afbf6c63291bf803c8330afb4f21a16 (diff) | |
# Conflicts:
# .github/workflows/release-binaries.yml
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_texture_cache.h')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h index e7dbb97628..44bd21615b 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.h +++ b/src/video_core/renderer_vulkan/vk_texture_cache.h @@ -17,6 +17,9 @@ #include "shader_recompiler/shader_info.h" #include "video_core/renderer_vulkan/vk_compute_pass.h" #include "video_core/renderer_vulkan/vk_fsr3_upscaler.h" +#ifdef EGLANTINE_STREAMLINE +#include "video_core/renderer_vulkan/vk_streamline_dlss.h" +#endif #include "video_core/renderer_vulkan/vk_render_pass_cache.h" #include "video_core/renderer_vulkan/vk_staging_buffer_pool.h" #include "video_core/texture_cache/image_view_base.h" @@ -208,6 +211,20 @@ public: bool fsr3_unsupported{}; std::optional<std::chrono::steady_clock::time_point> fsr3_last_evaluation; + /// Draws an upscaler's RGBA16F output into the DLSS output and returns it to GENERAL. + void DrawUpscaledOutput(Framebuffer* dst_framebuffer, VkImageView view, VkImage image, + VkSampler sampler); +#ifdef EGLANTINE_STREAMLINE + /// NVIDIA's DLSS (through NVIDIA Streamline) in place of the game's, + /// before FSR 3.1, when the setting is on. Returns false to fall back to FSR 3.1. + bool UpscaleWithDlss(Framebuffer* dst_framebuffer, ImageView& input_color, + ImageView& motion_vectors, ImageView& depth, + std::array<u32, 2> render_size, std::array<f32, 2> jitter, + std::array<f32, 2> motion_scale, bool reset); + std::unique_ptr<StreamlineDlssUpscaler> dlss_upscaler; + bool dlss_unsupported{}; +#endif + /// TemporalUpscale's history: its previous result (images[current]) and the image the next /// result is stored to. struct TemporalHistory { |
