diff options
author | bunnei <bunneidev@gmail.com> | 2019-01-26 05:42:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-26 05:42:14 +0100 |
commit | 1f4ca1e841cd0b0427218d787efe10a3fa62df33 (patch) | |
tree | 00cc1743c6a6ba593e3b56897b13c2272a71d779 /src/video_core/engines | |
parent | Merge pull request #2054 from bunnei/scope-context-refactor (diff) | |
parent | shader_ir: Fixup clang build (diff) | |
download | yuzu-1f4ca1e841cd0b0427218d787efe10a3fa62df33.tar yuzu-1f4ca1e841cd0b0427218d787efe10a3fa62df33.tar.gz yuzu-1f4ca1e841cd0b0427218d787efe10a3fa62df33.tar.bz2 yuzu-1f4ca1e841cd0b0427218d787efe10a3fa62df33.tar.lz yuzu-1f4ca1e841cd0b0427218d787efe10a3fa62df33.tar.xz yuzu-1f4ca1e841cd0b0427218d787efe10a3fa62df33.tar.zst yuzu-1f4ca1e841cd0b0427218d787efe10a3fa62df33.zip |
Diffstat (limited to 'src/video_core/engines')
-rw-r--r-- | src/video_core/engines/shader_bytecode.h | 10 | ||||
-rw-r--r-- | src/video_core/engines/shader_header.h | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index e53c77f2b..cdef97bc6 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -397,6 +397,10 @@ struct IpaMode { bool operator!=(const IpaMode& a) const { return !operator==(a); } + bool operator<(const IpaMode& a) const { + return std::tie(interpolation_mode, sampling_mode) < + std::tie(a.interpolation_mode, a.sampling_mode); + } }; enum class SystemVariable : u64 { @@ -644,6 +648,7 @@ union Instruction { BitField<37, 2, HalfPrecision> precision; BitField<32, 1, u64> saturate; + BitField<31, 1, u64> negate_b; BitField<30, 1, u64> negate_c; BitField<35, 2, HalfType> type_c; } rr; @@ -1431,6 +1436,7 @@ public: PredicateSetRegister, RegisterSetPredicate, Conversion, + Video, Xmad, Unknown, }; @@ -1562,8 +1568,8 @@ private: INST("11100000--------", Id::IPA, Type::Trivial, "IPA"), INST("1111101111100---", Id::OUT_R, Type::Trivial, "OUT_R"), INST("1110111111010---", Id::ISBERD, Type::Trivial, "ISBERD"), - INST("01011111--------", Id::VMAD, Type::Trivial, "VMAD"), - INST("0101000011110---", Id::VSETP, Type::Trivial, "VSETP"), + INST("01011111--------", Id::VMAD, Type::Video, "VMAD"), + INST("0101000011110---", Id::VSETP, Type::Video, "VSETP"), INST("0011001-1-------", Id::FFMA_IMM, Type::Ffma, "FFMA_IMM"), INST("010010011-------", Id::FFMA_CR, Type::Ffma, "FFMA_CR"), INST("010100011-------", Id::FFMA_RC, Type::Ffma, "FFMA_RC"), diff --git a/src/video_core/engines/shader_header.h b/src/video_core/engines/shader_header.h index 99c34649f..cf2b76ff6 100644 --- a/src/video_core/engines/shader_header.h +++ b/src/video_core/engines/shader_header.h @@ -106,7 +106,7 @@ struct Header { } ps; }; - u64 GetLocalMemorySize() { + u64 GetLocalMemorySize() const { return (common1.shader_local_memory_low_size | (common2.shader_local_memory_high_size << 24)); } |