diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-02-02 04:38:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-02 04:38:13 +0100 |
commit | 8a33f8bd303221fdcbdebe2579e3fbefa03b385e (patch) | |
tree | 47c1df67181d5f6752b9f532c5c4284510d4aff1 /src/video_core/renderer_opengl/gl_compute_pipeline.h | |
parent | Merge pull request #9703 from ameerj/txq-ms (diff) | |
parent | gl_compute_pipeline: Force context flush when loading shader cache (diff) | |
download | yuzu-8a33f8bd303221fdcbdebe2579e3fbefa03b385e.tar yuzu-8a33f8bd303221fdcbdebe2579e3fbefa03b385e.tar.gz yuzu-8a33f8bd303221fdcbdebe2579e3fbefa03b385e.tar.bz2 yuzu-8a33f8bd303221fdcbdebe2579e3fbefa03b385e.tar.lz yuzu-8a33f8bd303221fdcbdebe2579e3fbefa03b385e.tar.xz yuzu-8a33f8bd303221fdcbdebe2579e3fbefa03b385e.tar.zst yuzu-8a33f8bd303221fdcbdebe2579e3fbefa03b385e.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_compute_pipeline.h')
-rw-r--r-- | src/video_core/renderer_opengl/gl_compute_pipeline.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_compute_pipeline.h b/src/video_core/renderer_opengl/gl_compute_pipeline.h index 6534dec32..9bcc72b59 100644 --- a/src/video_core/renderer_opengl/gl_compute_pipeline.h +++ b/src/video_core/renderer_opengl/gl_compute_pipeline.h @@ -50,7 +50,8 @@ class ComputePipeline { public: explicit ComputePipeline(const Device& device, TextureCache& texture_cache_, BufferCache& buffer_cache_, ProgramManager& program_manager_, - const Shader::Info& info_, std::string code, std::vector<u32> code_v); + const Shader::Info& info_, std::string code, std::vector<u32> code_v, + bool force_context_flush = false); void Configure(); @@ -65,6 +66,8 @@ public: } private: + void WaitForBuild(); + TextureCache& texture_cache; BufferCache& buffer_cache; Tegra::MemoryManager* gpu_memory; @@ -81,6 +84,11 @@ private: bool use_storage_buffers{}; bool writes_global_memory{}; + + std::mutex built_mutex; + std::condition_variable built_condvar; + OGLSync built_fence{}; + bool is_built{false}; }; } // namespace OpenGL |