diff options
Diffstat (limited to 'src/shader_recompiler/frontend/ir/attribute.h')
| -rw-r--r-- | src/shader_recompiler/frontend/ir/attribute.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/attribute.h b/src/shader_recompiler/frontend/ir/attribute.h index 8bf2ddf30..ca1199494 100644 --- a/src/shader_recompiler/frontend/ir/attribute.h +++ b/src/shader_recompiler/frontend/ir/attribute.h | |||
| @@ -222,6 +222,8 @@ enum class Attribute : u64 { | |||
| 222 | FrontFace = 255, | 222 | FrontFace = 255, |
| 223 | }; | 223 | }; |
| 224 | 224 | ||
| 225 | constexpr size_t NUM_GENERICS = 32; | ||
| 226 | |||
| 225 | [[nodiscard]] bool IsGeneric(Attribute attribute) noexcept; | 227 | [[nodiscard]] bool IsGeneric(Attribute attribute) noexcept; |
| 226 | 228 | ||
| 227 | [[nodiscard]] u32 GenericAttributeIndex(Attribute attribute); | 229 | [[nodiscard]] u32 GenericAttributeIndex(Attribute attribute); |
| @@ -230,6 +232,10 @@ enum class Attribute : u64 { | |||
| 230 | 232 | ||
| 231 | [[nodiscard]] std::string NameOf(Attribute attribute); | 233 | [[nodiscard]] std::string NameOf(Attribute attribute); |
| 232 | 234 | ||
| 235 | [[nodiscard]] constexpr IR::Attribute operator+(IR::Attribute attribute, size_t value) noexcept { | ||
| 236 | return static_cast<IR::Attribute>(static_cast<size_t>(attribute) + value); | ||
| 237 | } | ||
| 238 | |||
| 233 | } // namespace Shader::IR | 239 | } // namespace Shader::IR |
| 234 | 240 | ||
| 235 | template <> | 241 | template <> |