diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-04-01 23:03:32 -0300 | 
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-04-03 17:12:44 -0300 | 
| commit | 24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e (patch) | |
| tree | 2d9837feabbdae61a71f69d63fb9b7d8cacff183 /src | |
| parent | a6d5ff05dce33fcfdbfccfdb6f6ea6702c3564ec (diff) | |
shader_ir/memory: Reduce severity of ST_L cache management and log it
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 9 | ||||
| -rw-r--r-- | src/video_core/shader/decode/memory.cpp | 5 | 
2 files changed, 11 insertions, 3 deletions
| diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 7f613370b..55d32ace6 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -387,6 +387,13 @@ enum class IpaSampleMode : u64 {      Offset = 2,  }; +enum class LmemStoreCacheManagement : u64 { +    Default = 0, +    CG = 1, +    CS = 2, +    WT = 3, +}; +  struct IpaMode {      IpaInterpMode interpolation_mode;      IpaSampleMode sampling_mode; @@ -782,7 +789,7 @@ union Instruction {      } ld_l;      union { -        BitField<44, 2, u64> unknown; +        BitField<44, 2, LmemStoreCacheManagement> cache_management;      } st_l;      union { diff --git a/src/video_core/shader/decode/memory.cpp b/src/video_core/shader/decode/memory.cpp index ea3c71eed..a272c6233 100644 --- a/src/video_core/shader/decode/memory.cpp +++ b/src/video_core/shader/decode/memory.cpp @@ -8,6 +8,7 @@  #include "common/assert.h"  #include "common/common_types.h" +#include "common/logging/log.h"  #include "video_core/engines/shader_bytecode.h"  #include "video_core/shader/shader_ir.h" @@ -205,8 +206,8 @@ u32 ShaderIR::DecodeMemory(NodeBlock& bb, u32 pc) {          break;      }      case OpCode::Id::ST_L: { -        UNIMPLEMENTED_IF_MSG(instr.st_l.unknown == 0, "ST_L Unhandled mode: {}", -                             static_cast<u32>(instr.st_l.unknown.Value())); +        LOG_DEBUG(HW_GPU, "ST_L cache management mode: {}", +                  static_cast<u64>(instr.st_l.cache_management.Value()));          const auto GetLmemAddr = [&](s32 offset) {              ASSERT(offset % 4 == 0); | 
