diff options
author | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-08-03 12:18:35 +0100 |
---|---|---|
committer | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-08-03 15:30:27 +0100 |
commit | dfb7fc8293a528d6c8cc2abef7fac5a6a7bf2883 (patch) | |
tree | faf1c9bce2d7159b0f9b7bb3cdd08be7f47f7847 /src/video_core/shader_cache.cpp | |
parent | 096644c01cb8cd30589d5f168fdabaac5aad174a (diff) |
Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
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 01701201d1..e81cd031bf 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) { } const auto& shader_config{maxwell3d->regs.pipelines[index]}; const auto program{static_cast<Tegra::Engines::Maxwell3D::Regs::ShaderType>(index)}; + if (program == Tegra::Engines::Maxwell3D::Regs::ShaderType::Pixel && + !maxwell3d->regs.rasterize_enable) { + unique_hashes[index] = 0; + continue; + } const GPUVAddr shader_addr{base_addr + shader_config.offset}; const std::optional<VAddr> cpu_shader_addr{gpu_memory->GpuToCpuAddress(shader_addr)}; if (!cpu_shader_addr) { |