diff options
Diffstat (limited to 'src/video_core/shader_cache.cpp')
| -rw-r--r-- | src/video_core/shader_cache.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/video_core/shader_cache.cpp b/src/video_core/shader_cache.cpp index 01701201d..e81cd031b 100644 --- a/src/video_core/shader_cache.cpp +++ b/src/video_core/shader_cache.cpp | |||
| @@ -51,6 +51,11 @@ bool ShaderCache::RefreshStages(std::array<u64, 6>& unique_hashes) { | |||
| 51 | } | 51 | } |
| 52 | const auto& shader_config{maxwell3d->regs.pipelines[index]}; | 52 | const auto& shader_config{maxwell3d->regs.pipelines[index]}; |
| 53 | const auto program{static_cast<Tegra::Engines::Maxwell3D::Regs::ShaderType>(index)}; | 53 | const auto program{static_cast<Tegra::Engines::Maxwell3D::Regs::ShaderType>(index)}; |
| 54 | if (program == Tegra::Engines::Maxwell3D::Regs::ShaderType::Pixel && | ||
| 55 | !maxwell3d->regs.rasterize_enable) { | ||
| 56 | unique_hashes[index] = 0; | ||
| 57 | continue; | ||
| 58 | } | ||
| 54 | const GPUVAddr shader_addr{base_addr + shader_config.offset}; | 59 | const GPUVAddr shader_addr{base_addr + shader_config.offset}; |
| 55 | const std::optional<VAddr> cpu_shader_addr{gpu_memory->GpuToCpuAddress(shader_addr)}; | 60 | const std::optional<VAddr> cpu_shader_addr{gpu_memory->GpuToCpuAddress(shader_addr)}; |
| 56 | if (!cpu_shader_addr) { | 61 | if (!cpu_shader_addr) { |