Merge pull request #2315 from ReinUsesLisp/severity-decompiler
shader_ir/decode: Reduce the severity of common assertions
This commit is contained in:
commit
0cfbd3325b
2 changed files with 20 additions and 5 deletions
|
@ -387,6 +387,20 @@ enum class IpaSampleMode : u64 {
|
|||
Offset = 2,
|
||||
};
|
||||
|
||||
enum class LmemLoadCacheManagement : u64 {
|
||||
Default = 0,
|
||||
LU = 1,
|
||||
CI = 2,
|
||||
CV = 3,
|
||||
};
|
||||
|
||||
enum class LmemStoreCacheManagement : u64 {
|
||||
Default = 0,
|
||||
CG = 1,
|
||||
CS = 2,
|
||||
WT = 3,
|
||||
};
|
||||
|
||||
struct IpaMode {
|
||||
IpaInterpMode interpolation_mode;
|
||||
IpaSampleMode sampling_mode;
|
||||
|
@ -782,7 +796,7 @@ union Instruction {
|
|||
} ld_l;
|
||||
|
||||
union {
|
||||
BitField<44, 2, u64> unknown;
|
||||
BitField<44, 2, LmemStoreCacheManagement> cache_management;
|
||||
} st_l;
|
||||
|
||||
union {
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
@ -102,8 +103,8 @@ u32 ShaderIR::DecodeMemory(NodeBlock& bb, u32 pc) {
|
|||
break;
|
||||
}
|
||||
case OpCode::Id::LD_L: {
|
||||
UNIMPLEMENTED_IF_MSG(instr.ld_l.unknown == 1, "LD_L Unhandled mode: {}",
|
||||
static_cast<u32>(instr.ld_l.unknown.Value()));
|
||||
LOG_DEBUG(HW_GPU, "LD_L cache management mode: {}",
|
||||
static_cast<u64>(instr.ld_l.unknown.Value()));
|
||||
|
||||
const auto GetLmem = [&](s32 offset) {
|
||||
ASSERT(offset % 4 == 0);
|
||||
|
@ -214,8 +215,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);
|
||||
|
|
Loading…
Reference in a new issue