summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/ir/value.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-04-15 22:46:11 -0300
committerGravatar ameerj2021-07-22 21:51:27 -0400
commit183855e396cc6918d36fbf3e38ea426e934b4e3e (patch)
treea665794753520c09a1d34d8a086352894ec1cb72 /src/shader_recompiler/frontend/ir/value.h
parentshader: Mark atomic instructions as writes (diff)
downloadyuzu-183855e396cc6918d36fbf3e38ea426e934b4e3e.tar.gz
yuzu-183855e396cc6918d36fbf3e38ea426e934b4e3e.tar.xz
yuzu-183855e396cc6918d36fbf3e38ea426e934b4e3e.zip
shader: Implement tessellation shaders, polygon mode and invocation id
Diffstat (limited to 'src/shader_recompiler/frontend/ir/value.h')
-rw-r--r--src/shader_recompiler/frontend/ir/value.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/value.h b/src/shader_recompiler/frontend/ir/value.h
index a0962863d..303745563 100644
--- a/src/shader_recompiler/frontend/ir/value.h
+++ b/src/shader_recompiler/frontend/ir/value.h
@@ -9,6 +9,7 @@
9#include "shader_recompiler/frontend/ir/attribute.h" 9#include "shader_recompiler/frontend/ir/attribute.h"
10#include "shader_recompiler/frontend/ir/pred.h" 10#include "shader_recompiler/frontend/ir/pred.h"
11#include "shader_recompiler/frontend/ir/reg.h" 11#include "shader_recompiler/frontend/ir/reg.h"
12#include "shader_recompiler/frontend/ir/patch.h"
12#include "shader_recompiler/frontend/ir/type.h" 13#include "shader_recompiler/frontend/ir/type.h"
13 14
14namespace Shader::IR { 15namespace Shader::IR {
@@ -24,6 +25,7 @@ public:
24 explicit Value(IR::Reg value) noexcept; 25 explicit Value(IR::Reg value) noexcept;
25 explicit Value(IR::Pred value) noexcept; 26 explicit Value(IR::Pred value) noexcept;
26 explicit Value(IR::Attribute value) noexcept; 27 explicit Value(IR::Attribute value) noexcept;
28 explicit Value(IR::Patch value) noexcept;
27 explicit Value(bool value) noexcept; 29 explicit Value(bool value) noexcept;
28 explicit Value(u8 value) noexcept; 30 explicit Value(u8 value) noexcept;
29 explicit Value(u16 value) noexcept; 31 explicit Value(u16 value) noexcept;
@@ -46,6 +48,7 @@ public:
46 [[nodiscard]] IR::Reg Reg() const; 48 [[nodiscard]] IR::Reg Reg() const;
47 [[nodiscard]] IR::Pred Pred() const; 49 [[nodiscard]] IR::Pred Pred() const;
48 [[nodiscard]] IR::Attribute Attribute() const; 50 [[nodiscard]] IR::Attribute Attribute() const;
51 [[nodiscard]] IR::Patch Patch() const;
49 [[nodiscard]] bool U1() const; 52 [[nodiscard]] bool U1() const;
50 [[nodiscard]] u8 U8() const; 53 [[nodiscard]] u8 U8() const;
51 [[nodiscard]] u16 U16() const; 54 [[nodiscard]] u16 U16() const;
@@ -67,6 +70,7 @@ private:
67 IR::Reg reg; 70 IR::Reg reg;
68 IR::Pred pred; 71 IR::Pred pred;
69 IR::Attribute attribute; 72 IR::Attribute attribute;
73 IR::Patch patch;
70 bool imm_u1; 74 bool imm_u1;
71 u8 imm_u8; 75 u8 imm_u8;
72 u16 imm_u16; 76 u16 imm_u16;