diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-04-02 04:03:32 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-04-03 22:12:44 +0200 |
commit | 24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e (patch) | |
tree | 2d9837feabbdae61a71f69d63fb9b7d8cacff183 /src/video_core | |
parent | Merge pull request #2294 from lioncash/fatal (diff) | |
download | yuzu-24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e.tar yuzu-24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e.tar.gz yuzu-24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e.tar.bz2 yuzu-24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e.tar.lz yuzu-24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e.tar.xz yuzu-24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e.tar.zst yuzu-24abeb9a67a45ba9c1d67163b7b75cac8aa3d03e.zip |
Diffstat (limited to 'src/video_core')
-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); |