diff options
| author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-06-09 23:33:48 -0400 | 
|---|---|---|
| committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:35 -0400 | 
| commit | 15bdd27cac4a0b1e6cd168272dc337cd685ef144 (patch) | |
| tree | ae1d5c1a93bfc500e3603cb4fad8318676a13f1d | |
| parent | 7eaa74ad235b669608debaf3583af94bd675b6c6 (diff) | |
shader_environment: Add shader_local_memory_crs_size to local memory size
Fixes DOOM 2016 missing local memory
| -rw-r--r-- | src/shader_recompiler/program_header.h | 4 | ||||
| -rw-r--r-- | src/video_core/shader_environment.cpp | 2 | 
2 files changed, 3 insertions, 3 deletions
| diff --git a/src/shader_recompiler/program_header.h b/src/shader_recompiler/program_header.h index 15f43f2d8..6933750aa 100644 --- a/src/shader_recompiler/program_header.h +++ b/src/shader_recompiler/program_header.h @@ -230,8 +230,8 @@ struct ProgramHeader {      };      [[nodiscard]] u64 LocalMemorySize() const noexcept { -        return (common1.shader_local_memory_low_size | -                (common2.shader_local_memory_high_size << 24)); +        return static_cast<u64>(common1.shader_local_memory_low_size) | +               (static_cast<u64>(common2.shader_local_memory_high_size) << 24);      }  };  static_assert(sizeof(ProgramHeader) == 0x50, "Incorrect structure size"); diff --git a/src/video_core/shader_environment.cpp b/src/video_core/shader_environment.cpp index c93174519..a7a57a36f 100644 --- a/src/video_core/shader_environment.cpp +++ b/src/video_core/shader_environment.cpp @@ -69,7 +69,7 @@ u32 GenericEnvironment::TextureBoundBuffer() const {  }  u32 GenericEnvironment::LocalMemorySize() const { -    return local_memory_size; +    return local_memory_size + sph.common3.shader_local_memory_crs_size;  }  u32 GenericEnvironment::SharedMemorySize() const { | 
