diff options
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.h | 2 |
5 files changed, 8 insertions, 8 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h index f968b5b16..07939432f 100644 --- a/src/video_core/rasterizer_interface.h +++ b/src/video_core/rasterizer_interface.h | |||
| @@ -4,10 +4,10 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <atomic> | ||
| 8 | #include <functional> | 7 | #include <functional> |
| 9 | #include <optional> | 8 | #include <optional> |
| 10 | #include <span> | 9 | #include <span> |
| 10 | #include <stop_token> | ||
| 11 | #include "common/common_types.h" | 11 | #include "common/common_types.h" |
| 12 | #include "video_core/engines/fermi_2d.h" | 12 | #include "video_core/engines/fermi_2d.h" |
| 13 | #include "video_core/gpu.h" | 13 | #include "video_core/gpu.h" |
| @@ -123,7 +123,7 @@ public: | |||
| 123 | virtual void UpdatePagesCachedCount(VAddr addr, u64 size, int delta) {} | 123 | virtual void UpdatePagesCachedCount(VAddr addr, u64 size, int delta) {} |
| 124 | 124 | ||
| 125 | /// Initialize disk cached resources for the game being emulated | 125 | /// Initialize disk cached resources for the game being emulated |
| 126 | virtual void LoadDiskResources(u64 title_id, const std::atomic_bool& stop_loading, | 126 | virtual void LoadDiskResources(u64 title_id, std::stop_token stop_loading, |
| 127 | const DiskResourceLoadCallback& callback) {} | 127 | const DiskResourceLoadCallback& callback) {} |
| 128 | 128 | ||
| 129 | /// Grant access to the Guest Driver Profile for recording/obtaining info on the guest driver. | 129 | /// Grant access to the Guest Driver Profile for recording/obtaining info on the guest driver. |
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index f87bb269b..eb8bdaa85 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -351,7 +351,7 @@ void RasterizerOpenGL::SetupShaders(bool is_indexed) { | |||
| 351 | } | 351 | } |
| 352 | } | 352 | } |
| 353 | 353 | ||
| 354 | void RasterizerOpenGL::LoadDiskResources(u64 title_id, const std::atomic_bool& stop_loading, | 354 | void RasterizerOpenGL::LoadDiskResources(u64 title_id, std::stop_token stop_loading, |
| 355 | const VideoCore::DiskResourceLoadCallback& callback) { | 355 | const VideoCore::DiskResourceLoadCallback& callback) { |
| 356 | shader_cache.LoadDiskCache(title_id, stop_loading, callback); | 356 | shader_cache.LoadDiskCache(title_id, stop_loading, callback); |
| 357 | } | 357 | } |
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h index 76298517f..9995a563b 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.h +++ b/src/video_core/renderer_opengl/gl_rasterizer.h | |||
| @@ -94,7 +94,7 @@ public: | |||
| 94 | const Tegra::Engines::Fermi2D::Config& copy_config) override; | 94 | const Tegra::Engines::Fermi2D::Config& copy_config) override; |
| 95 | bool AccelerateDisplay(const Tegra::FramebufferConfig& config, VAddr framebuffer_addr, | 95 | bool AccelerateDisplay(const Tegra::FramebufferConfig& config, VAddr framebuffer_addr, |
| 96 | u32 pixel_stride) override; | 96 | u32 pixel_stride) override; |
| 97 | void LoadDiskResources(u64 title_id, const std::atomic_bool& stop_loading, | 97 | void LoadDiskResources(u64 title_id, std::stop_token stop_loading, |
| 98 | const VideoCore::DiskResourceLoadCallback& callback) override; | 98 | const VideoCore::DiskResourceLoadCallback& callback) override; |
| 99 | 99 | ||
| 100 | /// Returns true when there are commands queued to the OpenGL server. | 100 | /// Returns true when there are commands queued to the OpenGL server. |
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp index 5cf7cd151..5a01c59ec 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp | |||
| @@ -331,7 +331,7 @@ ShaderCacheOpenGL::ShaderCacheOpenGL(RasterizerOpenGL& rasterizer_, | |||
| 331 | 331 | ||
| 332 | ShaderCacheOpenGL::~ShaderCacheOpenGL() = default; | 332 | ShaderCacheOpenGL::~ShaderCacheOpenGL() = default; |
| 333 | 333 | ||
| 334 | void ShaderCacheOpenGL::LoadDiskCache(u64 title_id, const std::atomic_bool& stop_loading, | 334 | void ShaderCacheOpenGL::LoadDiskCache(u64 title_id, std::stop_token stop_loading, |
| 335 | const VideoCore::DiskResourceLoadCallback& callback) { | 335 | const VideoCore::DiskResourceLoadCallback& callback) { |
| 336 | disk_cache.BindTitleID(title_id); | 336 | disk_cache.BindTitleID(title_id); |
| 337 | const std::optional transferable = disk_cache.LoadTransferable(); | 337 | const std::optional transferable = disk_cache.LoadTransferable(); |
| @@ -372,7 +372,7 @@ void ShaderCacheOpenGL::LoadDiskCache(u64 title_id, const std::atomic_bool& stop | |||
| 372 | const auto scope = context->Acquire(); | 372 | const auto scope = context->Acquire(); |
| 373 | 373 | ||
| 374 | for (std::size_t i = begin; i < end; ++i) { | 374 | for (std::size_t i = begin; i < end; ++i) { |
| 375 | if (stop_loading) { | 375 | if (stop_loading.stop_requested()) { |
| 376 | return; | 376 | return; |
| 377 | } | 377 | } |
| 378 | const auto& entry = (*transferable)[i]; | 378 | const auto& entry = (*transferable)[i]; |
| @@ -435,7 +435,7 @@ void ShaderCacheOpenGL::LoadDiskCache(u64 title_id, const std::atomic_bool& stop | |||
| 435 | precompiled_cache_altered = true; | 435 | precompiled_cache_altered = true; |
| 436 | return; | 436 | return; |
| 437 | } | 437 | } |
| 438 | if (stop_loading) { | 438 | if (stop_loading.stop_requested()) { |
| 439 | return; | 439 | return; |
| 440 | } | 440 | } |
| 441 | 441 | ||
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.h b/src/video_core/renderer_opengl/gl_shader_cache.h index 2aed0697e..b30308b6f 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.h +++ b/src/video_core/renderer_opengl/gl_shader_cache.h | |||
| @@ -127,7 +127,7 @@ public: | |||
| 127 | ~ShaderCacheOpenGL() override; | 127 | ~ShaderCacheOpenGL() override; |
| 128 | 128 | ||
| 129 | /// Loads disk cache for the current game | 129 | /// Loads disk cache for the current game |
| 130 | void LoadDiskCache(u64 title_id, const std::atomic_bool& stop_loading, | 130 | void LoadDiskCache(u64 title_id, std::stop_token stop_loading, |
| 131 | const VideoCore::DiskResourceLoadCallback& callback); | 131 | const VideoCore::DiskResourceLoadCallback& callback); |
| 132 | 132 | ||
| 133 | /// Gets the current specified shader stage program | 133 | /// Gets the current specified shader stage program |