diff options
| author | Stenzek <stenzek@gmail.com> | 2019-04-15 23:38:10 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2019-04-16 00:39:43 +1000 |
| commit | 616ad378b7e129645714858ebd0e541471704487 (patch) | |
| tree | 39f3b0d19670b07de65a122d6152533ec5c9424d /Source/Core/VideoBackends/OGL/ProgramShaderCache.h | |
| parent | 5cef09e383c7f9c3bf006407d06f68d18b2db438 (diff) | |
OGL: Support returning pipeline cache data
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.h')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/ProgramShaderCache.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.h b/Source/Core/VideoBackends/OGL/ProgramShaderCache.h index 7fc267dc5d..b7e4dd6d00 100644 --- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.h +++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.h @@ -63,6 +63,7 @@ struct PipelineProgram PipelineProgramKey key; SHADER shader; std::atomic_size_t reference_count{1}; + bool binary_retrieved = false; }; class ProgramShaderCache @@ -97,11 +98,12 @@ public: // pipeline do not match the pipeline configuration. static u64 GenerateShaderID(); - static const PipelineProgram* GetPipelineProgram(const GLVertexFormat* vertex_format, - const OGLShader* vertex_shader, - const OGLShader* geometry_shader, - const OGLShader* pixel_shader); - static void ReleasePipelineProgram(const PipelineProgram* prog); + static PipelineProgram* GetPipelineProgram(const GLVertexFormat* vertex_format, + const OGLShader* vertex_shader, + const OGLShader* geometry_shader, + const OGLShader* pixel_shader, const void* cache_data, + size_t cache_data_size); + static void ReleasePipelineProgram(PipelineProgram* prog); private: typedef std::unordered_map<PipelineProgramKey, std::unique_ptr<PipelineProgram>, |
