diff options
| author | 2019-11-06 23:41:32 -0300 | |
|---|---|---|
| committer | 2019-11-07 20:43:31 -0300 | |
| commit | bfa973a62b19e4707d0846027b57a31efe8433d7 (patch) | |
| tree | 95ed02c560e75a06ddfe652ef598adf106e88232 /src | |
| parent | Merge pull request #3032 from ReinUsesLisp/simplify-control-flow-brx (diff) | |
| download | yuzu-bfa973a62b19e4707d0846027b57a31efe8433d7.tar.gz yuzu-bfa973a62b19e4707d0846027b57a31efe8433d7.tar.xz yuzu-bfa973a62b19e4707d0846027b57a31efe8433d7.zip | |
gl_shader_cache: Fix locker constructors
Properly pass engine when a shader is being constructed from memory.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp index f1b89165d..35e5214a5 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp | |||
| @@ -394,7 +394,8 @@ Shader CachedShader::CreateStageFromMemory(const ShaderParameters& params, | |||
| 394 | params.disk_cache.SaveRaw(ShaderDiskCacheRaw( | 394 | params.disk_cache.SaveRaw(ShaderDiskCacheRaw( |
| 395 | params.unique_identifier, GetProgramType(program_type), program_code, program_code_b)); | 395 | params.unique_identifier, GetProgramType(program_type), program_code, program_code_b)); |
| 396 | 396 | ||
| 397 | ConstBufferLocker locker(GetEnginesShaderType(GetProgramType(program_type))); | 397 | ConstBufferLocker locker(GetEnginesShaderType(GetProgramType(program_type)), |
| 398 | params.system.GPU().Maxwell3D()); | ||
| 398 | const ShaderIR ir(program_code, STAGE_MAIN_OFFSET, COMPILER_SETTINGS, locker); | 399 | const ShaderIR ir(program_code, STAGE_MAIN_OFFSET, COMPILER_SETTINGS, locker); |
| 399 | // TODO(Rodrigo): Handle VertexA shaders | 400 | // TODO(Rodrigo): Handle VertexA shaders |
| 400 | // std::optional<ShaderIR> ir_b; | 401 | // std::optional<ShaderIR> ir_b; |
| @@ -410,7 +411,8 @@ Shader CachedShader::CreateKernelFromMemory(const ShaderParameters& params, Prog | |||
| 410 | params.disk_cache.SaveRaw( | 411 | params.disk_cache.SaveRaw( |
| 411 | ShaderDiskCacheRaw(params.unique_identifier, ProgramType::Compute, code)); | 412 | ShaderDiskCacheRaw(params.unique_identifier, ProgramType::Compute, code)); |
| 412 | 413 | ||
| 413 | ConstBufferLocker locker(Tegra::Engines::ShaderType::Compute); | 414 | ConstBufferLocker locker(Tegra::Engines::ShaderType::Compute, |
| 415 | params.system.GPU().KeplerCompute()); | ||
| 414 | const ShaderIR ir(code, KERNEL_MAIN_OFFSET, COMPILER_SETTINGS, locker); | 416 | const ShaderIR ir(code, KERNEL_MAIN_OFFSET, COMPILER_SETTINGS, locker); |
| 415 | return std::shared_ptr<CachedShader>(new CachedShader( | 417 | return std::shared_ptr<CachedShader>(new CachedShader( |
| 416 | params, ProgramType::Compute, GLShader::GetEntries(ir), std::move(code), {})); | 418 | params, ProgramType::Compute, GLShader::GetEntries(ir), std::move(code), {})); |